Issues with Newmark and Crank-Nicolson schemes for sixDoFRigidBody
Summary
Current implementations of Newmark and Crank-Nicolson schemes are incorrect. They are unstable, meaning that the solution keeps growing.
Steps to reproduce
Can be reproduced by running the case files shared at https://github.com/chennachaos/OpenFOAMsixDOFtest/tree/main
Example case
Example case files are available at https://github.com/chennachaos/OpenFOAMsixDOFtest/tree/main Additional information about the cases and the displacement response is also provided.
What is the current bug behaviour?
The current implementations are unstable, producing a solution that is constantly increasing.
What is the expected correct behavior?
The solution should be a periodic response for a spring-mass system with non-zero initial displacement and/or velocity. It should be easy to test using an analytical solution.
Relevant logs and/or images
Environment information
- OpenFOAM version : 2312
- Operating system : Ubuntu 24.04 LTS
- Hardware info : Dell XPS laptop with Intel i7 processor.
- Compiler : gcc
Possible fixes
The correct implementation is shown in the script Newmark-beta-explicit.py
available in the repository https://github.com/chennachaos/OpenFOAMsixDOFtest/tree/main