← Back to team overview

ffc team mailing list archive

Re: quadrature optimisations

 



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

Kristian
A related optimization can be done for tensor representation by
projecting coefficients to a lower order space (like piecewise
constants).

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