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

Thibault Bridel-Bertomeu thibault.bridelbertomeu at gmail.com
Sat Jan 8 13:13:00 CST 2022


However if you use IMEX for strong coupling of the two physics solved in
each field, then it means you need to write a single set of PDEs that
covers everything, don’t you ?
If I want to solve Euler equations in one PetscDS and heat equation in the
other one, then I need to write a global set of equations to use the IMEX
TS , right ?

Thanks,

Thibault

Le sam. 8 janv. 2022 à 20:00, Matthew Knepley <knepley at gmail.com> a écrit :

> On Sat, Jan 8, 2022 at 1:30 PM Thibault Bridel-Bertomeu <
> thibault.bridelbertomeu at gmail.com> wrote:
>
>> Yes I was wondering about different time steps as well because usually
>> implicit integration moves much faster.
>> But if it not implemented, then maybe going the « weak coupling » road
>> with a sub-DM is the way.
>> Can I ask how you proceed in the rocket engine code you are writing ?
>> IMEX ?
>>
>
> Right now it is IMEX, but we are explicitly substepping particles. Not
> sure what the final thing will be.
>
>   Thanks,
>
>     Matt
>
>
>> Thibault
>>
>> Le sam. 8 janv. 2022 à 19:22, Matthew Knepley <knepley at gmail.com> a
>> écrit :
>>
>>> I do not know how. Right now, composable TS does not work all the way.
>>>
>>>   Matt
>>>
>>> On Sat, Jan 8, 2022 at 1:03 PM Mark Adams <mfadams at lbl.gov> wrote:
>>>
>>>> Can you subcycle with IMEX?
>>>>
>>>> On Sat, Jan 8, 2022 at 10:58 AM Matthew Knepley <knepley at gmail.com>
>>>> wrote:
>>>>
>>>>> On Sat, Jan 8, 2022 at 3:05 AM Thibault Bridel-Bertomeu <
>>>>> thibault.bridelbertomeu at gmail.com> wrote:
>>>>>
>>>>>> Le ven. 7 janv. 2022 à 19:45, Thibault Bridel-Bertomeu <
>>>>>> thibault.bridelbertomeu at gmail.com> a écrit :
>>>>>>
>>>>>>> Le ven. 7 janv. 2022 à 19:23, Matthew Knepley <knepley at gmail.com> a
>>>>>>> écrit :
>>>>>>>
>>>>>>>> On Fri, Jan 7, 2022 at 12:58 PM Thibault Bridel-Bertomeu <
>>>>>>>> thibault.bridelbertomeu at gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le ven. 7 janv. 2022 à 14:54, Matthew Knepley <knepley at gmail.com>
>>>>>>>>> a écrit :
>>>>>>>>>
>>>>>>>>>> On Fri, Jan 7, 2022 at 8:52 AM Thibault Bridel-Bertomeu <
>>>>>>>>>> thibault.bridelbertomeu at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Matthew,
>>>>>>>>>>>
>>>>>>>>>>> Le ven. 7 janv. 2022 à 14:44, Matthew Knepley <knepley at gmail.com>
>>>>>>>>>>> a écrit :
>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Jan 7, 2022 at 5:46 AM Thibault Bridel-Bertomeu <
>>>>>>>>>>>> thibault.bridelbertomeu at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Dear all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> First of, happy new year everyone !! All the best !
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Happy New Year!
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> I am starting to draft a new project that will be about
>>>>>>>>>>>>> fluid-structure interaction: in particular, the idea is to compute the
>>>>>>>>>>>>> Navier-Stokes (or Euler nevermind) flow around an object and _at the same
>>>>>>>>>>>>> time_ compute the heat equation inside the object.
>>>>>>>>>>>>> So basically, I am thinking a mesh of the fluid and a mesh of
>>>>>>>>>>>>> the object, both meshes being linked at the fluid - solid interface.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> First question: Are these meshes intended to match on the
>>>>>>>>>>>> interface? If not, this sounds like overset grids or immersed
>>>>>>>>>>>> boundary/interface methods. In this case, more than one mesh makes sense to
>>>>>>>>>>>> me. If they are intended to match, then I would advocate a single mesh with
>>>>>>>>>>>> multiple problems defined on it. I have experimented with this, for example
>>>>>>>>>>>> see SNES ex23 where I have a field in only part of the domain. I have a
>>>>>>>>>>>> large project to do exactly this in a rocket engine now.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yes the way I see it is more of a single mesh with two distinct
>>>>>>>>>>> regions to distinguish between the fluid and the solid. I was talking about
>>>>>>>>>>> two meshes to try and explain my vision but it seems like it was unclear.
>>>>>>>>>>> Imagine if you wish a rectangular box with a sphere inclusion:
>>>>>>>>>>> the sphere would be tagged as a solid and the rest of the domain as fluid.
>>>>>>>>>>> Using Gmsh volumes for instance.
>>>>>>>>>>> Ill check out the SNES example ! Thanks !
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> First (Matthew maybe ?) do you think it is something that
>>>>>>>>>>>>> could be done using two DMPlex's that would somehow be spawned from reading
>>>>>>>>>>>>> a Gmsh mesh with two volumes ?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> You can take a mesh and filter out part of it with
>>>>>>>>>>>> DMPlexFilter(). That is not used much so I may have to fix it to do what
>>>>>>>>>>>> you want, but that should be easy.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> And on one DMPlex we would have finite volume for the fluid,
>>>>>>>>>>>>> on the other finite elements for the heat eqn ?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I have done this exact thing on a single mesh. It should be no
>>>>>>>>>>>> harder on two meshes if you go that route.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Second, is it something that anyone in the community has ever
>>>>>>>>>>>>> imagined doing with PETSc DMPlex's ?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Yes, I had a combined FV+FEM simulation of magma dynamics (I
>>>>>>>>>>>> should make it an example), and currently we are doing FVM+FEM for
>>>>>>>>>>>> simulation of a rocket engine.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Wow so it seems like it’s the exact same thing I would like to
>>>>>>>>>>> achieve as the rocket engine example.
>>>>>>>>>>> So you have a single mesh and two regions tagged differently,
>>>>>>>>>>> and you use the DmPlexFilter to solve FVM and FEM separately ?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> With a single mesh, you do not even need DMPlexFilter. You just
>>>>>>>>>> use the labels that Gmsh gives you. I think we should be able to get it
>>>>>>>>>> going in a straightforward way.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ok then ! Thanks ! I’ll give it a shot and see what happens !
>>>>>>>>> Setting up the FVM and FEM discretizations will pass by DMSetField
>>>>>>>>> right ? With a single mesh tagged with two different regions, it should
>>>>>>>>> show up as two fields, is that correct ?
>>>>>>>>>
>>>>>>>>
>>>>>>>> Yes, the idea is as follows. Each field also has a label argument
>>>>>>>> that is the support of the field in the domain. Then we create PetscDS
>>>>>>>> objects for each
>>>>>>>> separate set of overlapping fields. The current algorithm is not
>>>>>>>> complete I think, so let me know if this step fails.
>>>>>>>>
>>>>>>>
>>>>>>> Ok, thanks.
>>>>>>> I’ll let you know and share snippets when I have something started !
>>>>>>>
>>>>>>> Talk soon ! Thanks !
>>>>>>>
>>>>>>
>>>>>> Hi Matthew,
>>>>>>
>>>>>> I thought about a little something else : what about setting two
>>>>>> different TS, one for each field of the DM ? Most probably the fluid part
>>>>>> would be solved with an explicit time stepping whereas the solid part with
>>>>>> the heat equation would benefit from implicit time stepping. TSSetDM does
>>>>>> not allow a field specification, is there a way to hack that so that each
>>>>>> field has its own TS ?
>>>>>>
>>>>>
>>>>> I see at least two options here:
>>>>>
>>>>> 1. Split the problems:
>>>>>
>>>>>     You can use DMCreateSubDM() to split off part of a problem and use
>>>>> a solver on that. I have done this for problems with weak coupling.
>>>>>
>>>>> 2. Use IMEX
>>>>>
>>>>>     For strong coupling, I have used the IMEX TSes in PETSc. You put
>>>>> the explicit terms in the RHS, and the implicit in the IFunction.
>>>>>
>>>>>   Thanks,
>>>>>
>>>>>      Matt
>>>>>
>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Thibault
>>>>>>
>>>>>>
>>>>>>> Thibault
>>>>>>>
>>>>>>>
>>>>>>>>   Thanks,
>>>>>>>>
>>>>>>>>      Matt
>>>>>>>>
>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Thibault
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>   Thanks,
>>>>>>>>>>
>>>>>>>>>>      Matt
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Thanks !
>>>>>>>>>>>
>>>>>>>>>>> Thibault
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>   Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>>      Matt
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> As I said it is very prospective, I just wanted to have your
>>>>>>>>>>>>> opinion !!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks very much in advance everyone !!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> Thibault
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> What most experimenters take for granted before they begin
>>>>>>>>>>>> their experiments is infinitely more interesting than any results to which
>>>>>>>>>>>> their experiments lead.
>>>>>>>>>>>> -- Norbert Wiener
>>>>>>>>>>>>
>>>>>>>>>>>> https://www.cse.buffalo.edu/~knepley/
>>>>>>>>>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Thibault Bridel-Bertomeu
>>>>>>>>>>>>>>>>>>>>>> Eng, MSc, PhD
>>>>>>>>>>> Research Engineer
>>>>>>>>>>> CEA/CESTA
>>>>>>>>>>> 33114 LE BARP
>>>>>>>>>>> Tel.: (+33)557046924
>>>>>>>>>>> Mob.: (+33)611025322
>>>>>>>>>>> Mail: thibault.bridelbertomeu at gmail.com
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> What most experimenters take for granted before they begin their
>>>>>>>>>> experiments is infinitely more interesting than any results to which their
>>>>>>>>>> experiments lead.
>>>>>>>>>> -- Norbert Wiener
>>>>>>>>>>
>>>>>>>>>> https://www.cse.buffalo.edu/~knepley/
>>>>>>>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Thibault Bridel-Bertomeu
>>>>>>>>>>>>>>>>>> Eng, MSc, PhD
>>>>>>>>> Research Engineer
>>>>>>>>> CEA/CESTA
>>>>>>>>> 33114 LE BARP
>>>>>>>>> Tel.: (+33)557046924
>>>>>>>>> Mob.: (+33)611025322
>>>>>>>>> Mail: thibault.bridelbertomeu at gmail.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> What most experimenters take for granted before they begin their
>>>>>>>> experiments is infinitely more interesting than any results to which their
>>>>>>>> experiments lead.
>>>>>>>> -- Norbert Wiener
>>>>>>>>
>>>>>>>> https://www.cse.buffalo.edu/~knepley/
>>>>>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>>>>>
>>>>>>> --
>>>>>>> Thibault Bridel-Bertomeu
>>>>>>>>>>>>>> Eng, MSc, PhD
>>>>>>> Research Engineer
>>>>>>> CEA/CESTA
>>>>>>> 33114 LE BARP
>>>>>>> Tel.: (+33)557046924
>>>>>>> Mob.: (+33)611025322
>>>>>>> Mail: thibault.bridelbertomeu at gmail.com
>>>>>>>
>>>>>> --
>>>>>> Thibault Bridel-Bertomeu
>>>>>>>>>>>> Eng, MSc, PhD
>>>>>> Research Engineer
>>>>>> CEA/CESTA
>>>>>> 33114 LE BARP
>>>>>> Tel.: (+33)557046924
>>>>>> Mob.: (+33)611025322
>>>>>> Mail: thibault.bridelbertomeu at gmail.com
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their
>>>>> experiments is infinitely more interesting than any results to which their
>>>>> experiments lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>> https://www.cse.buffalo.edu/~knepley/
>>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>>
>>>>
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to which their
>>> experiments lead.
>>> -- Norbert Wiener
>>>
>>> https://www.cse.buffalo.edu/~knepley/
>>> <http://www.cse.buffalo.edu/~knepley/>
>>>
>> --
>> Thibault Bridel-Bertomeu
>>>> Eng, MSc, PhD
>> Research Engineer
>> CEA/CESTA
>> 33114 LE BARP
>> Tel.: (+33)557046924
>> Mob.: (+33)611025322
>> Mail: thibault.bridelbertomeu at gmail.com
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
-- 
Thibault Bridel-Bertomeu
—
Eng, MSc, PhD
Research Engineer
CEA/CESTA
33114 LE BARP
Tel.: (+33)557046924
Mob.: (+33)611025322
Mail: thibault.bridelbertomeu at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220108/09b5701f/attachment-0001.html>


More information about the petsc-users mailing list