Dear deal.II community,

I am currently exploring the implementation of a Nédélec finite element for 
triangles and tetrahedra.

My focus is on linear elements, where all DoFs are located on the edges of 
the element. For triangles, the basis functions are defined as:
p_1 = (1 - y,  x),  p_2 = ( -y ,  x),  p_3 = (  y , 1 - x)

For the construction of the linear functionals N_i, I define the tangential 
vectors t_i and edge midpoints q_i as follows:

t_1 = (1, 0),  t_2 = (-1, 1),  t_3 = (0, 1)

q_1 = (0.5, 0),  q_2 = (0.5, 0.5),  q_3 = (0, 0.5)

Then, with N_i(p) = p(q_i) · t_i, we obtain N_i(p_j) = δ_ij.

These functionals require generalized support points, as the functionals 
are not point evaluations.

I have found two existing implementations for Nédélec elements on 
hypercubes: FE_Nedelec and FE_NedelecSZ.
>From my understanding, FE_Nedelec requires globally oriented meshes, where 
each local edge orientation matches the global orientation.
In contrast, FE_NedelecSZ incorporates the global orientation into the 
finite element itself and resolves sign conflicts by multiplying 
incorrectly oriented DoFs by -1.

I am currently deciding which base class would be most suitable for my 
implementation.
Is there a better option than deriving directly from FiniteElement?

Both FE_PolyTensor and FE_Simplex_Poly seem like reasonable starting points.
However, from my initial review, FE_Simplex_Poly only takes 
unit_support_points in its constructor, and I am unsure how it supports 
generalized support points.

For the FE_PolyTensor approach, I could refer to FE_Nedelec, but I am not 
certain whether this approach is compatible with a local reorientation 
strategy.

I would greatly appreciate any insights or recommendations on how to 
implement the simplicial linear nedelec element with minimal code 
duplication.

Best regards,
Lukas Dreyer


-- 
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 visit 
https://groups.google.com/d/msgid/dealii/0367a985-c325-4fd4-8251-19c730794047n%40googlegroups.com.

Reply via email to