-
Notifications
You must be signed in to change notification settings - Fork 13
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
BDF/EXT time-stepper #134
Merged
Merged
BDF/EXT time-stepper #134
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 tasks
cl126162
approved these changes
Feb 26, 2024
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.
Checked changes and everything works fine
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add a BDF solver with an equal-order extrapolation estimate for the nonlinear term. This results in a semi-implicit solver that only needs one linear system solve per time step. The scheme is based on the time-stepping in Nek5000.
This solver is slower to solve an individual time step compared to IPCS (because it uses a mixed formulation instead of split velocity/pressure systems), but typically faster overall since it can take larger time steps. For example, on the cylinder (single core on my laptop, medium-resolution mesh), the BDF3 solver takes about 14.5 sec wall clock time per unit of simulation time, compared to about 54.3 sec per unit of sim time for IPCS (about a 4x speedup). We can probably improve on this further by using a stabilized formulation like SUPG so that we can use equal-order elements and have a smaller mixed linear system to solve.
Profiling
Time to run each environment to
tf=1.0
, using approximately the maximum stable time step for each method and the default mesh for each environment. Times reported are wall clock times.Looks like ~3x speedup on average, maybe more for larger problems. The mixed element systems do lead to larger linear system solves, but hopefully that can be somewhat mitigated with SUPG stabilization or linear velocity elements.
Changes
ScaledDirichletBC
to represent time-varying BCs more easily. IPCS now uses time-varying BCs instead ofB
vectors.DampedActuator
). No longer need to specify integration type.Actuator
interfaceTODO
ScaledDirichletBC
as well?Test SUPG stabilization for linear velocity elements?(See SUPG stabilization and equal-order elements #135)