← Back to team overview

ffc team mailing list archive

Re: General / Special quadrature rules in FFC

 

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.

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.

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

Follow ups

References