← Back to team overview

dolfin team mailing list archive

Re: curved elements

 

> It does support fractions, but maybe I don't quite follow your
> objection. It's difficult to give pointers when the code in question
> is secret....
>
>
Point #1:
http://bazaar.launchpad.net/~unicorn-core/unicorn/unstable/view/head:/ucsolver/icns-iso/unicorn/isoparametry.pyseems
pretty out in the open to me.  It just got left in the context where I
built it due to general apathy and frustration with FFC and the half-based
interface and implementation designs people were proposing.

Point #2: The error I get is:

Compiler stage 3: Optimizing intermediate representation
--------------------------------------------------------
  Optimising expressions for cell integral
Traceback (most recent call last):
  File "/home/prbrune/fenics/fenics_tip/local/bin/ffc", line 176, in
<module>
    sys.exit(main(sys.argv[1:]))
  File "/home/prbrune/fenics/fenics_tip/local/bin/ffc", line 157, in main
    compile_form(ufd.forms, ufd.object_names, prefix, parameters)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/compiler.py",
line 145, in compile_form
    oir = optimize_ir(ir, parameters)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/optimization.py",
line 38, in optimize_ir
    oir_integrals = [_optimize_integral_ir(ir, parameters) for ir in
ir_integrals]
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/optimization.py",
line 56, in _optimize_integral_ir
    oir = r.optimize_integral_ir(ir, parameters)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/quadrature/quadratureoptimization.py",
line 32, in optimize_integral_ir
    _simplify_expression(integrals, geo_consts, psi_tables_map)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/quadrature/quadratureoptimization.py",
line 60, in _simplify_expression
    value = optimise_code(val, ip_consts, geo_consts, t_set)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/quadrature/symbolics.py",
line 182, in optimise_code
    ip_expressions = ip_expr.expand().reduce_vartype(IP)
  File
"/home/prbrune/fenics/fenics_tip/local/lib/python2.6/site-packages/ffc/quadrature/fraction.py",
line 287, in reduce_vartype
    raise RuntimeError("This case is not handled")
RuntimeError: This case is not handled

from running  ffc -l dolfin -O --verbose Volume.ufl on the code in Point #3.

Point #3: Code that works with modern FEniCS tools:
https://bitbucket.org/prbrune/isoparametry/

I just spent a plane ride writing up a README and comments, but ask any
additional questions.  It turns out that P2 with P2 coordinates is
interestingly only 3X slower, so I don't know what's up with P1 (other than
very good optimization of the original assembly)  In any case I'm declaring
victory.

Point #4: I am not going to put substantial effort into this until June as
it is not part of my thesis.  Do with it what you will.

- Peter

Follow ups

References