← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

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