idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.77k stars 1.05k forks source link

Rigid Beam Element #15788

Open crswong888 opened 4 years ago

crswong888 commented 4 years ago

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 type MooseObject. Another possibility is to develop it as a Material 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.

crswong888 commented 4 years ago

For whomever reads this, shall I develop this as part of the TensorMechanics module?