dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #22858
Re: Dealing with incomplete UFL finite elements
On Wednesday April 27 2011 12:03:56 Martin Sandve Alnæs wrote:
> On 27 April 2011 19:07, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
> > I'm starting here a new thread on how to deal with the recent change in
> > UFL that has broken a good number of DOLFIN demos. The previous thread
> > meandered and got side-tracked.
> >
> > The framework in we need to operate is:
> >
> > A. UFL will not allow forms to be modified post-construction.
> >
> > B. It should be relatively easy to replace ufl.Coefficients in a form
> > and return a new form.
> >
> > C. The issue with replacing ufl.Coefficients is that we lose DOLFIN data
> > (like the eval() functions) associated with the removed coefficients.
> >
> >
> > I'll kick off with the obvious solution:
> >
> > 1. Require that all DOLFIN Expressions are associated with a
> > ufl.FiniteElement.
> >
> > Other solutions?
> >
> > Garth
>
> 2. At the stage when ffc calls ufl.preprocess, or even in ufl.preprocess,
> let the preprocessed form contain ufl Coefficients with new elements in
> place of the dolfin.Expressions. This is similar to the replacements done
> for renumbering of Coefficients, and could either be done simultaneously or
> as an additional step. The original Form and Expression objects will be
> untouched, and the preprocessed form will be fine.
+
However, setting cell and degree is done during analysis and relies on
form_data. The form is also preprocessed when the form_data is extracted. This
means that for the preprocessed form to get correct signature, cell and
degrees being set, we need to break up the logic.
1) extract form_data
2) set degree and cell
3) genererate preprocessed form
Johan
Johan
> Martin
Follow ups
References