precice / openfoam-adapter

OpenFOAM-preCICE adapter
https://precice.org/adapter-openfoam-overview.html
GNU General Public License v3.0
135 stars 80 forks source link

Adapter autodetecs subcycling erroneously #311

Closed davidscn closed 8 months ago

davidscn commented 8 months ago

Using the current state of the develop adater (99421f7) and the preCICE v3 release candidate, we run into the following two warnings when running our perpendicular flap tutorial:

--> FOAM Warning : 
    From void adapterInfo(std::string, std::string)
    in file Utilities.C at line 17
    Warning in the preCICE adapter: 
The solver's timestep cannot be larger than the coupling timestep. Adjusting from 0.010000 to 0.010000

or

--> FOAM Warning : 
    From void adapterInfo(std::string, std::string)
    in file Utilities.C at line 17
    Warning in the preCICE adapter: 
The adapter does not fully support subcycling for FSI and instabilities may occur.

which have essentially the same origin, namely the floating point comparison regarding the time-step size in the adapter

https://github.com/precice/openfoam-adapter/blob/99421f77f85e91262f921cf0bbdc3724d0a9cb20/Adapter.C#L655-L685

In the tutorial itself, the time-step size is supposed to be fixed, so none of these warnings should pop up. However, using (as an example) an adjustable time-step size for writing result files might lead to noteworthy changes of the time-step size in OpenFOAM. In principle, the warning could be ignored as we adjust the time-step size in each if branch (of the code above) according to the allowed range. However, auto-enabling subcycling leads to additional checkpointing, which is undesired and we should understand the origin of the issue better to trigger the warnings, when they are actually helpful.

There were recently changes regarding dt in the adapter (see #298 ) and also in preCICE. Investigating this issue requires some effort.

davidscn commented 8 months ago

Potentially resolved by https://github.com/precice/precice/pull/1933