← Back to team overview

ffc team mailing list archive

Re: quadrature optimisations

 

On Tue, Apr 29, 2008 at 01:37:04PM +0200, Kristian Oelgaard wrote:
> Quoting Anders Logg <logg@xxxxxxxxx>:
> 
> > On Tue, Apr 29, 2008 at 08:29:18AM +0100, Garth N. Wells wrote:
> > >
> > >
> > > Kristian Oelgaard wrote:
> > >> Quoting Anders Logg <logg@xxxxxxxxx>:
> > >>
> > >>> On Mon, Apr 28, 2008 at 08:25:53PM +0200, Kristian Oelgaard wrote:
> > >>>
> > >>>> # 2D plasticity, cases
> > >>>> 1) 1st order elements, mesh(1000, 1000)
> > >>>> 2) 2nd order elements, mesh(500, 500)
> > >>>> 3) 3rd order elements, mesh(250, 250)
> > >>>> 4) 4th order elements*, mesh(125, 125)
> > >>>>
> > >>>> *Note that because the bilinear form in this case is a 9th order form
> > we
> > >>> take
> > >>>> the number of quadrature points equal to 5 when declaring the
> > quadrature
> > >>> element.
> > >>>
> > >>> Another optimization would be to reduce the number of quadrature
> > >>> points. If your method is order p, then you only need to integrate the
> > >>> form with quadrature exact for degree p polynomials. So in particular,
> > >>> you don't necessarily need many quadrature points just because the
> > >>> integrand has many factors.
> > >>
> > >> I don't quite follow. If the displacement field is 4th order, the gradient
> > is
> > >> 3rd order and the bilinear form is 9th order? And since 5 integration
> > points
> > >> can integrate 2*5-1 = 9th order polynomials exactly I would say we should
> > use
> > >> 5 integration points in each direction. This is also what the
> > >> __init_quadrature() and __compute_degree() functions in
> > monomialintegration.py
> > >> will return.
> > >>
> > >
> > > I think the point Anders is making is that you don't need exact
> > quadrature.
> > >
> > > Garth
> > 
> > Yes. The quadrature order should be chosen to retain the convergence
> > of the numerical scheme. Integrating exactly may be overkill. That
> > will speedup quadrature even further.
> 
> OK. If FIAT could return only 4 quadrature points instead of 2x2x2 = 8, the
> integration is still exact and it would make life a lot easier for both tensor
> and quadrature representation.
> 
> Kristian

I guess so. The quadrature in FIAT is not optimal. It hasn't really
been necessary to consider this before since it didn't affect
run-time.

-- 
Anders


References