finite element for spatial beam using Absolute Nodal Coordinate Formulation (ANCF) More...
#include <finite_element_1s_33_ancf.h>
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::SymMat & | getM () const |
virtual const fmatvec::Vec & | geth () const |
virtual const fmatvec::SqrMat & | getdhdq () const |
virtual const fmatvec::SqrMat & | getdhdu () 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... | |
![]() | |
DiscretizationInterface () | |
constructor | |
virtual | ~DiscretizationInterface () |
destructor | |
Private Member Functions | |
FiniteElement1s33ANCF (const FiniteElement1s33ANCF &) | |
copy constructor is declared private | |
FiniteElement1s33ANCF & | operator= (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 | |
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
model based on DOMBROWSKI, S.: Analysis of Large Flexible Body Deformation in Multibody Systems Using Absolute Coordinates. Multibody System Dynamics (2002)
|
explicit |
constructor
undeformed | lenght of element |
cross-section | area |
density | of beam |
Young's | modulus |
shear | modulus |
polar | moment of inertia |
area | moment of inertia |
area | moment of inertia |
vector | of gravitational acceleration |
|
virtual |
compute Jacobian for implicit integration
generalised | positions |
generalised | velocities |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute elastic energy
generalised | positions |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute gravitational energy
generalised | positions |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute smooth right hand side
generalised | positions |
generalised | velocities |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute kinetic energy
generalised | positions |
generalised | velocities |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute mass matrix
generalised | positions |
Implements MBSimFlexibleBody::DiscretizationInterface.
Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getBinormal | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
returns the binormal
generalised | coordinates |
contour | point |
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getNormal | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
returns the normal
generalised | coordinates |
contour | point |
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
Vec3 MBSimFlexibleBody::FiniteElement1s33ANCF::getTangent | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
returns the tangent
generalised | coordinates |
contour | point |
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
Mat MBSimFlexibleBody::FiniteElement1s33ANCF::GlobalShapeFunctions | ( | double | s | ) |
return the matrix of global shape functions
contour | point |
Mat MBSimFlexibleBody::FiniteElement1s33ANCF::JGeneralized | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
return the JACOBIAN of translation and rotation with respect to generalised coordinates
generalised | coordinates |
contour | point |
Vec MBSimFlexibleBody::FiniteElement1s33ANCF::LocateBalken | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
Vec MBSimFlexibleBody::FiniteElement1s33ANCF::StateBalken | ( | const fmatvec::Vec & | qElement, |
const fmatvec::Vec & | qpElement, | ||
double | s | ||
) |