Accessing and modifying modal properties of a FE_DGQ solution

46 views
Skip to first unread message

Corbin Foucart

unread,
May 6, 2022, 4:54:12 PM5/6/22
to deal.II User Group
Hello everyone, 

I have a discontinuous velocity field composed of FE_DGQ elements; I would like to access a modal representation of the solution coefficients on each element and modify them (e.g., to perform slope limiting). 

I was planning on 
  • manually constructing the Vandermonde matrix on each element to convert the solution representation to a modal one
  • modifying the solution coefficients
  • transforming them back to a nodal representation
  • updating the entries in the global solution vector
Is there a better way of doing this? I want to make sure I'm not reinventing the wheel in the event that this functionality is already implemented. 

I was looking at the documentation for FE_DGP but it seems that these elements may not span the same space as their corresponding nodal counterparts of the same polynomial order, and the two finite element objects are not necessarily meant to be used in conjunction (for example, by defining two FEValues objects with FE_DGP and FE_DGQ finite elements and a nodal quadrature rule).

Thank you,
Corbin

Praveen C

unread,
May 6, 2022, 10:53:59 PM5/6/22
to Deal. II Googlegroup
FE_DGQ are tensor product polynomials but FE_DGP is not. FE_DGP is a smaller space. So you cannot exactly transfer the solution between them.

There is also a tensor product modal version, see FE_DGQLegendre, maybe thats what you want.

Vandermonde matrix is good idea to go from modal —> nodal

For nodal —> modal, I would use a projection matrix.

See 


which has functions like

get_interpolation_matrix
get_projection_matrix

These matrices dont depend on the element since you are doing it on the reference element.

best
praveen

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/fe346eae-8f32-4953-9bff-ac1806016edcn%40googlegroups.com.

Wolfgang Bangerth

unread,
May 8, 2022, 8:11:22 PM5/8/22
to dea...@googlegroups.com
On 5/6/22 14:54, Corbin Foucart wrote:
> *** Caution: EXTERNAL Sender ***
>
> Hello everyone,
>
> I have a discontinuous velocity field composed of FE_DGQ elements; I would
> like to access a modal representation of the solution coefficients on each
> element and modify them (e.g., to perform slope limiting).
>
> I was planning on
>
> * manually constructing the Vandermonde matrix on each element to convert
> the solution representation to a modal one
> * modifying the solution coefficients
> * transforming them back to a nodal representation
> * updating the entries in the global solution vector
>
> Is there a better way of doing this? I want to make sure I'm not reinventing
> the wheel in the event that this functionality is already implemented.

That seems like a reasonable approach. I believe that there are functions in
FETools that already build these transfer matrices assuming there is a modal
element that fits what you want to do. You probably want to look at
FE_QHierarchical.

Best
W.

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

Reply all
Reply to author
Forward
0 new messages