20 #ifndef _FINITE_ELEMENT_1S_21_COSSERAT_ROTATION_H_
21 #define _FINITE_ELEMENT_1S_21_COSSERAT_ROTATION_H_
23 #include "mbsimFlexibleBody/discretization_interface.h"
24 #include "mbsim/mbsim_event.h"
25 #include "mbsimFlexibleBody/pointer.h"
26 #include "fmatvec/fmatvec.h"
28 namespace MBSimFlexibleBody {
83 virtual fmatvec::Vec3 getPosition(
const fmatvec::Vec& qElement,
double s);
84 virtual fmatvec::SqrMat3 getOrientation(
const fmatvec::Vec& qElement,
double s);
90 void setCurlRadius(
double R1);
159 inline double FiniteElement1s21CosseratRotation::getl0()
const {
return l0; }
virtual void computeh(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute smooth right hand side
Definition: finite_element_1s_21_cosserat_rotation.cc:39
virtual int getuSize() const
Definition: finite_element_1s_21_cosserat_rotation.h:154
fmatvec::Vec h
global system description
Definition: finite_element_1s_21_cosserat_rotation.h:131
finite element for planar beam using Cosserat model : rotation element for bending and torsion ...
Definition: finite_element_1s_21_cosserat_rotation.h:48
fmatvec::Mat computeJXqG(const fmatvec::Vec &qG, double x)
compute JACOBIAN of contact description in global coordinates
Definition: finite_element_1s_21_cosserat_rotation.cc:68
double l0
length of finite element
Definition: finite_element_1s_21_cosserat_rotation.h:104
virtual double computeGravitationalEnergy(const fmatvec::Vec &qG)
compute gravitational energy
Definition: finite_element_1s_21_cosserat_rotation.h:158
virtual const fmatvec::SymMat & getM() const
Definition: finite_element_1s_21_cosserat_rotation.h:149
virtual void computedhdz(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute Jacobian for implicit integration
Definition: finite_element_1s_21_cosserat_rotation.h:156
virtual const fmatvec::SqrMat & getdhdq() const
Definition: finite_element_1s_21_cosserat_rotation.h:151
virtual ~FiniteElement1s21CosseratRotation()
destructor
Definition: finite_element_1s_21_cosserat_rotation.cc:33
virtual const fmatvec::SqrMat & getdhdu() const
Definition: finite_element_1s_21_cosserat_rotation.h:152
fmatvec::SqrMat dhdq
matrices for implicit integration
Definition: finite_element_1s_21_cosserat_rotation.h:141
virtual const fmatvec::Vec & geth() const
Definition: finite_element_1s_21_cosserat_rotation.h:150
fmatvec::Vec X
state at Lagrangian coordinate
Definition: finite_element_1s_21_cosserat_rotation.h:136
virtual double computeElasticEnergy(const fmatvec::Vec &qG)
compute elastic energy
Definition: finite_element_1s_21_cosserat_rotation.cc:47
virtual double computeKineticEnergy(const fmatvec::Vec &qG, const fmatvec::Vec &qGt)
compute kinetic energy
Definition: finite_element_1s_21_cosserat_rotation.h:157
discretization interface for flexible systems
Definition: discretization_interface.h:36
double I1
geometrical moment of inertia
Definition: finite_element_1s_21_cosserat_rotation.h:119
double G
shear modulus
Definition: finite_element_1s_21_cosserat_rotation.h:114
virtual int getqSize() const
Definition: finite_element_1s_21_cosserat_rotation.h:153
double k10
predefined bending k10: precurvature in t-b-plane k20: precurvature in t-n-plane
Definition: finite_element_1s_21_cosserat_rotation.h:126
double E
Young's modulus.
Definition: finite_element_1s_21_cosserat_rotation.h:109
virtual void computeM(const fmatvec::Vec &qG)
compute mass matrix
Definition: finite_element_1s_21_cosserat_rotation.h:155