20#ifndef _FLEXIBLE_BODY_1S_21_RCM_H_
21#define _FLEXIBLE_BODY_1S_21_RCM_H_
23#include "mbsimFlexibleBody/flexible_body/1s.h"
25namespace MBSimFlexibleBody {
66 void exportPositionVelocity(
const std::string& filenamePos,
const std::string& filenameVel = std::string( ),
const int & deg = 3,
const bool &writePsFile =
false)
override;
67 void importPositionVelocity(
const std::string& filenamePos,
const std::string& filenameVel = std::string( ))
override;
73 void updateGyroscopicAccelerations(
Frame1s*
frame)
override;
83 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
95 int getNumberElements(){
return Elements;}
96 double getLength(){
return L;}
97 void setEModul(
double E_) {
E = E_; }
98 void setCrossSectionalArea(
double A_) {
A = A_; }
99 void setMomentInertia(
double I_) {
I = I_; }
100 void setDensity(
double rho_) {
rho = rho_; }
101 void setCurlRadius(
double r);
102 void setMaterialDamping(
double d);
103 void setLehrDamping(
double d);
104 void setElementPlotList(
const fmatvec::VecInt& plotElements_) {
plotElements <<= plotElements_;}
142 void BuildElement(
const double& sGlobal,
double& sLocal,
int& currentElement);
model for planar beams with large deflection using Redundant Coordinate Method (RCM)
Definition: 1s_21_rcm.h:50
fmatvec::VecInt plotElements
variables to plot in addition to state
Definition: 1s_21_rcm.h:192
FlexibleBody1s21RCM(const std::string &name, bool openStructure)
constructor:
Definition: 1s_21_rcm.cc:44
double dl
coefficient of Lehr-damping
Definition: 1s_21_rcm.h:187
void importPositionVelocity(const std::string &filenamePos, const std::string &filenameVel=std::string()) override
imports the interpolated position and optional the velocity files (created with exportPositionVelocit...
Definition: 1s_21_rcm.cc:420
double rc
curl radius
Definition: 1s_21_rcm.h:177
fmatvec::Vec3 getVelocities(double x)
compute velocities and differentiated angles at Lagrangian coordinate in local FE coordinates
Definition: 1s_21_rcm.cc:298
fmatvec::Vec3 getPositions(double x)
compute positions and angle at Lagrangian coordinate in local FE coordinates
Definition: 1s_21_rcm.cc:291
void BuildElement(const double &sGlobal, double &sLocal, int ¤tElement)
detect current finite element
Definition: 1s_21_rcm.cc:497
bool initialized
flag for testing if beam is initialised
Definition: 1s_21_rcm.h:197
void BuildElements() override
references finite element coordinates to assembled coordinates
Definition: 1s_21_rcm.cc:47
double A
cross-section area
Definition: 1s_21_rcm.h:162
void exportPositionVelocity(const std::string &filenamePos, const std::string &filenameVel=std::string(), const int °=3, const bool &writePsFile=false) override
interpolates the position and optional the velocity coordinates of the flexible body with Nurbs-packa...
Definition: 1s_21_rcm.cc:356
double computePhysicalStrain(double sGlobal)
computes the phyiscal strain (compare Zander p.71) of the element, defined by the global position
Definition: 1s_21_rcm.cc:305
void initInfo()
initialise beam only for giving information with respect to state, number elements,...
Definition: 1s_21_rcm.cc:345
void GlobalVectorContribution(int n, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec) override
insert 'local' information in global vectors
Definition: 1s_21_rcm.cc:69
void setNumberElements(int n)
sets size of positions and velocities
Definition: 1s_21_rcm.cc:258
double dm
coefficient of material damping
Definition: 1s_21_rcm.h:182
int Elements
number of finite elements used for discretisation
Definition: 1s_21_rcm.h:147
double l0
length of one finite element
Definition: 1s_21_rcm.h:152
double E
modulus of linear elasticity
Definition: 1s_21_rcm.h:157
double I
moment of inertia of cross-section
Definition: 1s_21_rcm.h:167
double rho
material density
Definition: 1s_21_rcm.h:172
void GlobalMatrixContribution(int n, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat) override
insert 'local' information in global matrices
Definition: 1s_21_rcm.cc:81
void initRelaxed(double alpha)
initialise beam state concerning a straight cantilever setting or a circle shaped ring
Definition: 1s_21_rcm.cc:312
bool openStructure
flag for open (cantilever beam) or closed (rings) structures
Definition: 1s.h:73
double L
length of beam
Definition: 1s.h:68
Definition: frame_1s.h:27
cartesian frame on nodes of flexible bodies
Definition: node_frame.h:31
std::vector< Frame * > frame