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

finite element for spatial beam using Absolute Nodal Coordinate Formulation (ANCF) More...

#include <finite_element_1s_33_ancf.h>

Inheritance diagram for MBSimFlexibleBody::FiniteElement1s33ANCF:
MBSimFlexibleBody::DiscretizationInterface

Public Member Functions

 FiniteElement1s33ANCF (double sl0, double srho, double sE, double sG, double sA, double sI0, double sI1, double sI2, fmatvec::Vec sg)
 constructor More...
 
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 &qElement)
 compute mass matrix More...
 
virtual void computeh (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
 compute smooth right hand side More...
 
virtual void computedhdz (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
 compute Jacobian for implicit integration More...
 
virtual double computeKineticEnergy (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
 compute kinetic energy More...
 
virtual double computeGravitationalEnergy (const fmatvec::Vec &qElement)
 compute gravitational energy More...
 
virtual double computeElasticEnergy (const fmatvec::Vec &qElement)
 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 &qElement, double s)
 
void setCurlRadius (double R1, double R2)
 
void setMaterialDamping (double depsilons)
 
void initM ()
 calculate constant mass matrix
 
fmatvec::Vec LocateBalken (const fmatvec::Vec &qElement, double s)
 return the position and Cardan angles at a contour point More...
 
fmatvec::Vec StateBalken (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s)
 return the state including Cardan angles at a contour point More...
 
fmatvec::Mat JGeneralized (const fmatvec::Vec &qElement, double s)
 return the JACOBIAN of translation and rotation with respect to generalised coordinates More...
 
fmatvec::Mat GlobalShapeFunctions (double s)
 return the matrix of global shape functions More...
 
fmatvec::Vec3 getTangent (const fmatvec::Vec &qElement, double s)
 returns the tangent More...
 
fmatvec::Vec3 getNormal (const fmatvec::Vec &qElement, double s)
 returns the normal More...
 
fmatvec::Vec3 getBinormal (const fmatvec::Vec &qElement, double s)
 returns the binormal More...
 
- Public Member Functions inherited from MBSimFlexibleBody::DiscretizationInterface
 DiscretizationInterface ()
 constructor
 
virtual ~DiscretizationInterface ()
 destructor
 

Private Member Functions

 FiniteElement1s33ANCF (const FiniteElement1s33ANCF &)
 copy constructor is declared private
 
FiniteElement1s33ANCFoperator= (const FiniteElement1s33ANCF &)
 assignment operator is declared private
 

Private Attributes

double l0
 beam element length
 
double rho
 density
 
double E
 Young's modulus.
 
double G
 shear modulus
 
double A
 cross-secion area
 
double I0
 polar moment of inertia
 
double I1
 area moment of inertia
 
double I2
 area moment of inertia
 
double wss01
 predefined bending curvature
 
double wss02
 predefined bending curvature
 
double depsilon
 longitudinal damping
 
fmatvec::Vec g
 gravitation
 
fmatvec::SymMat M
 mass matrix
 
fmatvec::Vec h
 right hand side
 
fmatvec::SqrMat Damp
 damping matrix
 
fmatvec::SqrMat Dhq
 derivative of right hand side with respect to positions
 
fmatvec::SqrMat Dhqp
 derivative of right hand side with respect to velocities
 

Detailed Description

finite element for spatial beam using Absolute Nodal Coordinate Formulation (ANCF)

cable element with no explicit torsion, i.e. angular velocity and Jacobian of rotation depend only on two bending angles

Author
Thorsten Schindler
Date
2014-03-20 initial commit

model based on DOMBROWSKI, S.: Analysis of Large Flexible Body Deformation in Multibody Systems Using Absolute Coordinates. Multibody System Dynamics (2002)

Constructor & Destructor Documentation

MBSimFlexibleBody::FiniteElement1s33ANCF::FiniteElement1s33ANCF ( double  sl0,
double  srho,
double  sE,
double  sG,
double  sA,
double  sI0,
double  sI1,
double  sI2,
fmatvec::Vec  sg 
)
explicit

constructor

Parameters
undeformedlenght of element
cross-sectionarea
densityof beam
Young'smodulus
shearmodulus
polarmoment of inertia
areamoment of inertia
areamoment of inertia
vectorof gravitational acceleration

Member Function Documentation

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

compute Jacobian for implicit integration

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute elastic energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute gravitational energy

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute smooth right hand side

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute kinetic energy

Parameters
generalisedpositions
generalisedvelocities

Implements MBSimFlexibleBody::DiscretizationInterface.

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

compute mass matrix

Parameters
generalisedpositions

Implements MBSimFlexibleBody::DiscretizationInterface.

Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getBinormal ( const fmatvec::Vec qElement,
double  s 
)

returns the binormal

Parameters
generalisedcoordinates
contourpoint
Returns
binormal
virtual const fmatvec::SqrMat& MBSimFlexibleBody::FiniteElement1s33ANCF::getdhdq ( ) const
inlinevirtual
Returns
Jacobian of implicit integration regarding position

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

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

Implements MBSimFlexibleBody::DiscretizationInterface.

Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getNormal ( const fmatvec::Vec qElement,
double  s 
)

returns the normal

Parameters
generalisedcoordinates
contourpoint
Returns
normal
virtual int MBSimFlexibleBody::FiniteElement1s33ANCF::getqSize ( ) const
inlinevirtual
Returns
dimension of positions

Implements MBSimFlexibleBody::DiscretizationInterface.

Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getTangent ( const fmatvec::Vec qElement,
double  s 
)

returns the tangent

Parameters
generalisedcoordinates
contourpoint
Returns
tangent
virtual int MBSimFlexibleBody::FiniteElement1s33ANCF::getuSize ( ) const
inlinevirtual
Returns
dimension of velocities

Implements MBSimFlexibleBody::DiscretizationInterface.

Mat MBSimFlexibleBody::FiniteElement1s33ANCF::GlobalShapeFunctions ( double  s)

return the matrix of global shape functions

Parameters
contourpoint
Returns
matrix of global shape functions
Mat MBSimFlexibleBody::FiniteElement1s33ANCF::JGeneralized ( const fmatvec::Vec qElement,
double  s 
)

return the JACOBIAN of translation and rotation with respect to generalised coordinates

Parameters
generalisedcoordinates
contourpoint
Returns
JACOBIAN of translation and rotation with respect to generalised coordinates
Vec MBSimFlexibleBody::FiniteElement1s33ANCF::LocateBalken ( const fmatvec::Vec qElement,
double  s 
)

return the position and Cardan angles at a contour point

Parameters
generalisedcoordinates
contourpoint
Returns
position and Cardan angles
Vec MBSimFlexibleBody::FiniteElement1s33ANCF::StateBalken ( const fmatvec::Vec qElement,
const fmatvec::Vec qpElement,
double  s 
)

return the state including Cardan angles at a contour point

Parameters
generalisedpositions
generalisedvelocities
contourpoint
Returns
state including Cardan angles

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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML