On 2/26/24 00:15, Javier Almonacid wrote:
>
> 1) Use the cell quadrature points to reconstruct a finite element function
> defined on the cell.
> 2) Take the trace of this function along the boundary face.
> 3) Evaluate it at face quadrature points.
>
> Any thoughts on how to implement this?
There are functions in namespace FETools that allow you to do things such as
the projection in the first step:
https://dealii.org/developer/doxygen/deal.II/namespaceFETools.html
Specifically, the functions that start with
'compute_projection_from_quadrature_point'.
You would then use the output of these functions to call
cell->set_dof_values(...)
with a DoFHandler object that described the finite element field you're
projecting onto, along with a solution vector.
The second and third step can then be done using FEFaceValues.
I believe that it's possible to avoid the detour via a global DoFHandler and
work entirely locally on a single cell if you call the
FEFaceValues::get_function_values() functions that only take a local vector
(rather than putting the local vector you get from the FETools functions into
a global vector), but that may be a bit harder to achieve.