build_tables break with present dev versions

Issue #20 resolved
Johan Hake created an issue

With present master versions of ffc/ufl/dolfin/uflacs the following code breaks:

from dolfin import *
parameters["form_compiler"]["representation"] = "uflacs"
mesh = UnitSquareMesh(10,10)
V = FunctionSpace(mesh, "CG", 1)

Comments (3)

  1. Johan Hake reporter

    Stack trace:

    Calling FFC just-in-time (JIT) compiler, this may take some time.
    Traceback (most recent call last):
      File "uflacs_bug.py", line 4, in <module>
        V = FunctionSpace(mesh, "CG", 1)
      File "/home/hake/local/lib/python2.7/site-packages/dolfin/functions/functionspace.py", line 403, in __init__
        FunctionSpaceBase.__init__(self, mesh, element, constrained_domain)
      File "/home/hake/local/lib/python2.7/site-packages/dolfin/functions/functionspace.py", line 84, in __init__
        ufc_element, ufc_dofmap = jit(self._ufl_element)
      File "/home/hake/local/lib/python2.7/site-packages/dolfin/compilemodules/jit.py", line 60, in mpi_jit
        return local_jit(*args, **kwargs)
      File "/home/hake/local/lib/python2.7/site-packages/dolfin/compilemodules/jit.py", line 122, in jit
        return jit_compile(form, parameters=p, common_cell=common_cell)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/jitcompiler.py", line 76, in jit
        return jit_element(ufl_object, parameters)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/jitcompiler.py", line 252, in jit_element
        compiled_form, module, form_data, prefix = jit_form(form, parameters)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/jitcompiler.py", line 208, in jit_form
        parameters=parameters)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/compiler.py", line 166, in compile_form
        code = generate_code(oir, prefix, parameters)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/codegeneration.py", line 80, in generate_code
        code_integrals = [_generate_integral_code(ir, prefix, parameters) for ir in ir_integrals]
      File "/home/hake/local/lib/python2.7/site-packages/ffc/codegeneration.py", line 194, in _generate_integral_code
        code = r.generate_integral_code(ir, prefix, parameters)
      File "/home/hake/local/lib/python2.7/site-packages/ffc/uflacsrepr/uflacsgenerator.py", line 35, in generate_integral_code
        ucode = uflacs.backends.ffc.generate_tabulate_tensor_code(ir, parameters)
      File "/home/hake/local/lib/python2.7/site-packages/uflacs/backends/ffc/ffc_compiler.py", line 180, in generate_tabulate_tensor_code
        dependency_handler.terminal_data)
      File "/home/hake/local/lib/python2.7/site-packages/uflacs/backends/ffc/ffc_compiler.py", line 113, in build_tables
    element, flat_component, derivatives)
      File "/home/hake/local/lib/python2.7/site-packages/uflacs/algorithms/table_utils.py", line 78, in get_ffc_table_values
        num_dofs = len(element_table.itervalues().next()[derivative_counts])
    KeyError: (0, 0)
    
  2. Log in to comment