Clearly differentiate between participant_dt and dt
#245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think we should be more clear here, because otherwise the double meaning of
dtcan lead to bugs that are difficult to find. During the preCICE workshop 2023 I found a bug in the code of a user where the statementdt = beginTimeStep()was left out, becausedtwas fixed to a constant before the timeloop starteddt = subcycling_dt. This is totally understandable from my perspective, if you do not use adaptivity. Why should I redefinedtin every time step, if it stays the same?The goal of the user was to use subcycling. However, this led to the situation that
dtwas getting smaller thansubcycling_dtwhen getting close to the end of the first window:min(precice_dt, subcycling_dt)returnsprecice_dt < subcycling_dtand we overwritedtleading todt < subcycling_dtfor the remainder of the simulation time.I think this is a situation that we can avoid easily and at the same time we can show clearly that there are basically three different
dts:dtwhich is thedtthat we actually use for the time stepprecice_dtwhich is the maximum alloweddtdefined by preCICEparticipant_dt(orsolver_dt?) which is thedtdesired by the solver (fixed or computed), but might conflict withprecice_dtThis is still a draft, because we still have the following todos: