ffc team mailing list archive
-
ffc team
-
Mailing list archive
-
Message #03400
Current ffc-dev status element/dofmap
Summary of current status for non-mixed elements:
- CG matches old results for (at least) k = 1, ..., 4, which is good :)
Errors:
(1) The generated code for evaluate_basis_derivatives_all for DG_0 does
not compile.
Changes in output:
(i) num_sub_elements is 0 instead of 1 for all non-mixed elements
(ii) The ordering of the degrees of freedom for DG has changed. This
affects evaluate_dof, interpolate_vertex_value and tabulate_coordinates.
Hence, the output from these functions will not match reference. The
results look correct in the eye-norm though.
(iii) There is a bug in the ffc-stable codegenerator_utils.py
'inner_product' (-1*1 = 1)! This affects interpolate_vertex_values
for H(div/curl) elements (at least). The old values are wrong. The new
values look right.
(iv) FIAT has changed the dofs for interior moments for H(div/curl)
elements. This affects evaluate_dof, tabulate_coordinates etc.
Bottom-line: Things look good. I'll go through the higher-order
H(div/curl) elements in FIAT and add suitable unit tests.
For mixed elements such as
element = MixedElement([VectorElement('CG', 'triangle', 3),
FiniteElement('DG', 'triangle', 2)])
I'm still getting errors like:
This is FFC, the FEniCS Form Compiler, version 0.7.1.
For further information, visit http://www.fenics.org/ffc/.
Compiler stage 1: Analyzing form(s)
-----------------------------------
Compiler stage 1 finished in 0.000413179 seconds.
Compiler stage 2: Computing intermediate representation
-------------------------------------------------------
Computing representation of 3 elements
Reusing element from cache
Reusing element from cache
Reusing element from cache
Reusing element from cache
Traceback (most recent call last):
File "/home/meg/local/bin/ffc", line 167, in <module>
sys.exit(main(sys.argv[1:]))
File "/home/meg/local/bin/ffc", line 151, in main
compile_element(ufd.elements, ufd.object_names, prefix, options)
File "/home/meg/local/lib64/python2.6/site-packages/ffc/compiler.py",
line 181, in compile_element
ir = compute_ir(analysis, options)
File
"/home/meg/local/lib64/python2.6/site-packages/ffc/representation.py",
line 52, in compute_ir
ir_elements = [_compute_element_ir(e, i, element_map) for (i, e) in
enumerate(elements)]
File
"/home/meg/local/lib64/python2.6/site-packages/ffc/representation.py",
line 92, in _compute_element_ir
ir["create_sub_element"] = _create_sub_foo(ufl_element, element_map)
File
"/home/meg/local/lib64/python2.6/site-packages/ffc/representation.py",
line 316, in _create_sub_foo
return [element_map[e] for e in ufl_element.sub_elements()]
KeyError: FiniteElement('Lagrange', Cell('triangle', 1, Space(2)), 3)
--
Marie
Follow ups