-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
Fixed subcycling in implicit coupling (for regular simulations) #106
base: develop
Are you sure you want to change the base?
Conversation
Turns out adapting the buffer code is trickier than anticipated. I'm undrafting and I suggest staying on the current partial fix: correct results, but with one output every N time window instead of every N steps, with N defaulting to 1. |
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.
Changes look good. All new variables are freed in the end. However the perpendicular flap does not function correctly.
- develop branch with equal time steps functions correctly, but breaks for subcycling.
- with this PR, subcycling and equal time steps do not crash, but the flap hardly moves.
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 tried running the perpendicular flap, but it looks like we need to consider updates based for v2.20:
- With v2.19 and this PR, the tutorial was running normally
- With v2.20, it is running normally
- With v2.20 and this PR, the flap does not move
Please also check if it actually fixes the original issue (example on how to reproduce it).
My suggestion would be to continue with the v2.20 release and continue to work on subcycling. Rather have the adapter working correctly when all time steps are equal. |
How did you build "This + 2.20 ?" Since this PR involves quite some modifications of the main file I planned to do it by hand |
I checked out the |
(Depends on #105 )
Fixes #9. Essentially, checkpointing stores more data than previously (not only positions, but velocities and a few more things), because those additional fields must be stored when going back from more than an increment (time step). So previous implementation worked only when there was one step per window.
Still WIP: