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@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