finite element for spatial beam using Redundant Coordinate Method (RCM) More...
#include <finite_element_1s_33_rcm.h>
Public Member Functions | |
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 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 &qG) |
compute mass matrix More... | |
virtual void | computeh (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) |
compute smooth right hand side More... | |
virtual void | computedhdz (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) |
compute Jacobian for implicit integration More... | |
virtual double | computeKineticEnergy (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) |
compute kinetic energy More... | |
virtual double | computeGravitationalEnergy (const fmatvec::Vec &qG) |
compute gravitational energy More... | |
virtual double | computeElasticEnergy (const fmatvec::Vec &qG) |
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 &qG, double s) |
void | setGauss (int nGauss) |
void | setCurlRadius (double R1, double R2) |
void | setMaterialDamping (double epstD_, double k0D_) |
void | setLehrDamping (double epstL, double k0L) |
double | getl0 () const |
fmatvec::Vector < fmatvec::Fixed< 6 >, double > | getPositions (const fmatvec::Vec &qElement, double s) |
fmatvec::Vector < fmatvec::Fixed< 6 >, double > | getVelocities (const fmatvec::Vec &qElement, const fmatvec::Vec &qpElement, double s) |
fmatvec::Mat | computeJXqG (const fmatvec::Vec &qG, double x) |
compute JACOBIAN of contact description in global coordinates More... | |
fmatvec::Vec | computeData (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) |
compute interesting data More... | |
double | computePhysicalStrain (const fmatvec::Vec &qG, const fmatvec::Vec &qGt) |
compute the physical strain as defined in Schindler2010, p. 25, eq. (2.52) More... | |
![]() | |
DiscretizationInterface () | |
constructor | |
virtual | ~DiscretizationInterface () |
destructor | |
Private Member Functions | |
void | computedrS () |
compute delta matrix for CP with respect to translation | |
void | computedepstil () |
compute delta matrix for elongation | |
void | computedk0 () |
compute delta matrix for torsion | |
Private Attributes | |
double | l0 |
length of finite element | |
double | rho |
density | |
double | A |
cross sectional area | |
double | E |
Young's modulus. | |
double | G |
shear modulus | |
double | I1 |
geometrical moment of inertia | |
double | I2 |
double | I0 |
fmatvec::Vec | g |
gravitation | |
double | k10 |
predefined bending | |
double | k20 |
double | epstD |
prolongational and torsional damping | |
double | k0D |
fmatvec::SymMat | M |
global system description | |
fmatvec::Vec | h |
fmatvec::SqrMat | dhdq |
matrices for implicit integration | |
fmatvec::SqrMat | dhdu |
fmatvec::SymMat | MI |
internal system description | |
fmatvec::SqrMat | Damp |
internal damping matrix | |
double | l0h2 |
beam length powers | |
double | l0h3 |
double | x_Old |
last Lagrangian coordinate in state calculation | |
fmatvec::Vec | qG_Old |
global and local state of the last time step | |
fmatvec::Vec | qGt_Old |
double | tol_comp |
tolerance for comparison of state with old state | |
fmatvec::Mat | drS |
delta matrices | |
fmatvec::Mat | drSH |
fmatvec::RowVec | depstil |
fmatvec::RowVec | dk0 |
RevCardanPtr | ag |
reversed Cardan-object | |
Trafo33RCMPtr | tf |
trafo-object | |
Weight33RCMPtr | wt |
weight-function-object | |
finite element for spatial beam using Redundant Coordinate Method (RCM)
transform computeState to Position / Velocity / Orientation / AngularVelocity
JacobianOfMotion
computeM
MBSimFlexibleBody::FiniteElement1s33RCM::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
length | of finite element |
density | |
cross-sectional | area |
Young's | modulus |
shear | modulus |
first | area moment of inertia |
second | area moment of inertia |
torsional | moment of inertia |
acceleration | of gravity |
cardan | object |
Vec MBSimFlexibleBody::FiniteElement1s33RCM::computeData | ( | const fmatvec::Vec & | qG, |
const fmatvec::Vec & | qGt | ||
) |
compute interesting data
global | coordinates |
global | velocities |
|
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.
Mat MBSimFlexibleBody::FiniteElement1s33RCM::computeJXqG | ( | const fmatvec::Vec & | qG, |
double | x | ||
) |
compute JACOBIAN of contact description in global coordinates
global | coordinates |
LAGRANGIAN | parameter |
|
virtual |
compute kinetic energy
generalised | positions |
generalised | velocities |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
virtual |
compute mass matrix
generalised | positions |
Implements MBSimFlexibleBody::DiscretizationInterface.
double MBSimFlexibleBody::FiniteElement1s33RCM::computePhysicalStrain | ( | const fmatvec::Vec & | qG, |
const fmatvec::Vec & | qGt | ||
) |
compute the physical strain as defined in Schindler2010, p. 25, eq. (2.52)
global | coordinates |
global | velocities |
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.
|
inlinevirtual |
Implements MBSimFlexibleBody::DiscretizationInterface.