Inspired by a conversation I had with Boyce yesterday.
Imposing penalty forces over a codim 1 surface is more effective than a codim 0 surface. For example, with tether forces, if we tether a surface in place then we permit possible countercurrents inside the structure, whereas with volumetric tether forces we have to force the body of fluid to be immobile. The first case requires weaker penalty forces (and therefore less timestep restrictions).
We can do this pretty easily with IFEDMethod - we just need to store a new vector of Part<dim - 1, spacedim>s. To prepare for that switch make most of the initialization functions templated lambdas.
I don't have time to finish this today but it's already a pretty big patch so I'll just add it as-is.
Inspired by a conversation I had with Boyce yesterday.
Imposing penalty forces over a codim 1 surface is more effective than a codim 0 surface. For example, with tether forces, if we tether a surface in place then we permit possible countercurrents inside the structure, whereas with volumetric tether forces we have to force the body of fluid to be immobile. The first case requires weaker penalty forces (and therefore less timestep restrictions).
We can do this pretty easily with IFEDMethod - we just need to store a new vector of
Part<dim - 1, spacedim>
s. To prepare for that switch make most of the initialization functions templated lambdas.I don't have time to finish this today but it's already a pretty big patch so I'll just add it as-is.