Skip to content

Struct ae108::elements::ElementWithMass

template <ElementConcept Element_>

ClassList > ae108 > elements > ElementWithMass

Extends a given element to also store a mass matrix.

  • #include <ElementWithMass.h>

Public Types

Type Name
typedef Element_ Element
typedef typename Element::Energy Energy
typedef typename Element::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 StiffnessMatrix MassMatrix
typedef typename Element::NodalDisplacements NodalDisplacements
The displacements per node.
typedef typename Element::Real Real
typedef typename Element::Size Size
typedef typename Element::StiffnessMatrix 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 typename Element::Time Time
typedef typename Element::Value Value

Public Attributes

Type Name
Element element
MassMatrix mass_matrix

Public Static Attributes

Type Name
const Size DegreesOfFreedom = Element::DegreesOfFreedom
Number of degrees of freedom.
const Size Dimension = Element::Dimension
The dimension of physical space.
const Size NumVerts = Element::NumVerts
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.
MassMatrix computeMassMatrix () noexcept const
StiffnessMatrix computeStiffnessMatrix (const NodalDisplacements & u, const Time & time) noexcept const
Computes the stiffness matrix for the given displacements.

Public Types Documentation

typedef Element

using ae108::elements::ElementWithMass< Element_ >::Element =  Element_;

typedef Energy

using ae108::elements::ElementWithMass< Element_ >::Energy =  typename Element::Energy;

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::ElementWithMass< Element_ >::Forces =  typename Element::NodalDisplacements;


typedef MassMatrix

using ae108::elements::ElementWithMass< Element_ >::MassMatrix =  StiffnessMatrix;

typedef NodalDisplacements

The displacements per node.

using ae108::elements::ElementWithMass< Element_ >::NodalDisplacements =  typename Element::NodalDisplacements;


typedef Real

using ae108::elements::ElementWithMass< Element_ >::Real =  typename Element::Real;

typedef Size

using ae108::elements::ElementWithMass< Element_ >::Size =  typename Element::Size;

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::ElementWithMass< Element_ >::StiffnessMatrix =  typename Element::StiffnessMatrix;


typedef Time

using ae108::elements::ElementWithMass< Element_ >::Time =  typename Element::Time;

typedef Value

using ae108::elements::ElementWithMass< Element_ >::Value =  typename Element::Value;

Public Attributes Documentation

variable element

Element ae108::elements::ElementWithMass< Element_ >::element;

variable mass_matrix

MassMatrix ae108::elements::ElementWithMass< Element_ >::mass_matrix;

Public Static Attributes Documentation

variable DegreesOfFreedom

Number of degrees of freedom.

const Size ae108::elements::ElementWithMass< Element_ >::DegreesOfFreedom;


variable Dimension

The dimension of physical space.

const Size ae108::elements::ElementWithMass< Element_ >::Dimension;


variable NumVerts

Number of element nodes / shape functions.

const Size ae108::elements::ElementWithMass< Element_ >::NumVerts;


Public Functions Documentation

function computeEnergy

Computes the energy for the given displacements.

inline Energy ae108::elements::ElementWithMass::computeEnergy (
    const NodalDisplacements & u,
    const Time & time
) noexcept const


function computeForces

Computes the forces for the given displacements.

inline Forces ae108::elements::ElementWithMass::computeForces (
    const NodalDisplacements & u,
    const Time & time
) noexcept const


function computeMassMatrix

inline MassMatrix ae108::elements::ElementWithMass::computeMassMatrix () noexcept const

function computeStiffnessMatrix

Computes the stiffness matrix for the given displacements.

inline StiffnessMatrix ae108::elements::ElementWithMass::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/ElementWithMass.h