[petsc-users] Fluid-Structure interaction with multiple DMPlex

Jed Brown jed at jedbrown.org
Tue Jan 11 09:36:53 CST 2022


Thibault Bridel-Bertomeu <thibault.bridelbertomeu at gmail.com> writes:

> Hello everybody,
>
> So, let's say i have the mesh attached to this email that has 2 physical
> surfaces and 5 physical curves. This gives me 2 strata in the "Cell Sets"
> and 5 strata in the "Face Sets".
> Would something like the following piece of code be the right way to
> "extract" and manipulate each stratum of the "Cell Sets" to assign them a
> DS, a TS etc...?
>
>     DMLabel surfacesLabel;    ierr = DMGetLabel(dm, "Cell Sets",
> &surfacesLabel);CHKERRQ(ierr);    IS fluidIS;    ierr =
> DMLabelGetStratumIS(surfacesLabel, 2, &fluidIS);CHKERRQ(ierr);
> DMLabel fluidLabel;    ierr = DMLabelCreate(PETSC_COMM_WORLD, "Fluid",
> &fluidLabel);CHKERRQ(ierr);    ierr = DMLabelSetStratumIS(fluidLabel,
> 1, fluidIS);CHKERRQ(ierr);
>
> Once I have the Fluid label linked to the fluidIS (same for the
> solid), should I call DMPlexLabelComplete on both the labels before
> proceeding and calling the DMCreateSubDM with their IS ?

How do you want to implement the function space and interface condition? As single-valued temperature seen from both sides? With a discontinuous space and a surface integral? Euler equations are commonly solved in conservative variables, thus you don't have an option of a continuous temperature space.


More information about the petsc-users mailing list