-
Notifications
You must be signed in to change notification settings - Fork 248
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
Geo/add time step executor #11649
Geo/add time step executor #11649
Conversation
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 very clear to me! I have some suggestions for improvements, but in general it looks good to me!
applications/GeoMechanicsApplication/custom_workflows/time_stepping.hpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_workflows/time_stepping.hpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_workflows/time_stepping.hpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_workflows/time_stepping.hpp
Outdated
Show resolved
Hide resolved
e4e2ecf
to
cb74f2c
Compare
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.
This looks really nice Wijtze Pieter! I have several minor remarks which may help to make the code even more elegant. See for yourself whether my comments make sense. Thanks!
applications/GeoMechanicsApplication/custom_workflows/strategy_wrapper.hpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_workflows/time_step_executor.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/tests/cpp_tests/test_time_stepping.cpp
Outdated
Show resolved
Hide resolved
- For now, running a time step only returns a non-converged exit status. - Added a unit test for this class.
When the time step executer is requested to run, it returns whether the solving strategy converged or not.
When `Run()` is called the executer visits all processes and initializes the solution step as well as finalizes it.
- Extracted the solver's convergence state from the class template `TimeStepExecuter`, since there was one definition for each template instantiation. That was rather inconvenient. - Added a new data structure that keeps the state at the end of a time step. It encompasses the convergence state as well as the number of nonlinear iterations.
In this way, we will know to which time step the other data applies.
cb74f2c
to
0fcb137
Compare
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 think this one is ready to go.
An executor to perform a single time step for GeoMechanical Analysis
It uses:
and gives back
7 unit tests for checking basic behavior are added.