← Back to team overview

dolfin team mailing list archive

Re: Future work

 


On Apr 24, 2006, at 2:07 AM, Johan Hoffman wrote:

It appears that the most straightforward (and general?) way to implement surface integrals would be to just integrate the cell basis functions over a boundary/interior facet. Possibly by first throwing away dofs that are zero on the facet. Using the "trace_tabulate" of FIAT this should be too
much work?


You have to be a little careful here -- yes you can throw away zero dofs on a facet *if* you are integrating the function. Sometimes you want to integrate derivatives. That makes things more complicated.


On the DOLFIN side we would get element matrices corresponding to all dofs of the cell also when looping over (boundary) edges, typically with a lot of zero entries. There may be some optimizations here to consider, but the
general algorithm seems rather clear, or?

On the FFC side, the reference tensor needs to be modified (using FIAT
trace_tabulate?) to reflect integration over an edge/face instead of over
the whole cell.


Yes, you also need to use the lower-dimensional quadrature rules, etc. This should just require being careful and not necessarily addressing any major conceptual problems. Except maybe getting the orientation correct -- you might need different routines for doing boundary integrals if for each possibly local boundary number/ orientation.

Rob






Follow ups

References