20 #ifndef _FLEXIBLE_BODY_1S_23_BTA_H_
21 #define _FLEXIBLE_BODY_1S_23_BTA_H_
23 #include "mbsimFlexibleBody/flexible_body/flexible_body_1s.h"
25 namespace MBSimFlexibleBody {
57 virtual void updateGyroscopicAccelerations(
Frame1s*
frame);
65 virtual fmatvec::Vec3 getAngles(
double s);
69 virtual void init(InitStage stage);
73 virtual std::string getType()
const {
return "FlexibleBody1s23BTA"; }
74 virtual void initializeUsingXML(xercesc::DOMElement *element);
82 void setElastModuls(
double E_,
double G_) {
E = E_;G = G_; }
83 void setDensity(
double rho_) {
rho = rho_; }
84 void setCrossSectionalArea(
double A_) {
A = A_; }
85 void setMomentsInertia(
double Iyy_,
double Izz_,
double It_) {
Iyy = Iyy_; Izz = Izz_; It = It_; }
87 void setTorsionalDamping(
double d) {
dTorsional = d; }
102 fmatvec::SqrMat3 getOrientation(
double x);
111 void BuildElement(
const double& sGlobal,
double& sLocal,
int& currentElement);
virtual void GlobalVectorContribution(int n, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec)
insert 'local' information in global vectors
Definition: flexible_body_1s_23_bta.cc:51
void setNumberElements(int n)
sets size of positions and velocities
Definition: flexible_body_1s_23_bta.cc:150
int Elements
number of elements
Definition: flexible_body_1s_23_bta.h:116
double A
area of cross-section
Definition: flexible_body_1s_23_bta.h:131
fmatvec::Vector< fmatvec::Fixed< 6 >, double > getPositions(double x)
compute positions and angle at Lagrangian coordinate in local FE coordinates
Definition: flexible_body_1s_23_bta.cc:159
double rho
density
Definition: flexible_body_1s_23_bta.h:141
double l0
length of entire beam and finite elements
Definition: flexible_body_1s_23_bta.h:121
double Iyy
area moment of inertia
Definition: flexible_body_1s_23_bta.h:136
tbd
Definition: flexible_body_1s.h:33
Definition: frame_1s.h:27
void BuildElement(const double &sGlobal, double &sLocal, int ¤tElement)
detect current finite element
Definition: flexible_body_1s_23_bta.cc:180
double rc
contour radius
Definition: flexible_body_1s_23_bta.h:146
virtual ~FlexibleBody1s23BTA()
destructor
Definition: flexible_body_1s_23_bta.h:45
FlexibleBody1s23BTA(const std::string &name="")
constructor
Definition: flexible_body_1s_23_bta.cc:37
std::vector< Frame * > frame
fmatvec::Vector< fmatvec::Fixed< 6 >, double > getVelocities(double x)
compute velocities and differentiated angles at Lagrangian coordinate in local FE coordinates ...
Definition: flexible_body_1s_23_bta.cc:166
virtual void BuildElements()
references finite element coordinates to assembled coordinates
Definition: flexible_body_1s_23_bta.cc:42
bending torsional axis
Definition: flexible_body_1s_23_bta.h:34
virtual void GlobalMatrixContribution(int n, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat)
insert 'local' information in global matrices
Definition: flexible_body_1s_23_bta.cc:56
double dTorsional
damping
Definition: flexible_body_1s_23_bta.h:151
cartesian frame on nodes of flexible bodies
Definition: node_frame.h:31
double E
elastic modules
Definition: flexible_body_1s_23_bta.h:126