Hi Will,
Your error is occuring in FFC. FFC has not been a part of Firedrake for
quite some time now, so your first issue is that your firedrake is old.
Please run firedrake-update and try again.
Regards,
David
On Fri, 18 Mar 2016 at 13:22 William Booker <scwb(a)leeds.ac.uk> wrote:
> Dear all,
>
> I've been trying to compile the attached code for a compressible acoustic
> wave, but I've been getting the following error.
>
> How do I fix this?
>
> Traceback (most recent call last):
> File "compressible_acoustic.py", line 118, in <module>
> solve(a == L, out)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving.py",
> line 120, in solve
> _solve_varproblem(*args, **kwargs)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving.py",
> line 147, in _solve_varproblem
> solver.solve()
> File "<decorator-gen-277>", line 2, in solve
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/profiling.py",
> line 203, in wrapper
> return f(*args, **kwargs)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/variational_solver.py",
> line 173, in solve
> self.snes.solve(None, v)
> File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve
> (src/petsc4py.PETSc.c:169677)
> File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function
> (src/petsc4py.PETSc.c:33478)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving_utils.py",
> line 187, in form_function
> nest=problem._nest)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/assemble.py",
> line 68, in assemble
> inverse=inverse, nest=nest)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/assemble.py",
> line 101, in _assemble
> inverse=inverse)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/ffc_interface.py",
> line 279, in compile_form
> ffc_kernel = FFCKernel(f, name + str(i) + str(j), parameters)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/caching.py",
> line 203, in __new__
> obj = make_obj()
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/caching.py",
> line 193, in make_obj
> obj.__init__(*args, **kwargs)
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/ffc_interface.py",
> line 188, in __init__
> ffc_tree = ffc_compile_form(form, prefix=name, parameters=parameters)
> File "build/bdist.linux-x86_64/egg/ffc/compiler.py", line 159, in
> compile_form
> File "build/bdist.linux-x86_64/egg/ffc/representation.py", line 108, in
> compute_ir
> File "build/bdist.linux-x86_64/egg/ffc/representation.py", line 351, in
> _compute_integral_ir
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py",
> line 95, in compute_integral_ir
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py",
> line 191, in _transform_integrals_by_type
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py",
> line 223, in _transform_integrals
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 772, in generate_terms
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 548, in index_sum
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 511, in indexed
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 724, in component_tensor
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 103, in visit
> r = h(o, *[self.visit(op) for op in o.ufl_operands])
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 511, in indexed
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 668, in negative_restricted
> File
> "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py",
> line 107, in visit
> r = h(o)
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 474, in coefficient
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/optimisedquadraturetransformer.py",
> line 558, in create_function
> File
> "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py",
> line 1290, in _create_function_name
> UnboundLocalError: local variable 'loop_index' referenced before assignment
>
>
>
>