Project cell quadrature point data to boundary

124 views
Skip to first unread message

Javier Almonacid

unread,
Feb 21, 2024, 5:10:18 PM2/21/24
to deal.II User Group
Hi everyone,

Is there any method already implemented in deal.II to project cell-based quadrature point data onto the boundary? The end goal is to compute some forces on the surface in step-44 and for that, I need to project the Kirchhoff stresses (tau) onto the boundary. 

An idea that occurred to me was to first project the quadrature point data into a more global element with DOFs (a finite element function) using one of the recommended extensions in step-18. However, I don't know if this is a good start because then the problem is how to project this object (coming from say, FE_DGQ) onto the boundary (these are all cell-wise operations by the way, as in step-18).

Any help would be appreciated.

Thanks,
Javier

Wolfgang Bangerth

unread,
Feb 23, 2024, 5:44:15 AM2/23/24
to dea...@googlegroups.com
Javier,
do I understand correctly that you have some quantity (in your case the
Kirchhoff stress) stored at quadrature points of each cell only, and you
wonder how you could get an approximation of that quantity at points on the
faces of that cell?

I can think of a number of ways of doing this, including interpolating or
projecting onto a finite element field and evaluating it, but also just taking
the cell-q_point that is closest to the face-q_point. In the end, can I ask
you for a concise mathematical definition of what you want to do first, and
then one can think of how to implement it?

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/


Message has been deleted

Javier Almonacid

unread,
Feb 26, 2024, 2:15:23 AM2/26/24
to deal.II User Group
Hello Wolfgang, 

What you mention at the beginning is correct, that's exactly what I would like to do. Mathematically I would do the following:

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?

Javier

Wolfgang Bangerth

unread,
Mar 1, 2024, 7:51:02 AM3/1/24
to dea...@googlegroups.com
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.
Reply all
Reply to author
Forward
0 new messages