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

Matthew Knepley knepley at gmail.com
Sat Jan 8 12:22:02 CST 2022


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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220108/ca67e3a0/attachment-0001.html>


More information about the petsc-users mailing list