mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

Public Member Functions | List of all members
MBSimFlexibleBody::DiscretizationInterface Class Referenceabstract

discretization interface for flexible systems More...

`#include <discretization_interface.h>`

Inheritance diagram for MBSimFlexibleBody::DiscretizationInterface:
[legend]

## Public Member Functions

| DiscretizationInterface ()=default
| constructor
virtual | ~DiscretizationInterface ()=default
| destructor
virtual const fmatvec::SymMat & | getM () const =0
virtual const fmatvec::Vec & | geth () const =0
virtual const fmatvec::SqrMat & | getdhdq () const =0
virtual const fmatvec::SqrMat & | getdhdu () const =0
virtual int | getqSize () const =0
virtual int | getuSize () const =0
virtual void | computeM (const fmatvec::Vec &q)=0
| compute mass matrix More...
virtual void | computeh (const fmatvec::Vec &q, const fmatvec::Vec &u)=0
| compute smooth right hand side More...
virtual void | computedhdz (const fmatvec::Vec &q, const fmatvec::Vec &u)=0
| compute Jacobian for implicit integration More...
virtual double | computeKineticEnergy (const fmatvec::Vec &q, const fmatvec::Vec &u)=0
| compute kinetic energy More...
virtual double | computeGravitationalEnergy (const fmatvec::Vec &q)=0
| compute gravitational energy More...
virtual double | computeElasticEnergy (const fmatvec::Vec &q)=0
| compute elastic energy More...

## Detailed Description

discretization interface for flexible systems

Author
  Thorsten Schindler
  Roland Zander

Date
  2009-03-09 initial commit in kernel_dev (Thorsten Schindler)
  2009-07-23 own file / split updateM and updateh (Thorsten Schindler)

interface for the desription of flexible systems using global and FE ansatz functions

## Member Function Documentation

## ◆ computedhdz()

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

pure virtual

compute Jacobian for implicit integration

Parameters

  generalised | positions
  generalised | velocities

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ computeElasticEnergy()

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

pure virtual

compute elastic energy

Parameters

  generalised | positions

Implemented in MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ computeGravitationalEnergy()

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

pure virtual

compute gravitational energy

Parameters

  generalised | positions

Implemented in MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ computeh()

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

pure virtual

compute smooth right hand side

Parameters

  generalised | positions
  generalised | velocities

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ computeKineticEnergy()

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

pure virtual

compute kinetic energy

Parameters

  generalised | positions
  generalised | velocities

Implemented in MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ computeM()

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

pure virtual

compute mass matrix

Parameters

  generalised | positions

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ getdhdq()

virtual const fmatvec::SqrMat& MBSimFlexibleBody::DiscretizationInterface::getdhdq | ( |  | ) | const

pure virtual

Returns
  Jacobian of implicit integration regarding position

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ getdhdu()

virtual const fmatvec::SqrMat& MBSimFlexibleBody::DiscretizationInterface::getdhdu | ( |  | ) | const

pure virtual

Returns
  Jacobian of implicit integration regarding velocity

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ geth()

virtual const fmatvec::Vec& MBSimFlexibleBody::DiscretizationInterface::geth | ( |  | ) | const

pure virtual

Returns
  smooth right hand side of discretization

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ getM()

virtual const fmatvec::SymMat& MBSimFlexibleBody::DiscretizationInterface::getM | ( |  | ) | const

pure virtual

Returns
  mass matrix of discretization

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ getqSize()

virtual int MBSimFlexibleBody::DiscretizationInterface::getqSize | ( |  | ) | const

pure virtual

Returns
  dimension of positions

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

## ◆ getuSize()

virtual int MBSimFlexibleBody::DiscretizationInterface::getuSize | ( |  | ) | const

pure virtual

Returns
  dimension of velocities

Implemented in MBSimFlexibleBody::FiniteElement1s33CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21CosseratRotation, MBSimFlexibleBody::FiniteElement1s21CosseratTranslation, MBSimFlexibleBody::FiniteElement1s21ANCF, MBSimFlexibleBody::FiniteElement1s33CosseratRotation, MBSimFlexibleBody::SuperElementLinearExternal, MBSimFlexibleBody::FiniteElement1s21RCM, MBSimFlexibleBody::FlexibleBody1SReferenceCurveFE, MBSimFlexibleBody::FiniteElement1s33ANCF, MBSimFlexibleBody::FiniteElement1s33RCM, MBSimFlexibleBody::FiniteElement1s23BTA, MBSimFlexibleBody::FiniteElement2s13Disk, MBSimFlexibleBody::FiniteElement2s13MFRMindlin, and MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode.

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

- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/discretization_interface.h