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

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 
)
overridevirtual

compute Jacobian for implicit integration

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeElasticEnergy()

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

compute elastic energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeGravitationalEnergy()

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

compute gravitational energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeh()

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

compute smooth right hand side

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeKineticEnergy()

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

compute kinetic energy

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ computeM()

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

compute mass matrix

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getdhdq()

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

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getdhdu()

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

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ geth()

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

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getM()

const SymMat & MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getM ( ) const
overridevirtual
Returns
mass matrix of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getqSize()

int MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getqSize ( ) const
overridevirtual
Returns
dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

◆ getuSize()

int MBSimFlexibleBody::FiniteElementLinearExternalLumpedNode::getuSize ( ) const
overridevirtual
Returns
dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.


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