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

finite element for spatial beam using Cosserat model : rotation element for bending and torsion More...

#include <finite_element_1s_33_cosserat_rotation.h>

Inheritance diagram for MBSimFlexibleBody::FiniteElement1s33CosseratRotation:
MBSimFlexibleBody::DiscretizationInterface

Public Member Functions

 FiniteElement1s33CosseratRotation (double l0_, double E_, double G_, double I1_, double I2_, double I0_, CardanPtr ag_)
 constructor More...
 
virtual ~FiniteElement1s33CosseratRotation ()
 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 &qG, const fmatvec::Vec &qGt)
 compute kinetic energy More...
 
virtual double computeGravitationalEnergy (const fmatvec::Vec &qG)
 compute gravitational energy More...
 
virtual double computeElasticEnergy (const fmatvec::Vec &qG)
 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 computeJacobianOfMotion (const fmatvec::Vec &qG, double s)
 
void setCurlRadius (double R1, double R2)
 
double getl0 () const
 
fmatvec::Mat computeJXqG (const fmatvec::Vec &qG, double x)
 compute JACOBIAN of contact description in global coordinates More...
 
- Public Member Functions inherited from MBSimFlexibleBody::DiscretizationInterface
 DiscretizationInterface ()
 constructor
 
virtual ~DiscretizationInterface ()
 destructor
 

Private Member Functions

 FiniteElement1s33CosseratRotation (const FiniteElement1s33CosseratRotation &)
 
FiniteElement1s33CosseratRotationoperator= (const FiniteElement1s33CosseratRotation &)
 

Private Attributes

double l0
 length of finite element
 
double E
 Young's modulus.
 
double G
 shear modulus
 
double I1
 geometrical moment of inertia
 
double I2
 
double I0
 
double k10
 predefined bending k10: precurvature in t-b-plane k20: precurvature in t-n-plane
 
double k20
 
fmatvec::Vec h
 global system description
 
fmatvec::Vec X
 state at Lagrangian coordinate
 
fmatvec::SqrMat dhdq
 matrices for implicit integration
 
fmatvec::SqrMat dhdu
 
CardanPtr ag
 Cardan-object.
 

Detailed Description

finite element for spatial beam using Cosserat model : rotation element for bending and torsion

Author
Thorsten Schindler
Christian Käsbauer
Thomas Cebulla
Date
2011-10-11 initial commit (Thorsten Schindler)
Todo:
bending/torsion in rhs TODO

Cosserat model based on H. Lang, J. Linn, M. Arnold: Multi-body dynamics simulation of geometrically exact Cosserat rods but with

Constructor & Destructor Documentation

MBSimFlexibleBody::FiniteElement1s33CosseratRotation::FiniteElement1s33CosseratRotation ( double  l0_,
double  E_,
double  G_,
double  I1_,
double  I2_,
double  I0_,
CardanPtr  ag_ 
)

constructor

Parameters
lengthof finite element
Young'smodulus
shearmodulus
firstarea moment of inertia
secondarea moment of inertia
torsionalmoment of inertia
cardanobject

Member Function Documentation

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

compute Jacobian for implicit integration

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute elastic energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute gravitational energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute smooth right hand side

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

Mat MBSimFlexibleBody::FiniteElement1s33CosseratRotation::computeJXqG ( const fmatvec::Vec qG,
double  x 
)

compute JACOBIAN of contact description in global coordinates

Parameters
globalcoordinates
LAGRANGIANparameter
double MBSimFlexibleBody::FiniteElement1s33CosseratRotation::computeKineticEnergy ( const fmatvec::Vec q,
const fmatvec::Vec u 
)
virtual

compute kinetic energy

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute mass matrix

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

const SymMat & MBSimFlexibleBody::FiniteElement1s33CosseratRotation::getM ( ) const
virtual
Returns
mass matrix of discretization

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

virtual int MBSimFlexibleBody::FiniteElement1s33CosseratRotation::getuSize ( ) const
inlinevirtual
Returns
dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML