20 #ifndef _FINITE_ELEMENT_1S_21_ANCF_H_
21 #define _FINITE_ELEMENT_1S_21_ANCF_H_
23 #include "mbsimFlexibleBody/discretization_interface.h"
24 #include "fmatvec/fmatvec.h"
26 namespace MBSimFlexibleBody {
80 virtual fmatvec::Vec3 getPosition(
const fmatvec::Vec& qElement,
double s);
81 virtual fmatvec::SqrMat3 getOrientation(
const fmatvec::Vec& qElement,
double s);
94 void setMaterialDamping(
double depsilon_,
double dkappa_);
virtual const fmatvec::SqrMat & getdhdu() const
Definition: finite_element_1s_21_ancf.h:71
fmatvec::Vec StateBalken(const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s)
return the planar state at a contour point (Lagrange/Euler)
Definition: finite_element_1s_21_ancf.cc:294
virtual void computedhdz(const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
compute Jacobian for implicit integration
Definition: finite_element_1s_21_ancf.cc:384
fmatvec::SqrMat Dhqp
derivative of right hand side with respect to velocities
Definition: finite_element_1s_21_ancf.h:218
fmatvec::Mat GlobalShapeFunctions_1stDerivative(double s)
return 1st derivative of the matrix of global shape functions
Definition: finite_element_1s_21_ancf.cc:354
fmatvec::Vec3 getTangent(const fmatvec::Vec &qElement, double s)
returns the tangent
Definition: finite_element_1s_21_ancf.cc:369
finite element for planar beam using Absolute Nodal Coordinate Formulation (ANCF) ...
Definition: finite_element_1s_21_ancf.h:49
void initM()
calculate constant mass matrix
Definition: finite_element_1s_21_ancf.cc:51
virtual void computeM(const fmatvec::Vec &qElement)
compute mass matrix
Definition: finite_element_1s_21_ancf.cc:400
virtual double computeGravitationalEnergy(const fmatvec::Vec &qElement)
compute gravitational energy
Definition: finite_element_1s_21_ancf.cc:392
virtual const fmatvec::SymMat & getM() const
Definition: finite_element_1s_21_ancf.h:68
double dkappa
curvature damping
Definition: finite_element_1s_21_ancf.h:193
void setCurlRadius(double R)
Definition: finite_element_1s_21_ancf.cc:41
double EA
longitudinal stiffness
Definition: finite_element_1s_21_ancf.h:163
virtual int getuSize() const
Definition: finite_element_1s_21_ancf.h:73
double EI
bending stiffness
Definition: finite_element_1s_21_ancf.h:168
fmatvec::Mat GlobalShapeFunctions(double s)
return the matrix of global shape functions
Definition: finite_element_1s_21_ancf.cc:339
double wss0
predefined bending curvature
Definition: finite_element_1s_21_ancf.h:183
fmatvec::SymMat M
mass matrix
Definition: finite_element_1s_21_ancf.h:203
virtual int getqSize() const
Definition: finite_element_1s_21_ancf.h:72
fmatvec::Vec g
gravitation
Definition: finite_element_1s_21_ancf.h:198
virtual ~FiniteElement1s21ANCF()
Definition: finite_element_1s_21_ancf.cc:38
fmatvec::Vec LocateBalken(const fmatvec::Vec &qElement, double s)
return the planar position and angle at a contour point (Lagrange/Euler)
Definition: finite_element_1s_21_ancf.cc:284
virtual double computeElasticEnergy(const fmatvec::Vec &qElement)
compute elastic energy
Definition: finite_element_1s_21_ancf.cc:396
virtual const fmatvec::SqrMat & getdhdq() const
Definition: finite_element_1s_21_ancf.h:70
double v0
Euler perspective: constant longitudinal velocity.
Definition: finite_element_1s_21_ancf.h:178
bool Euler
Euler perspective: true if set.
Definition: finite_element_1s_21_ancf.h:173
FiniteElement1s21ANCF(double sl0, double sArho, double sEA, double sEI, fmatvec::Vec sg, bool sEuler=false, double sv0=0.)
constructor
Definition: finite_element_1s_21_ancf.cc:36
fmatvec::Mat JGeneralized(const fmatvec::Vec &qElement, double s)
return the JACOBIAN of translation and rotation with respect to generalised coordinates ...
Definition: finite_element_1s_21_ancf.cc:314
virtual double computeKineticEnergy(const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
compute kinetic energy
Definition: finite_element_1s_21_ancf.cc:388
fmatvec::SqrMat Dhq
derivative of right hand side with respect to positions
Definition: finite_element_1s_21_ancf.h:213
discretization interface for flexible systems
Definition: discretization_interface.h:36
double Arho
line-density
Definition: finite_element_1s_21_ancf.h:158
virtual void computeh(const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement)
compute smooth right hand side
Definition: finite_element_1s_21_ancf.cc:74
fmatvec::Vec h
right hand side
Definition: finite_element_1s_21_ancf.h:208
double l0
beam element length
Definition: finite_element_1s_21_ancf.h:153
virtual const fmatvec::Vec & geth() const
Definition: finite_element_1s_21_ancf.h:69
double depsilon
longitudinal damping
Definition: finite_element_1s_21_ancf.h:188