← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

Quoting Robert Kirby <robert.c.kirby@xxxxxxxxx>:

> Such rules may best be put into FIAT, and then propogated into ffc.

That would be great, the infrastructure is in place on the FFC side, for
quadrature representation, it is just a matter of deciding on a naming
convention and then have FIAT accepting an additional string argument when
generating the rules.

I also know that Anders would like to move a lot of other things (like the
finite element classes) from the ffc/fem module to FIAT in order to shrink the
code base, but I'll let him comment on the details.

Kristian

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




Follow ups

References