-
Notifications
You must be signed in to change notification settings - Fork 273
[Core] Initialize bossak constants in Predict #13964
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
[Core] Initialize bossak constants in Predict #13964
Conversation
RiccardoRossi
left a comment
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.
one question, however i'll approve since anyway this is only a short term bugfix (thanks for taking care!!)
| //Set Newmark coefficients | ||
|
|
||
| if( mNewmark.static_dynamic != 0 ) { | ||
| CurrentProcessInfo[NEWMARK_BETA] = mNewmark.beta; |
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.
why do we need this?
|
ouch, it fails the tests in the core RUN ] KratosCoreFastSuite.DisplacementNewmarkSchemeTest
2025-11-11T13:41:33.1881733Z | / |
2025-11-11T13:41:33.1881803Z ' / __| _` | __| _ \ __|
2025-11-11T13:41:33.1881866Z . \ | ( | | ( |\__ \
2025-11-11T13:41:33.1881929Z _|\_\_| \__,_|\__|\___/ ____/
2025-11-11T13:41:33.1882035Z Multi-Physics 10.3."0"--975312ed-Custom-x86_64
2025-11-11T13:41:33.1882142Z Compiled for GNU/Linux and Undefined with GCC-11.2
2025-11-11T13:41:33.1882283Z Compiled with threading support. Threading support with OpenMP.
2025-11-11T13:41:33.1882360Z Maximum number of threads: 4.
2025-11-11T13:41:33.1882599Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1882817Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1882988Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1882995Z
2025-11-11T13:41:33.1883228Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1883385Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1883553Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1883632Z
2025-11-11T13:41:33.1883866Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1884021Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1884189Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1884193Z
2025-11-11T13:41:33.1884418Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1884569Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1884729Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1884732Z
2025-11-11T13:41:33.1884960Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1885142Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1885305Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1885309Z
2025-11-11T13:41:33.1885532Z /__w/Kratos/Kratos/kratos/tests/cpp_tests/strategies/schemes/test_schemes.cpp:300: Failure
2025-11-11T13:41:33.1885699Z Expected: ((std::abs(v + std::sin(time)))) <= ((tolerance)), actual: 0.001 vs 1e-06
2025-11-11T13:41:33.1886280Z Check failed because std::abs(v + std::sin(time)) is greater than tolerance
2025-11-11T13:41:33.1886285Z |
|
mmm, i believe the problem comes from here: (order not changed in the test) |
…in_bossak_schemes_for_change_in_initialzie_sol_step
|
@RiccardoRossi This is ready for your review. :) |
RiccardoRossi
left a comment
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.
Thank you!
📝 Description
This PR just initializes the
Bossakconstants, and some other information in theScheme::Predictas well to allow the change introduced in #13350 .But this is only a ** Temporary ** fix, because now we are doing the same initialization in
Scheme::PredictandScheme::InitializeSolutionStep. In some schemes, this can be very expensive as shown below where nodal neighbour count is also now has to be done in bothScheme::PredictandScheme::InitializeSolutionStep.Lets hope the CI passes :)
Kratos/kratos/solving_strategies/schemes/residual_based_adjoint_bossak_scheme.h
Lines 177 to 193 in cb56be0
🆕 Changelog
PredictandInitializeSolutionStep.