← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

On Tue, Jul 7, 2009 at 9:40 AM, Robert Kirby <robert.c.kirby@xxxxxxxxx>wrote:

> Hi, I'm about to be on vacation with the family for a while, but let me say
> there are two issues here:1.) It is relatively easy to add rules into FIAT
> (when one is not otherwise occupied) as a list of weights
> and points.  There would be a small amount of work to add an option to use
> them in ffc.  I originally
> did the current rules because they were only used for creating integral
> moments in FIAT.  I definitely see
> the need for other rules, and would be glad to add them or have someone
> else do so.
>

I already put one into (my local copy) of FFC... I'll move it downstream and
send you the patch when appropriate.  Ideally we would have a whole forest
of potential rules with different properties.


>
> 2.) Optimally exploiting quadrature rules is still a research topic.  When
> ffc better supports matrix actions,
> techniques like sum factorization on the smashed rules give big speedups.
>  There may be ways of doing
> things with group structure in symmetric rules.
>

Also -- looking at this. :)  You should be able to look at some barycentric
representation of both the quadrature and basis and do something nice in
terms of eliminating permutation-equivalent things.  Python makes all this
EXCEEDINGLY easy to test!

- Peter


> Regarding mixed elements, I don't really want to be convinced to tabulate a
> bunch of zeros.  The semantics of
> the tensor product of bases can be achieved without blowing these things up
> the memory usage and having to
> strip out the zeros later.
>
>

>
>
> On Mon, Jul 6, 2009 at 9:37 AM, Anders Logg <logg@xxxxxxxxx> wrote:
>
>> On Mon, Jul 06, 2009 at 04:35:45PM +0200, Anders Logg wrote:
>> > On Mon, Jul 06, 2009 at 03:34:29PM +0200, Kristian Oelgaard wrote:
>> > > 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.
>> >
>> > Almost. I would like to be able to use the FIAT FiniteElement class
>> > directly from FFC without wrapping it. For that to work, some (small)
>> > changes will be needed on the FIAT side (and some on the FFC side).
>> >
>> > One thing that we currently handle in FFC which FIAT can't handle is
>> > the MixedElement class. This needs to tabulate basis functions for a
>> > list of elements with zeros inserted (taking the tensor product). Rob
>> > has not wanted to put this into FIAT before, but maybe he can be
>> > convinced... :-)
>>
>> And while we're on the subject, should it be
>>
>>  TH = P2 + P1 (what we have now)
>>
>> or
>>
>>  TH = P2 * P1
>>
>> ?
>>
>> Someone mentioned it to me recently, I think it was Kristian.
>>
>> --
>> Anders
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.9 (GNU/Linux)
>>
>> iEYEARECAAYFAkpSDDQACgkQTuwUCDsYZdGd/QCghMVQO77GvzGsVOl2LTUF2ZsQ
>> BLQAn2IHvOem0ZU66wTl//sZT/ude4K2
>> =nbji
>> -----END PGP SIGNATURE-----
>>
>>
>
> _______________________________________________
> FFC-dev mailing list
> FFC-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/ffc-dev
>
>

References