Remeshing during FSI computation

Dear preCICE community,
I have read some previous posts and watched @fsimonis presentation about future features of preCICE concerning dynamic remeshing during computation and I’m looking forward to testing them.
For the moment I’d like to do something a little less complex: in some FSI computations it happens that the solid part “moves” a lot and some of the fluid mesh cells deform so much that the simulation crashes.
Btw I’m thinking about OpenFOAM as fluid solver.
In general, or at least in my cases, the solid mesh deformation is always easily handled by the solver, while the fluid mesh may become too deformed. I’d like to remesh only the fluid part and remap the last solution on the “old” mesh to the new one, which can be done in OpenFOAM.
By doing this I’d keep the same interface mesh, so that the preCICE mapping is unaffected.
I’m not sure if it is effectively doable and I’d like to ask if anyone has made something similar and to exchange ideas. For example I assume that this might affect the OpenFOAM adapter, but I’m not sure.
Thank you

Hi Claudio,

Are you sure that you can do this in OpenFOAM without changing the interface mesh?
Do you have an OpenFOAM-only case where we could look at this feature together?
Sounds doable in principle, but I could imagine that we require some modifications in the OpenFOAM adapter.


Hi Benjamin,
I’m not sure at the moment. I have found some examples of adaptive meshing in OF but none of them has the feature I’d like to have. I might be able to remesh a domain keeping the same interface mesh (i.e. a sub-mesh) for example in Salome. So I was thinking about something like:

  • use a systemCall function Object
  • in writeCalls at a prescribed write interval:
    • maybe check the current mesh
    • export the current mesh (foamTo…)
    • remesh
    • import the new mesh
    • remap interface points and remap the fields

but it looks like a bit overcomplicated and too time consuming. Doing this withing OpenFOAM would be much easier. I should have access to some more material concerning dynamic meshing in the next couple of weeks. Maybe I’ll find something interesting and I can provide some more info.

How often do you need to remesh? Would simply restarting be a sufficient option? I do not have personal experience with that, but I have seen other users in the past trying restarting (successfully, I think).

Hi @Makis,
hopefully not very often. Unfortunately, for example MBDyn does not allow restarting, as far as I know.