← Back to team overview

ufl team mailing list archive

Re: polynomial order of form

 

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.

Yes, I think it will be enough if we do it like that, taking into account
derivatives too.
 
> > Also, what is the strategy for handling the form
> >
> > a = (inner(grad(v), grad(u)) + v*u)*dx ?
> >
> > will the order of the form be determined by the highest order, or will it
> be
> > possible to split the integrand according to order? The latter could get
> > complicated for forms like:
> >
> > a = f*(inner(grad(v), grad(u)) + v*u))*dx
> 
> If I got it right, lhs and rhs can handle splitting of arbitrary forms by
> arity,
> so it should be possible to do the same for terms with different order.

OK, sounds great. I think this is exactly the kind of functionality I was
looking for.
 
> > I do notice the # TODO in formdata.py, I'm just curious.
> >
> > Kristian
> 
> Note that I use the convention
> FIXME: High priority issue
> TODO: Low priority issue

OK, good to know.
 
> Since this obviously can be postphoned until after we get things
> working in general.

Depends how you define 'working in general', I would say getting a correct
integration of a = f*f*f*f*v*dx is part of 'working in general' :)

Kristian
 
> Martin
> 




Follow ups

References