Rigid body motion is useful for modelling structural components which posses a quasi-infinite stiffness as compared to adjacent members. The main goal for my NEUP project is to enable MOOSE and BISON to conduct holistic simulations of nuclear fuel assemblies during handling, transportation, and accident scenarios. We have determined that rigid elements will be necessary for such models.
Eventually, I may attempt to develop a rigid solid element as well, but I am limiting this ticket to rigid beams.
Design
At the moment, I'm actually not entirely sure how I will approach this. This will take me months to develop. I will keep this issue updated as I learn more. Currently, I am thinking I will develop this as a Constraint type MooseObject. Another possibility is to develop it as a Material object.
Reason & Impact
I want to implement a rigid beam element as part of my Master's Thesis and in support of NEUP Project 17-12939: Expansion of Bison Capabilities to Predict the Dynamic Response of Irradiated Fuel Rods.
Rigid body motion is useful for modelling structural components which posses a quasi-infinite stiffness as compared to adjacent members. The main goal for my NEUP project is to enable MOOSE and BISON to conduct holistic simulations of nuclear fuel assemblies during handling, transportation, and accident scenarios. We have determined that rigid elements will be necessary for such models.
Eventually, I may attempt to develop a rigid solid element as well, but I am limiting this ticket to rigid beams.
Design
At the moment, I'm actually not entirely sure how I will approach this. This will take me months to develop. I will keep this issue updated as I learn more. Currently, I am thinking I will develop this as a
Constraint
typeMooseObject
. Another possibility is to develop it as aMaterial
object.The archetype element is Abaqus's RB3D2. I have successfully implemented this element type in an amateur finite element code, based on Python, before: https://gitlab.com/crswong888/felab/-/blob/crswong888-rigid-body-13/felab/elemlib/RB3D2.py, which I further described in this Gitlab Merge Request. However, developing it in MOOSE and with C++ will be an entirely new challenge for me.