drwells / fiddle

4 stars 3 forks source link

Ifed penalty parts, part 1 #136

Closed drwells closed 1 year ago

drwells commented 1 year ago

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.