← Back to team overview

ffc team mailing list archive

Re: Current ffc-dev status element/dofmap

 



2010/1/22 Marie Rognes <meg@xxxxxxxxx>:


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.

I've fixed this.

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:

Fixed.

Kristian


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

_______________________________________________
Mailing list: https://launchpad.net/~ffc
Post to     : ffc@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ffc
More help   : https://help.launchpad.net/ListHelp


Attachment: signature.asc
Description: OpenPGP digital signature


References