20#ifndef _FLEXIBLE_BODY_1S_23_BTA_H_
21#define _FLEXIBLE_BODY_1S_23_BTA_H_
23#include "mbsimFlexibleBody/flexible_body/1s.h"
25namespace MBSimFlexibleBody {
59 void updateGyroscopicAccelerations(
Frame1s*
frame)
override;
67 fmatvec::Vec3 getAngles(
double s)
override;
71 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
75 void initializeUsingXML(xercesc::DOMElement *element)
override;
83 void setElastModuls(
double E_,
double G_) {
E = E_;G = G_; }
84 void setDensity(
double rho_) {
rho = rho_; }
85 void setCrossSectionalArea(
double A_) {
A = A_; }
86 void setMomentsInertia(
double Iyy_,
double Izz_,
double It_) {
Iyy = Iyy_; Izz = Izz_; It = It_; }
88 void setTorsionalDamping(
double d) {
dTorsional = d; }
95 fmatvec::Vector<fmatvec::Fixed<6>,
double>
getPositions(
double x);
101 fmatvec::Vector<fmatvec::Fixed<6>,
double>
getVelocities(
double x);
103 fmatvec::SqrMat3 getOrientation(
double x)
override;
112 void BuildElement(
const double& sGlobal,
double& sLocal,
int& currentElement);
137 double Iyy{0}, Izz{0}, It;
bending torsional axis
Definition: 1s_23_bta.h:36
double E
elastic modules
Definition: 1s_23_bta.h:127
double A
area of cross-section
Definition: 1s_23_bta.h:132
fmatvec::Vector< fmatvec::Fixed< 6 >, double > getPositions(double x)
compute positions and angle at Lagrangian coordinate in local FE coordinates
Definition: 1s_23_bta.cc:160
double l0
length of entire beam and finite elements
Definition: 1s_23_bta.h:122
int Elements
number of elements
Definition: 1s_23_bta.h:117
~FlexibleBody1s23BTA() override=default
destructor
double Iyy
area moment of inertia
Definition: 1s_23_bta.h:137
fmatvec::Vector< fmatvec::Fixed< 6 >, double > getVelocities(double x)
compute velocities and differentiated angles at Lagrangian coordinate in local FE coordinates
Definition: 1s_23_bta.cc:167
void GlobalVectorContribution(int n, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec) override
insert 'local' information in global vectors
Definition: 1s_23_bta.cc:52
double dTorsional
damping
Definition: 1s_23_bta.h:152
double rc
contour radius
Definition: 1s_23_bta.h:147
void BuildElements() override
references finite element coordinates to assembled coordinates
Definition: 1s_23_bta.cc:43
void setNumberElements(int n)
sets size of positions and velocities
Definition: 1s_23_bta.cc:151
double rho
density
Definition: 1s_23_bta.h:142
FlexibleBody1s23BTA(const std::string &name="")
constructor
Definition: 1s_23_bta.cc:38
void BuildElement(const double &sGlobal, double &sLocal, int ¤tElement)
detect current finite element
Definition: 1s_23_bta.cc:181
void GlobalMatrixContribution(int n, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat) override
insert 'local' information in global matrices
Definition: 1s_23_bta.cc:57
Definition: frame_1s.h:27
cartesian frame on nodes of flexible bodies
Definition: node_frame.h:31
std::vector< Frame * > frame