Skip to content

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 = 2
Number 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