Special Cosserat rod finite element model with geometrically exact kinematics.
More...
#include "SpecialCosseratRodModel.h"
|
| | SpecialCosseratRodModel (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Constructor.
|
| |
| virtual bool | takeAction (const String &action, const Properties ¶ms, const Properties &globdat) override |
| | Handle model actions.
|
| |
|
| static Ref< Model > | makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Create new SpecialCosseratRodModel instance.
|
| |
| static void | declare () |
| | Declare model type to factory.
|
| |
The SpecialCosseratRodModel implements a geometrically exact rod formulation based on the Cosserat theory (Simo-Reissner rod). It features 6 DOF per node (3 translational + 3 rotational) and supports large deformations, rotations, and complex material behavior including plasticity.
Features:
- Geometrically exact rod kinematics with 6 DOF per node
- Large deformation and rotation capabilities
- Material integration with plasticity support
- Hinge connection modeling
- Gyroscopic effects for dynamic analysis
- Initial strain and rotation specification
- Energy calculation (potential and dissipated)
- Strain and stress output tables
- See also
- Reissner (1981)
-
Simo, Vu-Quoc (1986)
-
Crisfield, Jelenić (1999)
-
Antman (2005)
-
Eugster (2015)
◆ SpecialCosseratRodModel()
| SpecialCosseratRodModel::SpecialCosseratRodModel |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
explicit |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
◆ declare()
| void SpecialCosseratRodModel::declare |
( |
| ) |
|
|
static |
◆ makeNew()
| Ref< Model > SpecialCosseratRodModel::makeNew |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
static |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
- Returns
- New model instance
◆ takeAction()
| bool SpecialCosseratRodModel::takeAction |
( |
const String & |
action, |
|
|
const Properties & |
params, |
|
|
const Properties & |
globdat |
|
) |
| |
|
overridevirtual |
- Parameters
-
| action | Action name |
| params | Action parameters |
| globdat | Global data container |
- Returns
- true if action was handled
◆ GIVEN_DIRS
| const char * SpecialCosseratRodModel::GIVEN_DIRS = "given_dir_dirs" |
|
static |
◆ GIVEN_NODES
| const char * SpecialCosseratRodModel::GIVEN_NODES = "given_dir_nodes" |
|
static |
◆ HINGES
| const char * SpecialCosseratRodModel::HINGES = "hinges" |
|
static |
◆ LUMPED_MASS
| const char * SpecialCosseratRodModel::LUMPED_MASS = "lumpedMass" |
|
static |
◆ MATERIAL_Y_DIR
| const char * SpecialCosseratRodModel::MATERIAL_Y_DIR = "material_ey" |
|
static |
◆ ROT_DOF_COUNT
| const idx_t SpecialCosseratRodModel::ROT_DOF_COUNT = 3 |
|
static |
◆ ROT_DOF_DEFAULT
| const char * SpecialCosseratRodModel::ROT_DOF_DEFAULT = "rot_" |
|
static |
◆ ROT_DOF_NAMES
| const char * SpecialCosseratRodModel::ROT_DOF_NAMES = "dofNamesRot" |
|
static |
◆ ROT_PART
◆ SYMMETRIC_ONLY
| const char * SpecialCosseratRodModel::SYMMETRIC_ONLY = "symmetric_tanget_stiffness" |
|
static |
◆ TRANS_DOF_COUNT
| const idx_t SpecialCosseratRodModel::TRANS_DOF_COUNT = 3 |
|
static |
◆ TRANS_DOF_DEFAULT
| const char * SpecialCosseratRodModel::TRANS_DOF_DEFAULT = "trans_" |
|
static |
◆ TRANS_DOF_NAMES
| const char * SpecialCosseratRodModel::TRANS_DOF_NAMES = "dofNamesTrans" |
|
static |
◆ TRANS_PART
| const Slice SpecialCosseratRodModel::TRANS_PART = jem::SliceFromTo(0, TRANS_DOF_COUNT) |
|
static |
◆ TYPE_NAME
| const char * SpecialCosseratRodModel::TYPE_NAME = "specialCosseratRod" |
|
static |