← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

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.

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.

- 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