mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

Public Member Functions | Private Attributes | List of all members
MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode Class Reference
Inheritance diagram for MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode:
[legend]

## Public Member Functions

| FiniteElementLinearExternalLumpedNode (double &mij_, fmatvec::Vec3 &u0_, fmatvec::Mat3xV phi_)
| constructor
| ~FiniteElementLinearExternalLumpedNode () override
| destructor
const fmatvec::SymMat & | getM () const override
const fmatvec::Vec & | geth () const override
const fmatvec::SqrMat & | getdhdq () const override
const fmatvec::SqrMat & | getdhdu () const override
int | getqSize () const override
int | getuSize () const override
void | computeM (const fmatvec::Vec &qG) override
| compute mass matrix More...
void | computeh (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) override
| compute smooth right hand side More...
void | computedhdz (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) override
| compute Jacobian for implicit integration More...
double | computeKineticEnergy (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) override
| compute kinetic energy More...
double | computeGravitationalEnergy (const fmatvec::Vec &qG) override
| compute gravitational energy More...
double | computeElasticEnergy (const fmatvec::Vec &qG) override
| compute elastic energy More...
virtual fmatvec::Vec3 | getPosition (const fmatvec::Vec &qElement, double s)
virtual fmatvec::SqrMat3 | getOrientation (const fmatvec::Vec &qElement, double s)
virtual fmatvec::Vec3 | getVelocity (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s)
virtual fmatvec::Vec3 | getAngularVelocity (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s)
virtual fmatvec::Mat | getJacobianOfMotion (const fmatvec::Vec &qElement, double s)
const double | getMij () const
const fmatvec::Vec3 & | getU0 () const
const fmatvec::Mat3xV & | getModeShape () const
Public Member Functions inherited from MBSimFlexibleBody::DiscretizationInterface
| DiscretizationInterface ()=default
| constructor
virtual | ~DiscretizationInterface ()=default
| destructor

## Private Attributes

const double | mij
| lumped mass
const fmatvec::Vec3 | u0
| undeformed position vector
fmatvec::Mat3xV | phi
| mode shape vector: 3*nf

## Member Function Documentation

## ◆ computedhdz()

void MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computedhdz | ( | const fmatvec::Vec & | q,
|  | const fmatvec::Vec & | u
| ) |  |

override virtual

compute Jacobian for implicit integration

Parameters

  generalised | positions
  generalised | velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeElasticEnergy()

double MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computeElasticEnergy | ( | const fmatvec::Vec & | q | ) |

override virtual

compute elastic energy

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeGravitationalEnergy()

double MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computeGravitationalEnergy | ( | const fmatvec::Vec & | q | ) |

override virtual

compute gravitational energy

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeh()

void MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computeh | ( | const fmatvec::Vec & | q,
|  | const fmatvec::Vec & | u
| ) |  |

override virtual

compute smooth right hand side

Parameters

  generalised | positions
  generalised | velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeKineticEnergy()

double MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computeKineticEnergy | ( | const fmatvec::Vec & | q,
|  | const fmatvec::Vec & | u
| ) |  |

override virtual

compute kinetic energy

Parameters

  generalised | positions
  generalised | velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeM()

void MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::computeM | ( | const fmatvec::Vec & | q | ) |

override virtual

compute mass matrix

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getdhdq()

const SqrMat & MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getdhdq | ( |  | ) | const

override virtual

Returns
  Jacobian of implicit integration regarding position

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getdhdu()

const SqrMat & MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getdhdu | ( |  | ) | const

override virtual

Returns
  Jacobian of implicit integration regarding velocity

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ geth()

const Vec & MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::geth | ( |  | ) | const

override virtual

Returns
  smooth right hand side of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getM()

const SymMat & MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getM | ( |  | ) | const

override virtual

Returns
  mass matrix of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getqSize()

int MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getqSize | ( |  | ) | const

override virtual

Returns
  dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getuSize()

int MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getuSize | ( |  | ) | const

override virtual

Returns
  dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

The documentation for this class was generated from the following files:

- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/linear_external_lumped_node.h
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/linear_external_lumped_node.cc