finite element for planar beam using Absolute Nodal Coordinate Formulation (ANCF) More...
#include <finite_element_1s_21_ancf.h>
Public Member Functions | |
FiniteElement1s21ANCF (double sl0, double sArho, double sEA, double sEI, fmatvec::Vec sg, bool sEuler=false, double sv0=0.) | |
constructor More... | |
virtual | ~FiniteElement1s21ANCF () |
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 | getJacobianOfMotion (const fmatvec::Vec &qElement, double s) |
void | setCurlRadius (double R) |
void | setMaterialDamping (double depsilon_, double dkappa_) |
void | initM () |
calculate constant mass matrix | |
fmatvec::Vec | LocateBalken (const fmatvec::Vec &qElement, double s) |
return the planar position and angle at a contour point (Lagrange/Euler) More... | |
fmatvec::Vec | StateBalken (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s) |
return the planar state at a contour point (Lagrange/Euler) 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::Mat | GlobalShapeFunctions_1stDerivative (double s) |
return 1st derivative of the matrix of global shape functions More... | |
fmatvec::Vec3 | getTangent (const fmatvec::Vec &qElement, double s) |
returns the tangent More... | |
![]() | |
DiscretizationInterface () | |
constructor | |
virtual | ~DiscretizationInterface () |
destructor | |
Private Attributes | |
double | l0 |
beam element length | |
double | Arho |
line-density | |
double | EA |
longitudinal stiffness | |
double | EI |
bending stiffness | |
bool | Euler |
Euler perspective: true if set. | |
double | v0 |
Euler perspective: constant longitudinal velocity. | |
double | wss0 |
predefined bending curvature | |
double | depsilon |
longitudinal damping | |
double | dkappa |
curvature damping | |
fmatvec::Vec | g |
gravitation | |
fmatvec::SymMat | M |
mass matrix | |
fmatvec::Vec | h |
right hand side | |
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 planar beam using Absolute Nodal Coordinate Formulation (ANCF)
model based on SHABANA, A. A.: Computer Implementation of the Absolute Nodal Coordinate Formulation for Flexible Multibody Dynamics. In: Nonlinear Dynamics 16 (1998), S. 293-306 SHABANA, A. A.: Definition of the Slopes and the Finite Element Absolute Nodal Coordinate Formulation. In: Nonlinear Dynamics 1 (1997), S. 339-348 SHABANE, A. A.: Dynamics of Multibody Systems. Cambridge University Press (2005)
|
explicit |
constructor
undeformed | lenght of element |
line-density | of beam |
longitudinal | stiffness |
bending | stiffness |
vector | of gravitational acceleration |
|
virtual |
|
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.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
Vec3 MBSimFlexibleBody::FiniteElement1s21ANCF::getTangent | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
returns the tangent
generalised | coordinates |
contour | point (Lagrange/Euler) |
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
Mat MBSimFlexibleBody::FiniteElement1s21ANCF::GlobalShapeFunctions | ( | double | s | ) |
return the matrix of global shape functions
contour | point (Lagrange/Euler) |
Mat MBSimFlexibleBody::FiniteElement1s21ANCF::GlobalShapeFunctions_1stDerivative | ( | double | s | ) |
return 1st derivative of the matrix of global shape functions
contour | point (Lagrange/Euler) |
Mat MBSimFlexibleBody::FiniteElement1s21ANCF::JGeneralized | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
return the JACOBIAN of translation and rotation with respect to generalised coordinates
generalised | coordinates |
contour | point (Lagrange/Euler) |
Vec MBSimFlexibleBody::FiniteElement1s21ANCF::LocateBalken | ( | const fmatvec::Vec & | qElement, |
double | s | ||
) |
return the planar position and angle at a contour point (Lagrange/Euler)
generalised | coordinates |
contour | point (Lagrange/Euler) |
void MBSimFlexibleBody::FiniteElement1s21ANCF::setCurlRadius | ( | double | R | ) |
compute additional informations for element
Vec MBSimFlexibleBody::FiniteElement1s21ANCF::StateBalken | ( | const fmatvec::Vec & | qElement, |
const fmatvec::Vec & | qpElement, | ||
double | s | ||
) |
return the planar state at a contour point (Lagrange/Euler)
generalised | positions |
generalised | velocities |
contour | point (Lagrange/Euler) |