← Back to team overview

dolfin team mailing list archive

Re: curved elements

 

On Thu, Mar 24, 2011 at 12:41 PM, Kristian Ølgaard
<k.b.oelgaard@xxxxxxxxx>wrote:

> 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?
>
>
Done.  I recreated it as simply as possible and filed a bug report.

- Peter


> 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
> >
>

References