mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

Public Member Functions | Private Attributes | List of all members
MBSimFlexibleBody::FiniteElement2s13MFRMindlin Class Reference

FE for Reissner-Mindlin Plate using MFR. More...

`#include <2s_13_mfr_mindlin.h>`

Inheritance diagram for MBSimFlexibleBody::FiniteElement2s13MFRMindlin:
[legend]

## Public Member Functions

| FiniteElement2s13MFRMindlin (double E_, double nu_, double rho_, double d0_, double d1_, double d2_, const fmatvec::Vec &NodeCoordinates)
| constructor More...
| ~FiniteElement2s13MFRMindlin () override
| destructor
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 &q) override
| compute mass matrix More...
void | computeh (const fmatvec::Vec &q, const fmatvec::Vec &u) override
| compute smooth right hand side More...
void | computedhdz (const fmatvec::Vec &q, const fmatvec::Vec &u) override
| compute Jacobian for implicit integration More...
double | computeKineticEnergy (const fmatvec::Vec &q, const fmatvec::Vec &u) override
| compute kinetic energy More...
double | computeGravitationalEnergy (const fmatvec::Vec &q) override
| compute gravitational energy More...
double | computeElasticEnergy (const fmatvec::Vec &q) override
| compute elastic energy More...
virtual fmatvec::Vec3 | getPosition (const fmatvec::Vec &qElement, const fmatvec::Vec2 &s)
virtual fmatvec::SqrMat3 | getOrientation (const fmatvec::Vec &qElement, const fmatvec::Vec2 &s)
virtual fmatvec::Vec3 | getVelocity (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, const fmatvec::Vec2 &s)
virtual fmatvec::Vec3 | getAngularVelocity (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, const fmatvec::Vec2 &s)
virtual fmatvec::Mat | getJacobianOfMotion (const fmatvec::Vec &qElement, const fmatvec::Vec2 &s)
const fmatvec::SymMat & | getM () const override
const fmatvec::SymMat & | getK () const
const fmatvec::SymMat & | getM_RR () const
const fmatvec::Mat & | getN_compl () const
const fmatvec::SqrMat & | getN_ij (int i, int j) const
const fmatvec::RowVec & | getNR_ij (int i, int j) const
const fmatvec::Vec & | getR_compl () const
const fmatvec::SymMat & | getR_ij () const
void | setEModul (double E_)
void | setPoissonRatio (double nu_)
void | setDensity (double rho_)
void | setShearCorrectionFactor (double alphaS_)
void | freeK ()
void | freeM_RR ()
void | freeN_ij (int i, int j)
void | freeN_compl ()
void | freeNR_ij (int i, int j)
void | freeR_compl ()
void | freeR_ij ()
void | computeStiffnessMatrix ()
| computes stiffnes matrix
void | computeM_RR ()
| computes a part of the mass matrix
void | computeN_compl ()
| computes a part of the mass matrix
void | computeN_ij (int i, int j)
| computes a part of the mass matrix More...
void | computeN_11 ()
void | computeN_12 ()
void | computeN_13 ()
void | computeN_21 ()
void | computeN_22 ()
void | computeN_23 ()
void | computeN_31 ()
void | computeN_32 ()
void | computeN_33 ()
void | computeNR_ij (int i, int j)
| computes a part of the mass matrix More...
void | computeNR_11 ()
void | computeNR_12 ()
void | computeNR_13 ()
void | computeNR_21 ()
void | computeNR_22 ()
void | computeNR_23 ()
void | computeNR_31 ()
void | computeNR_32 ()
void | computeNR_33 ()
void | computeR_compl ()
| computes a part of the mass matrix
void | computeR_ij ()
| computes a part of the mass matrix
fmatvec::Vector< fmatvec::Fixed< 6 >, double > | getPositions (const fmatvec::Vec &NodeCoordinates, const fmatvec::Vec &qElement, const fmatvec::Vec2 &s, double d1, double d2)
fmatvec::Vector< fmatvec::Fixed< 6 >, double > | getVelocities (const fmatvec::Vec &NodeCoordinates, const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, const fmatvec::Vec2 &s, double d1, double d2)
fmatvec::Mat | JGeneralized (const fmatvec::Vec &NodeCoordinates, const fmatvec::Vec2 &s)
| compute Jacobian of contact description at contour point More...
Public Member Functions inherited from MBSimFlexibleBody::DiscretizationInterface
| DiscretizationInterface ()=default
| constructor
virtual | ~DiscretizationInterface ()=default
| destructor

## Private Attributes

double | E
| Young's modulus.
double | nu
| Poisson ratio.
double | G
| shear modulus
double | d0
| geometric factors of the disk
double | d1
double | d2
double | rho
| density
double | alphaS
| shear correction factor
int | RefDofs
| reference dof
int | NodeDofs
| elastic dof per node
int | Nodes
| number of nodes
fmatvec::Vec | NodeCoordinates
| radial and azimuthal coordinates of corner nodes
fmatvec::SymMat * | K
| stiffness matrix
fmatvec::SymMat * | M_RR
| part of the mass matrix
fmatvec::Mat * | N_compl
| part of the mass matrix
fmatvec::SqrMat * | N_ij [3][3]
| part of the mass matrix
fmatvec::RowVec * | NR_ij [3][3]
| part of the mass matrix
fmatvec::Vec * | R_compl
| part of the mass matrix
fmatvec::SymMat * | R_ij
| part of the mass matrix

## Detailed Description

FE for Reissner-Mindlin Plate using MFR.

Author
  Kilian Grundl
  Thorsten Schindler

Date
  2009-12-23 initial commit (Grundl / Schindler)
  2010-04-23 check (Schindler)
  2010-08-18 check (Schindler)

## Constructor & Destructor Documentation

## ◆ FiniteElement2s13MFRMindlin()

MBSimFlexibleBody::FiniteElement2s13MFRMindlin::FiniteElement2s13MFRMindlin | ( | double | E_,
|  | double | nu_,
|  | double | rho_,
|  | double | d0_,
|  | double | d1_,
|  | double | d2_,
|  | const fmatvec::Vec & | NodeCoordinates
| ) |  |

constructor

Parameters

  Young's | modulus
  Poisson | ratio
  density |
  thickness | parametrisation
  radial | and azimuthal coordinates of corner nodes

## Member Function Documentation

## ◆ computedhdz()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::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::FiniteElement2s13MFRMindlin::computeElasticEnergy | ( | const fmatvec::Vec & | q | ) |

override virtual

compute elastic energy

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeGravitationalEnergy()

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

override virtual

compute gravitational energy

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeh()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::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::FiniteElement2s13MFRMindlin::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::FiniteElement2s13MFRMindlin::computeM | ( | const fmatvec::Vec & | q | ) |

override virtual

compute mass matrix

Parameters

  generalised | positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ computeN_ij()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeN_ij | ( | int | i,
|  | int | j
| ) |  |

computes a part of the mass matrix

Parameters

  index | of ansatz functions

## ◆ computeNR_ij()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeNR_ij | ( | int | i,
|  | int | j
| ) |  |

computes a part of the mass matrix

Parameters

  index | of ansatz functions

## ◆ getdhdq()

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

override virtual

Returns
  Jacobian of implicit integration regarding position

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getdhdu()

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

override virtual

Returns
  Jacobian of implicit integration regarding velocity

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ geth()

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

override virtual

Returns
  smooth right hand side of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getM()

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

override virtual

Returns
  mass matrix of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getPositions()

fmatvec::Vector<fmatvec::Fixed<6>, double> MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getPositions | ( | const fmatvec::Vec & | NodeCoordinates,
|  | const fmatvec::Vec & | qElement,
|  | const fmatvec::Vec2 & | s,
|  | double | d1,
|  | double | d2
| ) |  |

Parameters

  radial | and azimuthal coordinates of corner nodes
  generalised | coordinates
  generalised | velocities
  Lagrangian | position of contour point
  inner | thickness of whole disk
  outer | thickness of whole disk

Returns
  state at contour point

## ◆ getqSize()

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

inline override virtual

Returns
  dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ getuSize()

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

inline override virtual

Returns
  dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

## ◆ JGeneralized()

Mat MBSimFlexibleBody::FiniteElement2s13MFRMindlin::JGeneralized | ( | const fmatvec::Vec & | NodeCoordinates,
|  | const fmatvec::Vec2 & | s
| ) |  |

compute Jacobian of contact description at contour point

Parameters

  radial | and azimuthal coordinates of corner nodes
  Lagrangian | position of contour point

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

- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin.h
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/K.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/M_RR.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_11.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_12.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_21.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_22.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_33.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/N_compl.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/NR_13.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/NR_23.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/R_compl.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin/R_ij.cc
- /mbsim-env/mbsim/modules/mbsimFlexibleBody/mbsimFlexibleBody/flexible_body/fe/2s_13_mfr_mindlin.cc