← Back to team overview

dolfin team mailing list archive

Re: curved elements

 

On 24 March 2011 18:13, Peter Brune <prbrune@xxxxxxxxx> wrote:
>
>> 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.py
> seems 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.

Could you file a FFC bug report on a reduced (if possible) version of
Volume.ufl, so it doesn't get lost?

Kristian

> 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