20 #ifndef _FINITE_ELEMENT_1S_33_RCM_H_
21 #define _FINITE_ELEMENT_1S_33_RCM_H_
23 #include "mbsimFlexibleBody/discretization_interface.h"
24 #include "mbsimFlexibleBody/pointer.h"
25 #include "mbsimFlexibleBody/flexible_body/finite_elements/finite_element_1s_33_rcm/weight33RCM.h"
26 #include "fmatvec/fmatvec.h"
28 namespace MBSimFlexibleBody {
54 FiniteElement1s33RCM(
double l0_,
double rho_,
double A_,
double E_,
double G_,
double I1_,
double I2_,
double I0_,
const fmatvec::Vec& g_,
const RevCardanPtr &ag_);
71 virtual fmatvec::Vec3 getPosition(
const fmatvec::Vec& qElement,
double s);
72 virtual fmatvec::SqrMat3 getOrientation(
const fmatvec::Vec& qElement,
double s);
79 void setGauss(
int nGauss);
80 void setCurlRadius(
double R1,
double R2);
81 void setMaterialDamping(
double epstD_,
double k0D_);
82 void setLehrDamping(
double epstL,
double k0L);
235 inline void FiniteElement1s33RCM::setGauss(
int nGauss) {
wt->setGauss(nGauss); }
236 inline double FiniteElement1s33RCM::getl0()
const {
return l0; }
double A
cross sectional area
Definition: finite_element_1s_33_rcm.h:125
virtual void computeM(const fmatvec::Vec &qG)
compute mass matrix
Definition: finite_element_1s_33_rcm.cc:64
fmatvec::Vec computeData(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute interesting data
Definition: finite_element_1s_33_rcm.cc:386
RevCardanPtr ag
reversed Cardan-object
Definition: finite_element_1s_33_rcm.h:207
virtual void computeh(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute smooth right hand side
Definition: finite_element_1s_33_rcm.cc:93
virtual double computeElasticEnergy(const fmatvec::Vec &qG)
compute elastic energy
Definition: finite_element_1s_33_rcm.cc:263
FiniteElement1s33RCM(double l0_, double rho_, double A_, double E_, double G_, double I1_, double I2_, double I0_, const fmatvec::Vec &g_, const RevCardanPtr &ag_)
constructor
Definition: finite_element_1s_33_rcm.cc:32
fmatvec::SymMat MI
internal system description
Definition: finite_element_1s_33_rcm.h:171
double epstD
prolongational and torsional damping
Definition: finite_element_1s_33_rcm.h:155
double l0h2
beam length powers
Definition: finite_element_1s_33_rcm.h:181
void computedrS()
compute delta matrix for CP with respect to translation
Definition: finite_element_1s_33_rcm.cc:410
double x_Old
last Lagrangian coordinate in state calculation
Definition: finite_element_1s_33_rcm.h:186
fmatvec::SymMat M
global system description
Definition: finite_element_1s_33_rcm.h:160
virtual const fmatvec::SqrMat & getdhdu() const
Definition: finite_element_1s_33_rcm.h:240
fmatvec::SqrMat dhdq
matrices for implicit integration
Definition: finite_element_1s_33_rcm.h:166
virtual double computeGravitationalEnergy(const fmatvec::Vec &qG)
compute gravitational energy
Definition: finite_element_1s_33_rcm.cc:253
void computedepstil()
compute delta matrix for elongation
Definition: finite_element_1s_33_rcm.cc:417
double l0
length of finite element
Definition: finite_element_1s_33_rcm.h:115
double computePhysicalStrain(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute the physical strain as defined in Schindler2010, p. 25, eq. (2.52)
Definition: finite_element_1s_33_rcm.cc:403
virtual const fmatvec::SymMat & getM() const
Definition: finite_element_1s_33_rcm.h:237
fmatvec::Vec g
gravitation
Definition: finite_element_1s_33_rcm.h:145
fmatvec::Mat computeJXqG(const fmatvec::Vec &qG, double x)
compute JACOBIAN of contact description in global coordinates
Definition: finite_element_1s_33_rcm.cc:276
virtual int getuSize() const
Definition: finite_element_1s_33_rcm.h:242
double rho
density
Definition: finite_element_1s_33_rcm.h:120
void computedk0()
compute delta matrix for torsion
Definition: finite_element_1s_33_rcm.cc:421
virtual const fmatvec::SqrMat & getdhdq() const
Definition: finite_element_1s_33_rcm.h:239
virtual double computeKineticEnergy(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute kinetic energy
Definition: finite_element_1s_33_rcm.cc:236
double I1
geometrical moment of inertia
Definition: finite_element_1s_33_rcm.h:140
fmatvec::Vec qG_Old
global and local state of the last time step
Definition: finite_element_1s_33_rcm.h:191
virtual int getqSize() const
Definition: finite_element_1s_33_rcm.h:241
fmatvec::SqrMat Damp
internal damping matrix
Definition: finite_element_1s_33_rcm.h:176
double tol_comp
tolerance for comparison of state with old state
Definition: finite_element_1s_33_rcm.h:196
virtual void computedhdz(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute Jacobian for implicit integration
Definition: finite_element_1s_33_rcm.cc:204
finite element for spatial beam using Redundant Coordinate Method (RCM)
Definition: finite_element_1s_33_rcm.h:39
double k10
predefined bending
Definition: finite_element_1s_33_rcm.h:150
virtual const fmatvec::Vec & geth() const
Definition: finite_element_1s_33_rcm.h:238
discretization interface for flexible systems
Definition: discretization_interface.h:36
double G
shear modulus
Definition: finite_element_1s_33_rcm.h:135
fmatvec::Mat drS
delta matrices
Definition: finite_element_1s_33_rcm.h:201
Trafo33RCMPtr tf
trafo-object
Definition: finite_element_1s_33_rcm.h:212
double E
Young's modulus.
Definition: finite_element_1s_33_rcm.h:130
Weight33RCMPtr wt
weight-function-object
Definition: finite_element_1s_33_rcm.h:217