← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

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

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

Follow ups

References