On 4/1/22 14:40, Jau-Uei Chen wrote:

It is not clear to me how modifying FEFaceQ can even achieve the first step (highlighted in yellow) you describe. It seems that FEFace_Q is universally defined on *the unit face* and cannot see the structure of triangulation. Hence, the finite element space is always defined on the each face of an element when we are doing "distribute_dofs".

Correct.

Are you referring that we can use DSSY element (given in the paper) to construct the discontinuous function defined on the reference domain of a face to achieve the first step?

No, what I meant is that there are other contexts in which one wants to manually add constraints, and the situation in the linked paper is one. In your case, you would want to add additional constraints for all faces that are *not* in fact refined. This is because on these faces you want to bring the space back down to linear and continuous across the entire face.


An possible way I imagine is to re-defined FEFace_Q in the following way to complete the first step: (assume degree = 1, so fcn 1 and fcn 2 are  Lagrange polynomial with degree 1)

     fcn1          fcn2
*------------**------------*     <- basis function with supporting points *
o - - - - - - - - - - - - - o     <- geometric line segment in reference domain with vertices o

Yes, this is exactly how it should look.


However, it seems not possible since the construction of a finite element space relies on inheritance of "FE_PolyFace" and such discontinuous function is not polynomial.

No, the inheritance is not necessary. FE_PolyFace is just a convenience but not a requirement. At the end of the day, you need to implement the interface of the FiniteElement class, and how you do this is up to you. Different FE_* classes do this in different ways, depending on the structure of their finite element spaces. You can definitely implement non-polynomial finite elements -- you just need to implement all of the required virtual functions.

(I should also mention that because your shape functions are only piecewise polynomial, whenever you integrate terms on these faces you need to use iterated quadrature formulas. QIterated is your friend.)

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/

--
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/0b7a7a24-fa07-7921-e786-d6ddf1309544%40colostate.edu.

Reply via email to