Thread Previous • Date Previous • Date Next • Thread Next |
On Thu, Jan 1, 2009 at 11:30 PM, Garth N. Wells <gnw20@xxxxxxxxx> wrote: > > > Martin Sandve Alnæs wrote: >> >> The wiki isn't quite updated, but go ahead. Or you can just send them >> here. >> > > It would be useful an integration scheme could be attached to integrals > (dx0, dx1, etc). This would make selective integration schemes simple to > implement. > > Garth Ok, adding any kind of metadata to Integral poses no problems. How should it look? How general can we make it? Currently you can do: dx0 = dx(0) We could add something like: quad_order = 3 quad_rule = [ (1.0/3.0, (0.0, 0.0)), (1.0/3.0, (1.0, 0.0)) (1.0/3.0, (0.0, 1.0)) ] integration_scheme1 = IntegrationScheme(quad_order) integration_scheme2 = IntegrationScheme(quad_rule) dx0 = dx(0, integration_scheme1) dx1 = dx(1, integration_scheme2) a = u*v*dx0 + f*v*dx1 where quad_order is the minimum order of the quadrature scheme wanted. The default integration scheme is undefined (None) in which case the form compiler decides. IntegrationScheme can in principle be arbitrarily complex, even containing known quadrature rules. Alternatively, we can skip the IntegrationScheme class: dx0 = dx(0, 3) dx1 = dx(0, quad_rule) In the case of facet integrals, the points are defined on a single reference polygon. How should we handle non-quadrature integration options? (And using functions on quadrature elements in an integral with different quadrature rule is an error.) Martin
Thread Previous • Date Previous • Date Next • Thread Next |