dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02451
Re: Future work]
On Mon, Apr 24, 2006 at 03:28:40PM +0200, 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?
> >>
> >> 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?
> >>
> >
> > I wouldn't worry about any optimisations yet. The time to assemble over
> > boundary cells will be small relative to the assembly over all cells.
> > DOLFIN is pretty much ready for this - the code will mirror the assembly
> > over all cells.
> >
> >> 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.
> >>
> >
> > I started poking around the FFC code to understand FCC and look at
> > boundary integrals should be incorporated. Have you already started on
> > it Johan? If so, I'll wait on it, or if you need any help point me in
> > right direction.
>
> I have not started to code. I would guess the place to start is:
> ffc/src/ffc/compiler/referencetensor.py
>
> And also: ffc/src/ffc/compiler/integrator.py, where FIAT is used.
>
> /Johan
I'm leaving Chicago on Saturday so packing takes up most of my time,
but I'll try to put together a little sketch of what needs to be done
in FFC later today.
/Anders