-
-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix subcycling #443
Fix subcycling #443
Conversation
…fix some places where time step size was updated in an incorrect way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks meaningful to me. I did not, however, not run any cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current state definitely looks buggy, good catch! The changes make sense to me (separating the dt
from the solver_dt
and moving the read_data
after the writing the checkpoint).
I do not feel responsible for any particular case, but the channel-transport seems to at least start and run work and produce the expected results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran the channel-transport and flow-over-heated-plate cases with the Nutils participants which have the changes, and the results in ParaView look the way they are supposed to look. I also ran the first few time steps of the two-scale-heat-conduction and things seem to be in order.
I updated the tutorials to follow the pattern suggested in our adapterexample. In some cases, the implementation of subcylcling was also buggy.
@uekerman, @IshaanDesai : Especially a
dt = min(dt, precice_dt)
is very dangerous in the context of subcycling and can lead to errors that are very hard to find. I did not run the cases that I touched. Please do a quick check for the cases that you feel responsible for.