All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Private Attributes | List of all members
MBSimFlexibleBody::FiniteElement1s23BTA Class Reference

finite element for bending torsional axis More...

#include <finite_element_1s_23_bta.h>

Inheritance diagram for MBSimFlexibleBody::FiniteElement1s23BTA:
MBSimFlexibleBody::DiscretizationInterface

Public Member Functions

 FiniteElement1s23BTA (double l0, double Arho, double EIyy, double EIzz, double Itrho, double GIt, fmatvec::Vec g)
 constructor More...
 
virtual ~FiniteElement1s23BTA ()
 destructor
 
virtual const fmatvec::SymMatgetM () const
 
virtual const fmatvec::Vecgeth () const
 
virtual const fmatvec::SqrMatgetdhdq () const
 
virtual const fmatvec::SqrMatgetdhdu () const
 
virtual int getqSize () const
 
virtual int getuSize () const
 
virtual void computeM (const fmatvec::Vec &qG)
 compute mass matrix More...
 
virtual void computeh (const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
 compute smooth right hand side More...
 
virtual void computedhdz (const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
 compute Jacobian for implicit integration More...
 
virtual double computeKineticEnergy (const fmatvec::Vec &q, const fmatvec::Vec &u)
 compute kinetic energy More...
 
virtual double computeGravitationalEnergy (const fmatvec::Vec &q)
 compute gravitational energy More...
 
virtual double computeElasticEnergy (const fmatvec::Vec &q)
 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)
 
void setMaterialDamping (double)
 
void setLehrDamping (double)
 
void setTorsionalDamping (double dTorsional_)
 
fmatvec::Vec3 getTangent (const fmatvec::Vec &q, double s)
 compute tangent More...
 
fmatvec::Vector
< fmatvec::Fixed< 6 >, double > 
getPositions (const fmatvec::Vec &qElement, double s)
 
fmatvec::Vector
< fmatvec::Fixed< 6 >, double > 
getVelocities (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s)
 
fmatvec::Mat JGeneralized (const fmatvec::Vec &q, double s)
 compute accompanying trihedral More...
 
- Public Member Functions inherited from MBSimFlexibleBody::DiscretizationInterface
 DiscretizationInterface ()
 constructor
 
virtual ~DiscretizationInterface ()
 destructor
 

Private Attributes

double l0
 length of finite element
 
double Arho
 cross sectional area multiplied with density
 
double EIyy
 Young's modulus multiplied with geometrical moment of inertia.
 
double EIzz
 
double Itrho
 geometrical moment of inertia multiplied with density
 
double GIt
 shear modulus multiplied with geometrical moment of inertia
 
fmatvec::Vec g
 gravitation
 
double depsilon
 prolongational and torsional damping
 
double dTorsional
 
fmatvec::SymMat M
 global system description
 
fmatvec::Vec h
 
fmatvec::SqrMat Dhq
 matrices for implicit integration
 
fmatvec::SqrMat Dhqp
 
fmatvec::SqrMat Damp
 internal damping matrix
 
double l0h2
 beam length powers
 
double l0h3
 

Detailed Description

finite element for bending torsional axis

Author
Roland Zander
Thorsten Schindler
Date
2009-11-22 initial commit kernel_dev
Todo:

implicit integration analytically TODO

tangent, awk necessary? TODO

Constructor & Destructor Documentation

MBSimFlexibleBody::FiniteElement1s23BTA::FiniteElement1s23BTA ( double  l0,
double  Arho,
double  EIyy,
double  EIzz,
double  Itrho,
double  GIt,
fmatvec::Vec  g 
)

constructor

Parameters
lengthof finite element
cross-sectionalarea multiplied with density
Young'smodulus multiplied with first area moment of inertia
Young'smodulus multiplied with second area moment of inertia
torsionalmoment of inertia multiplied with density
shearmodulus multiplied with torsional moment of inertia
accelerationof gravity

Member Function Documentation

void MBSimFlexibleBody::FiniteElement1s23BTA::computedhdz ( const fmatvec::Vec q,
const fmatvec::Vec u 
)
virtual

compute Jacobian for implicit integration

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

double MBSimFlexibleBody::FiniteElement1s23BTA::computeElasticEnergy ( const fmatvec::Vec q)
virtual

compute elastic energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

double MBSimFlexibleBody::FiniteElement1s23BTA::computeGravitationalEnergy ( const fmatvec::Vec q)
virtual

compute gravitational energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

void MBSimFlexibleBody::FiniteElement1s23BTA::computeh ( const fmatvec::Vec q,
const fmatvec::Vec u 
)
virtual

compute smooth right hand side

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

double MBSimFlexibleBody::FiniteElement1s23BTA::computeKineticEnergy ( const fmatvec::Vec q,
const fmatvec::Vec u 
)
virtual

compute kinetic energy

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

void MBSimFlexibleBody::FiniteElement1s23BTA::computeM ( const fmatvec::Vec q)
virtual

compute mass matrix

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual const fmatvec::SqrMat& MBSimFlexibleBody::FiniteElement1s23BTA::getdhdq ( ) const
inlinevirtual
Returns
Jacobian of implicit integration regarding position

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual const fmatvec::SqrMat& MBSimFlexibleBody::FiniteElement1s23BTA::getdhdu ( ) const
inlinevirtual
Returns
Jacobian of implicit integration regarding velocity

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual const fmatvec::Vec& MBSimFlexibleBody::FiniteElement1s23BTA::geth ( ) const
inlinevirtual
Returns
smooth right hand side of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual const fmatvec::SymMat& MBSimFlexibleBody::FiniteElement1s23BTA::getM ( ) const
inlinevirtual
Returns
mass matrix of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual int MBSimFlexibleBody::FiniteElement1s23BTA::getqSize ( ) const
inlinevirtual
Returns
dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

Vec3 MBSimFlexibleBody::FiniteElement1s23BTA::getTangent ( const fmatvec::Vec q,
double  s 
)

compute tangent

Parameters
globalcoordinates
LAGRANGIANparameter
virtual int MBSimFlexibleBody::FiniteElement1s23BTA::getuSize ( ) const
inlinevirtual
Returns
dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

Mat MBSimFlexibleBody::FiniteElement1s23BTA::JGeneralized ( const fmatvec::Vec q,
double  s 
)

compute accompanying trihedral

Parameters
globalcoordinates
LAGRANGIANparameter

compute global state

Parameters
globalcoordinates
globalvelocities
LAGRANGIANparameter
Returns
x,y,z,alpha,2x bending angle and velocities compute JACOBIAN of contact description
Parameters
globalcoordinates
LAGRANGIANparameter
Returns
JACOBIAN without x-direction

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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML