Skip to content

Apply Dirichlet bcs on the rotations (first derivatives) when using an Hermite FE #2975

Discussion options

You must be logged in to vote

Is this in 1D? I think it must be because we don't support essential boundary conditions on Hermite elements in 2D.

In 1D, we support setting the vertex value $u$, but not its derivative $u_x$, on the boundary (this is implemented with a hack in DirichletBC`)

firedrake/firedrake/bcs.py

Lines 133 to 138 in c5cd37a

def hermite_stride(bcnodes):
if isinstance(self._function_space.finat_element, finat.Hermite) and \
self._function_space.mesh().topological_dimension() == 1:
return bcnodes[::2] # every second dof is the vertex value
else:
return bcnodes

So I think right now your best bet is to try and apply your BCs using Nitsche's method instead.

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by stepi9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants