← Back to team overview

dolfin team mailing list archive

[Fwd: Re: Future work]

 

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






Follow ups