mbsimflexiblebody  4.0.0
MBSim Flexible Body Module
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
 
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...
 

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'smodulus
Poissonratio
density
thicknessparametrisation
radialand azimuthal coordinates of corner nodes

Member Function Documentation

◆ computedhdz()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computedhdz ( const fmatvec::Vec &  q,
const fmatvec::Vec &  u 
)
overridevirtual

compute Jacobian for implicit integration

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeElasticEnergy()

double MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeElasticEnergy ( const fmatvec::Vec &  q)
overridevirtual

compute elastic energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeGravitationalEnergy()

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

compute gravitational energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeh()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeh ( const fmatvec::Vec &  q,
const fmatvec::Vec &  u 
)
overridevirtual

compute smooth right hand side

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeKineticEnergy()

double MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeKineticEnergy ( const fmatvec::Vec &  q,
const fmatvec::Vec &  u 
)
overridevirtual

compute kinetic energy

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeM()

void MBSimFlexibleBody::FiniteElement2s13MFRMindlin::computeM ( const fmatvec::Vec &  q)
overridevirtual

compute mass matrix

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeN_ij()

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

computes a part of the mass matrix

Parameters
indexof ansatz functions

◆ computeNR_ij()

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

computes a part of the mass matrix

Parameters
indexof ansatz functions

◆ getdhdq()

const SqrMat & MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getdhdq ( ) const
overridevirtual
Returns
Jacobian of implicit integration regarding position

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getdhdu()

const SqrMat & MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getdhdu ( ) const
overridevirtual
Returns
Jacobian of implicit integration regarding velocity

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ geth()

const Vec & MBSimFlexibleBody::FiniteElement2s13MFRMindlin::geth ( ) const
overridevirtual
Returns
smooth right hand side of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getM()

const SymMat & MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getM ( ) const
overridevirtual
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
radialand azimuthal coordinates of corner nodes
generalisedcoordinates
generalisedvelocities
Lagrangianposition of contour point
innerthickness of whole disk
outerthickness of whole disk
Returns
state at contour point

◆ getqSize()

int MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getqSize ( ) const
inlineoverridevirtual
Returns
dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getuSize()

int MBSimFlexibleBody::FiniteElement2s13MFRMindlin::getuSize ( ) const
inlineoverridevirtual
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
radialand azimuthal coordinates of corner nodes
Lagrangianposition of contour point

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