← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

Quoting Peter Brune <prbrune@xxxxxxxxx>:

> This already seems to exist in FIAT through the make_quadrature_by_degree
> function.  This could just be swapped out in fem/quadrature.py

Yes, it looks like it. However, we still need to put the 'rule' argument in
there. I'll wait for this before changing things.

Kristian

> - Peter
>
> On Mon, Jul 6, 2009 at 8:40 AM, Kristian Oelgaard
> <k.b.oelgaard@xxxxxxxxxx>wrote:
>
> > Quoting Peter Brune <prbrune@xxxxxxxxx>:
> >
> > > It seems that this would just be another level through which one has to
> > pass
> > > an option.  I suppose that this would allow for EVERYTHING FENICS to use
> > the
> > > new rules immediately.
> >
> > Yes, but I think it makes sense to let FIAT compute the quadrature scheme
> > when
> > we rely on it for tabulating the basis at those points later on anyway.
> >
> > > On that note, I have the Möller-Grundmann rules coded up in such a way
> > that
> > > FFC can use it, and have done some brief tests.  It seems to generate
> > more
> > > points than the squashed rule in 2D, but significantly less points in 3D
> > (as
> > > I could have guessed).  The FFC "number of points in each dimension" way
> > of
> > > specifying rules sort of doesn't apply here, either, so I basically have
> > to
> > > just go for the equivalent 2n + 1 order rule to match things up.  There's
> > > also the issue of exploiting the symmetry.
> >
> > The 'number of points in each dimension' way should be changed, and I think
> > that
> > by changing FIAT such that it takes a (shape, order, rule) set of arguments
> > when
> > creating the rule will do the trick.
> >
>
>
> > Kristian
> >
> > > - Peter
> > >
> > > On Mon, Jul 6, 2009 at 8:13 AM, Robert Kirby <robert.c.kirby@xxxxxxxxx
> > >wrote:
> > >
> > > > Such rules may best be put into FIAT, and then propogated into ffc.
> > > >
> > > > Rob
> > > >
> > > > On Mon, Jul 6, 2009 at 6:03 AM, Kristian Oelgaard <
> > k.b.oelgaard@xxxxxxxxxx
> > > > > wrote:
> > > >
> > > >> Quoting Kristian Oelgaard <k.b.oelgaard@xxxxxxxxxx>:
> > > >>
> > > >> > Quoting Peter Brune <prbrune@xxxxxxxxx>:
> > > >> >
> > > >> > > Some recent discussions and problems that have cropped up have led
> > me
> > > >> to
> > > >> > > need/want to add some specialized quadrature rules to FFC.  These
> > > >> include
> > > >> > > "optimal" combinatorially-derived rules for given order
> > polynomials
> > > >> for the
> > > >> > > n-simplex, as well as rules that can be explicitly guaranteed to
> > have
> > > >> > > certain properties (positivity, all-internal-nodes, etc)
> > > >> > >
> > > >> > > Does anyone else need anything like this?  I already have
> > > >> implementations
> > > >> > of
> > > >> > > a few nice rules for higher-dimensional applications, but have
> > started
> > > >> to
> > > >> > > adapt them for this purpose.  Ideally we would be able to specify
> > a
> > > >> rule in
> > > >> > > the ffc command.  I'm looking at where to put this.
> > > >> >
> > > >> > So on the command line we should be able to do:
> > > >> >
> > > >> > ffc --quadrature-rule some_string
> > > >> > or
> > > >> > ffc -q some_string
> > > >> >
> > > >> > and then in the file ffc/fem/quadrature.py in the function
> > > >> > make_quadrature() there should be an extra argument
> > > >> >
> > > >> > make_quadrature(shape, n, quad_rule)
> > > >> >
> > > >> > with default None? Then you can just put your code and some switches
> > in
> > > >> this
> > > >> > file.
> > > >> > I can add the command line option and propagate it to the
> > > >> make_quadrature()
> > > >> > function, at least for quadrature representation, if nobody objects.
> > > >>
> > > >> I added this to FFC, just add your rules to the make_quadrature()
> > > >> function.
> > > >>
> > > >> Kristian
> > > >>
> > > >> >
> > > >> > > There are other potential benefits to this move.  If we were to
> > switch
> > > >> to
> > > >> > > rules we have definite information about, we could use, say, group
> > > >> symmetry
> > > >> > > properties, combined with symmetry properties of the unknowns, for
> > > >> further
> > > >> > > optimization of the form compilation by quadrature.  We would
> > already
> > > >> win,
> > > >> > > especially in 3D, by getting away from the squashed rules and
> > towards
> > > >> rules
> > > >> > > that are more optimal.
> > > >> >
> > > >> > This would be nice.
> > > >> >
> > > >> > Kristian
> > > >> >
> > > >> > > - Peter
> > > >> > >
> > > >> >
> > > >> >
> > > >> > _______________________________________________
> > > >> > FFC-dev mailing list
> > > >> > FFC-dev@xxxxxxxxxx
> > > >> > http://www.fenics.org/mailman/listinfo/ffc-dev
> > > >> >
> > > >>
> > > >>
> > > >> _______________________________________________
> > > >> FFC-dev mailing list
> > > >> FFC-dev@xxxxxxxxxx
> > > >> http://www.fenics.org/mailman/listinfo/ffc-dev
> > > >>
> > > >
> > > >
> > > > _______________________________________________
> > > > FFC-dev mailing list
> > > > FFC-dev@xxxxxxxxxx
> > > > http://www.fenics.org/mailman/listinfo/ffc-dev
> > > >
> > > >
> > >
> >
> >
> >
>




References