-
Notifications
You must be signed in to change notification settings - Fork 91
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
feat: Add option for automatic timestep computation in wave solvers #2909
feat: Add option for automatic timestep computation in wave solvers #2909
Conversation
…little bug in acoustic
…ttps://github.com/GEOS-DEV/GEOS into feature/AutomaticTimeStepComputationForWaveSolver
@@ -191,6 +185,18 @@ WaveSolverBase::WaveSolverBase( const std::string & name, | |||
setSizedFromParent( 0 ). | |||
setDescription( "Flag that indicates whether the receiver is local to this MPI rank" ); | |||
|
|||
registerWrapper( viewKeyStruct::timestepStabilityLimitString(), &m_timestepStabilityLimit ). |
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.
Shouldn't this always be used unless forceDt
is set?
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.
In fact in this PR we are closer to the logic of the non-linear solvers: if you put a forceDt too big for the CFL condition the internal loop of the solver will do sub-steps to respect the CFL condition.
We decided to put this feature as an option to let the user be able to tests some dt on is own without getting into that routine.
I have approved it but two things about this PR:
|
This PR add the possibility of compute automatically the timestep for wave propagation solvers.
How to use it?
XML
(timestepStabilityLimit
=1)forceDt
) is higher than the CFL condition limit, substeps are used to remain below the conditionAlso, an option is added to input source wavelets using
TableFunction
s, with the optionsourceWaveletTableNames
There also a routine inside the PR to be wrapped using Pygeosx