ufl team mailing list archive
-
ufl team
-
Mailing list archive
-
Message #00719
Re: polynomial order of form
Quoting Martin Sandve Alnæs <martinal@xxxxxxxxx>:
> On Fri, Feb 13, 2009 at 2:03 PM, Kristian Oelgaard
> <k.b.oelgaard@xxxxxxxxxx> wrote:
> > Quoting "Garth N. Wells" <gnw20@xxxxxxxxx>:
> >
> >>
> >>
> >> Kent Andre wrote:
> >> > On fr., 2009-02-13 at 13:32 +0100, Martin Sandve Alnæs wrote:
> >> >> On Fri, Feb 13, 2009 at 1:20 PM, Kristian Oelgaard
> >> >> <k.b.oelgaard@xxxxxxxxxx> wrote:
> >> >>> Quoting Martin Sandve Alnæs <martinal@xxxxxxxxx>:
> >> >>>
> >> >>>> On Fri, Feb 13, 2009 at 11:53 AM, Kristian Oelgaard
> >> >>>> <k.b.oelgaard@xxxxxxxxxx> wrote:
> >> >>>>>
> >> >>>>> Hello,
> >> >>>>>
> >> >>>>> Any thoughts on how to implement a better rule for determining the
> >> >>>> polynomial
> >> >>>>> order of a form?
> >> >>>>>
> >> >>>>> as it is now the forms:
> >> >>>>>
> >> >>>>> a = v*u*dx
> >> >>>>> a = f*v*u*dx
> >> >>>>> a = f*f*f*.....*v*u*dx
> >> >>>>> a = inner(grad(v), grad(u))*dx
> >> >>>>>
> >> >>>>> all result in the same order (2 for linear basis functions)
> >> >>>> What do we want? Add the degrees of all functions and basis
> functions
> >> >>>> that are multiplied? Should be possible to do.
> >> >
> >> > In general I don't think this is what you 'want' to do.
> >> > It is common to use the same quadrature rules for
> >> > a = inner(grad(v), grad(u))*dx
> >> > and
> >> > a = f*inner(grad(v), grad(u))*dx
> >> >
> >> > even though f is a function.
> >
> > Sure, but I do believe the default should be correct integration.
> > If it is possible to have different orders it might have an impact on the
> > performance of the code which will allow the default for the compilers to
> be
> > 'correct AND fast' code.
> > Through the meta data the user is given the opportunity of changing the
> rules,
> > typically decreasing the order to gain speed by sacrificing accuracy.
> >
> >> > It would however be nice to choose quadrature rule by setting some kind
> >> > of meta data.
> >> >
> >>
> >> We discussed attaching this data to the integration operators a while
> >> ago and there was general agreement.
> >
> > Yes, and it would not be a problem to override the default values if any
> > instructions are set.
> >
> > Kristian
>
> Attaching metadata to an integral is implemented, but we
> haven't decided what format the metadata should be in.
>
> This currently works:
>
> metadata = "arbitrary data"
> metadata2 = "other arbitrary data"
>
> a = f*dx(0, metadata) + g*dx(0, metadata2) + g*dx(0, metadata)
>
> which will result in a Form with two Integrals with integrands
> (f+g) and (g) since the first and last term has the same domain and data.
It looks good and I think that we're fully covered if we combine the above with
the algorithms to split the integrand according to order.
Again, I was just curious to know which functionality that comes with UFL but I
think we can safely close this discussion.
Kristian
> Martin
>
References