Struct ae108::elements::TwoNodeCorotationalBeamElement
template <class MaterialModel_, std::size_t Dimension_, class ValueType_, class RealType_>
ClassList > ae108 > elements > TwoNodeCorotationalBeamElement
Two node corotational beam in 2 or 3 dimensions.
#include <TwoNodeCorotationalBeamElement.h>
Public Types
| Type | Name |
|---|---|
| typedef Real | Energy |
| typedef NodalDisplacements | Forces The forces equal to \(d\_{ij} E\). Here, d_ij refers to the derivative with respect to jth degree of freedom of the ith node. |
| typedef MaterialModel_ | MaterialModel |
| typedef tensor::Tensor< ValueType_, NumVerts, DegreesOfFreedom > | NodalDisplacements The displacements per node. |
| typedef RealType_ | Real |
| typedef two_node_corotational_beam::Rotation< Dimension_ > | RotationType |
| typedef std::size_t | Size |
| typedef Eigen::Matrix< ValueType_, NumVerts *DegreesOfFreedom, NumVerts *DegreesOfFreedom, Eigen::RowMajor > | StiffnessMatrix The stiffness matrix equal to \(d\_{ij} d\_{kl} E\). Here, d_ij refers to the derivative with respect to jth degree of freedom of the ith node. |
| typedef Real | Time |
| typedef ValueType_ | Value |
Public Attributes
| Type | Name |
|---|---|
| std::array< RealType_, Dimension_ > | axis = /* multi line expression */ |
| MaterialModel | material_model = {}Material model used by this beam. |
| double | nodal_distance = [**tensor::as\_vector**](namespaceae108_1_1tensor.md#function-as_vector)([**axis**](structae108_1_1elements_1_1TwoNodeCorotationalBeamElement.md#variable-axis)).norm() |
| tensor::Tensor< RealType_, 2, Dimension_ > | nodal_positions = {}Initial positions of the 2 nodes. |
| std::array< RotationType, 2 > | nodal_rotations = /* multi line expression */Initial rotation vectors for the 2 nodes. |
| TwoNodeCorotationalBeamProperties< RealType_, Dimension_ > | properties = {} |
Public Static Attributes
| Type | Name |
|---|---|
| const std::size_t | DegreesOfFreedom = /* multi line expression */Number of degrees of freedom. |
| const std::size_t | Dimension = Dimension\_The dimension of physical space. |
| const std::size_t | NumVerts = 2Number of element nodes / shape functions. |
Public Functions
| Type | Name |
|---|---|
| Energy | computeEnergy (const NodalDisplacements & u, const Time & time) noexcept const Computes the energy for the given displacements. |
| Forces | computeForces (const NodalDisplacements & u, const Time & time) noexcept const Computes the forces for the given displacements. |
| StiffnessMatrix | computeStiffnessMatrix (const NodalDisplacements & u, const Time & time) noexcept const Computes the stiffness matrix for the given displacements. |
Public Types Documentation
typedef Energy
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Energy = Real;
typedef Forces
The forces equal to \(d\_{ij} E\). Here, d_ij refers to the derivative with respect to jth degree of freedom of the ith node.
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Forces = NodalDisplacements;
typedef MaterialModel
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::MaterialModel = MaterialModel_;
typedef NodalDisplacements
The displacements per node.
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::NodalDisplacements = tensor::Tensor<ValueType_, NumVerts, DegreesOfFreedom>;
typedef Real
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Real = RealType_;
typedef RotationType
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::RotationType = two_node_corotational_beam::Rotation<Dimension_>;
typedef Size
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Size = std::size_t;
typedef StiffnessMatrix
The stiffness matrix equal to \(d\_{ij} d\_{kl} E\). Here, d_ij refers to the derivative with respect to jth degree of freedom of the ith node.
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::StiffnessMatrix = Eigen::Matrix<ValueType_, NumVerts * DegreesOfFreedom, NumVerts * DegreesOfFreedom, Eigen::RowMajor>;
typedef Time
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Time = Real;
typedef Value
using ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Value = ValueType_;
Public Attributes Documentation
variable axis
std::array<RealType_, Dimension_> ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::axis;
Initial distance vector between the 2 nodes of the beam: nodal_positions[1] - nodal_positions[0] (precomputed).
variable material_model
Material model used by this beam.
MaterialModel ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::material_model;
variable nodal_distance
double ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::nodal_distance;
Initial distance between nodal_positions[0] and nodal_positions[1] (precomputed).
variable nodal_positions
Initial positions of the 2 nodes.
tensor::Tensor<RealType_, 2, Dimension_> ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::nodal_positions;
variable nodal_rotations
Initial rotation vectors for the 2 nodes.
std::array<RotationType, 2> ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::nodal_rotations;
variable properties
TwoNodeCorotationalBeamProperties<RealType_, Dimension_> ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::properties;
Public Static Attributes Documentation
variable DegreesOfFreedom
Number of degrees of freedom.
const std::size_t ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::DegreesOfFreedom;
variable Dimension
The dimension of physical space.
const std::size_t ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::Dimension;
variable NumVerts
Number of element nodes / shape functions.
const std::size_t ae108::elements::TwoNodeCorotationalBeamElement< MaterialModel_, Dimension_, ValueType_, RealType_ >::NumVerts;
Public Functions Documentation
function computeEnergy
Computes the energy for the given displacements.
inline Energy ae108::elements::TwoNodeCorotationalBeamElement::computeEnergy (
const NodalDisplacements & u,
const Time & time
) noexcept const
function computeForces
Computes the forces for the given displacements.
inline Forces ae108::elements::TwoNodeCorotationalBeamElement::computeForces (
const NodalDisplacements & u,
const Time & time
) noexcept const
function computeStiffnessMatrix
Computes the stiffness matrix for the given displacements.
inline StiffnessMatrix ae108::elements::TwoNodeCorotationalBeamElement::computeStiffnessMatrix (
const NodalDisplacements & u,
const Time & time
) noexcept const
The documentation for this class was generated from the following file elements/src/include/ae108/elements/TwoNodeCorotationalBeamElement.h