20#ifndef _FLEXIBLE_BODY_1S_21_ANCF_H_
21#define _FLEXIBLE_BODY_1S_21_ANCF_H_
23#include "mbsimFlexibleBody/flexible_body/1s.h"
25namespace MBSimFlexibleBody {
54 void updateM()
override { }
55 void updateLLM()
override { }
67 void updateGyroscopicAccelerations(
Frame1s*
frame)
override;
77 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
85 void setNumberElements(
int n);
86 void setEModul(
double E_) {
E = E_; }
87 void setCrossSectionalArea(
double A_) {
A = A_; }
88 void setMomentInertia(
double I_) {
I = I_; }
89 void setDensity(
double rho_) {
rho = rho_; }
90 void setCurlRadius(
double rc_);
91 void setMaterialDamping(
double deps_,
double dkappa_);
92 void setEulerPerspective(
bool Euler_,
double v0_);
93 int getNumberElements(){
return Elements; }
179 void BuildElement(
const double& sGlobal,
double& sLocal,
int& currentElement);
Absolute Nodal Coordinate Formulation for flexible planar beams.
Definition: 1s_21_ancf.h:43
double A
cross-section area
Definition: 1s_21_ancf.h:126
void GlobalVectorContribution(int n, const fmatvec::Vec &locVec, fmatvec::Vec &gloVec) override
insert 'local' information in global vectors
Definition: 1s_21_ancf.cc:41
FlexibleBody1s21ANCF(const std::string &name, bool openStructure)
constructor:
Definition: 1s_21_ancf.cc:39
void BuildElement(const double &sGlobal, double &sLocal, int ¤tElement)
detect current finite element
Definition: 1s_21_ancf.cc:273
double dkappa
coefficient of material longitudinal damping
Definition: 1s_21_ancf.h:151
int Elements
number of finite elements used for discretisation
Definition: 1s_21_ancf.h:111
void BuildElements() override
references finite element coordinates to assembled coordinates
Definition: 1s_21_ancf.cc:255
double I
moment of inertia of cross-section
Definition: 1s_21_ancf.h:131
void initRelaxed(double alpha)
initialise beam state concerning a straight cantilever setting or a circle shaped ring
Definition: 1s_21_ancf.cc:313
void GlobalMatrixContribution(int n, const fmatvec::Mat &locMat, fmatvec::Mat &gloMat) override
insert 'local' information in global matrices
Definition: 1s_21_ancf.cc:53
double E
modulus of linear elasticity
Definition: 1s_21_ancf.h:121
double v0
Euler perspective: constant longitudinal velocity.
Definition: 1s_21_ancf.h:161
void initInfo()
initialise beam only for giving information with respect to state, number elements,...
Definition: 1s_21_ancf.cc:302
double rc
radius of undeformed shape
Definition: 1s_21_ancf.h:141
double l0
length of one finite element
Definition: 1s_21_ancf.h:116
double rho
material density
Definition: 1s_21_ancf.h:136
bool Euler
Euler perspective: true if set.
Definition: 1s_21_ancf.h:166
bool initialised
flag for testing if beam is initialised
Definition: 1s_21_ancf.h:156
double deps
coefficient of material longitudinal damping
Definition: 1s_21_ancf.h:146
void initM()
initialize mass matrix and calculate Cholesky decomposition
Definition: 1s_21_ancf.cc:289
bool openStructure
flag for open (cantilever beam) or closed (rings) structures
Definition: 1s.h:73
Definition: frame_1s.h:27
cartesian frame on nodes of flexible bodies
Definition: node_frame.h:31
std::vector< Frame * > frame