Hi all,
I am trying to create a conforming discretization for (incompressible) elasticity analogous to stokes using the Crouzeix-Raviart element (see page 51) also given here on page 70. If I understand it correctly, this requires enriching a quadratic triangle (tetrahedron in 3D) P_2(\mathcal{T}_h) with a cubic (facet) bubble (B_3) as well as an internal bubble at the geometric center of the tetrahedron \mathcal{T}_h. If I try to initialize the “mixed”-space as
msh = UnitCubeMesh(2,2,2)
CG2El = FiniteElement("CG", msh.ufl_cell(), 2)
B3F = FiniteElement("FacetBubble", msh.ufl_cell(), 3) #this throws up error
B3 = FiniteElement("B", msh.ufl_cell(), 3)
CRconf = VectorElement(CG2El+B3F+B3)
pF = FiniteElement("DG", msh.ufl_cell(), 1)
V = FunctionSpace(msh, MixedElement([CRcon, pF]))
it fails with the error
This element family (FacetBubble) is not supported by FFC.
...
...
However the equivalent 2D analogue
msh = UnitSquareMesh(2,2)
CG2El = FiniteElement("CG", msh.ufl_cell(), 2)
B3 = FiniteElement("B", msh.ufl_cell(), 3)
CRconf = VectorElement(CG2El+B3)
pF = FiniteElement("DG", msh.ufl_cell(), 1)
V = FunctionSpace(msh, MixedElement([CRcon, pF]))
doesn’t throw up an error as above. Any pointers/workarounds to implement FacetBubble
elements in 3D? Are they even supported ?