16#ifndef Beam_model_included
17#define Beam_model_included
19#include <TRUST_List.h>
20#include <Interprete_geometrique_base.h>
41 Declare_instanciable_sans_constructeur_ni_destructeur(
Beam_model ) ;
56 inline const double&
getYoung()
const;
73 DoubleTab
interpolationOnThe3DSurface(
const double& x,
const double& y,
const double& z,
const DoubleTab& u,
const DoubleTab& R)
const;
78 DoubleTab&
getVelocity(
const double& tps,
const double& dt);
94 void interpolationWeights(
const double&,
const double&,
const double&,
int&,
int&,
double&,
double&)
const;
192 Cerr <<
"Warning: You selected the Newmark finite difference scheme.\n"
193 <<
"This scheme is conditionally stable. Use a sufficiently small time step "
194 <<
"to ensure stability.\n"
195 <<
"Alternatively, choose the Newmark Mean Acceleration (MA) or "
196 <<
"Hilber–Hughes–Taylor (HHT) scheme for unconditional stability."<<finl;
198 else if(timeScheme==
"MA")
204 else if (timeScheme==
"HHT")
211 Cout<<
"The discretization of the beam time discretisation is unknown. Choose between Newmark FD, MA, and HHT and restart!"<<finl;
268 for (
int plane = 0; plane <
nb_planes_; ++plane)
269 for (
int mode = 0; mode < modes_per_plane; ++mode)
void setTimeScheme(const Nom &, double &)
double getStiffness(int i)
void setRhoBeam(const double &)
void setBendingDirection(const int &, const int &)
double tempsComputeForceOnBeam_
const int & getBendingDirection(const int &) const
void setLongitudinalAxis(const int &)
void setFileName(const Nom &)
void setBeamName(const Nom &)
void readInputAbscFiles(Nom &absc_file_name)
const double & getTempsComputeForceOnBeam() const
const DoubleTab & getDisplacement(int i) const
void setFluidForceOnBeam(const DoubleTab &)
DoubleTab & getVelocity(const double &tps, const double &dt)
void saveBeamForRestart() const
const int & getNbModes() const
void printOutputFluidForceOnBeam(bool first_writing=false) const
DoubleTab fluidForceOnBeam_
const Nom & getBeamName() const
void printOutputBeam1D(bool first_writing=false) const
Entree & interpreter_(Entree &) override
DoubleTab interpolationOnThe3DSurface(const double &x, const double &y, const double &z, const DoubleTab &u, const DoubleTab &R) const
void readInputCIFile(Nom &CI_file_name)
void interpolationWeights(const double &, const double &, const double &, int &, int &, double &, double &) const
void setNbModes(const int &)
const int & getLongitudinalAxis() const
void setCenterCoordinates(const double &, const double &, const double &)
void setOutputPosition3D(const DoubleTab &)
void printOutputBeam3D(bool first_writing=false) const
DoubleVect output_position_1D_
void setNbplanes(const int &)
const Nom & getFileName() const
const int & getNbPlanes() const
double interpolationPhiOnThe3DSurface(const double &x, const double &y, const double &z, const int &comp, const DoubleTab &u) const
const double & getYoung() const
void setYoung(const double &)
SFichier displacement_out_3d_
DoubleTab output_position_3D_
void readRestartFile(Nom &Restart_file_name)
void setTempsComputeForceOnBeam(const double &)
const DoubleTab & getRotation(int i) const
SFichier acceleration_out_3d_
DoubleTab & NewmarkScheme(const double &dt)
void read_beam(Entree &is)
void readInputMassStiffnessFiles(Nom &masse_and_stiffness_file_name)
void setOutputPosition1D(const DoubleVect &)
const double & getRhoBeam() const
void readInputModalDeformation(Noms &modal_deformation_file_name)
DoubleTab getFluidForceOnBeam()
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Cette classe est a la classe C++ ofstream ce que la classe Sortie est a la classe C++ ostream Elle re...