1#ifndef CViscousShip_h__
2#define CViscousShip_h__
9#include "HullData/HullData.h"
22 void SetupFromFile( std::string fname, EFileType type,
HullData *H);
24 void SetHullData(
HullData *HD ){ myHullData = HD; }
26 void SetTheoryFormulation(
int theory ){ rollDampingTheory = theory;}
28 void SetPhiAmplitudeHorizon(
double horizon){phiAmplitudeHorizon = horizon;}
31 void GetViscousAddedMass(
double u,
double v,
double r, Eigen::Matrix3d &Mat);
33 double GetViscousSurge(
double u,
double v,
double r);
34 double GetViscousSway(
double u,
double v,
double r);
35 double GetViscousYaw(
double u,
double v,
double r);
37 double GetViscousRoll(
double phiDot,
double u = 0);
38 double EddieDamping(
double phiDot,
double u = 0);
39 double BilgeKeelDamping(
double phiDot,
double u = 0);
40 double FricitonDamping(
double phiDot,
double u = 0);
41 double LiftDamping(
double phiDot,
double u = 0);
42 double SkegDamping(
double phiDot,
double u = 0);
44 double SkegLiftDamping(
double phiDot,
double u );
46 void AddToRollTimeHistory(
const double T,
double RollAngle,
const bool bIsMajorTimeStep );
47 void MakeBildgeKeel(
double m_BilgeKeelStartPosition,
double m_BilgeKeelEndPosition,
double m_BilgeKeelHeight );
50 void SetHorizontalDampingBlend(
double blendSpeed,
double blendFraction=0.5);
51 void SetDpDampingX(
double Xu,
double Xv,
double Xr);
52 void SetDpDampingY(
double Yu,
double Yv,
double Yr);
53 void SetDpDampingN(
double Nu,
double Nv,
double Nr);
55 double ManeuverReferenceSpeed()
const {
return m_maneuverReferenceSpeed; }
56 void ManeuverReferenceSpeed(
double val) { m_maneuverReferenceSpeed = val; }
59 double deltaWingKP(
double A_ratio);
60 double deltaWingKV(
double A_ratio);
61 double deltaWingCL(
double alfa,
double Kp,
double Kv);
63 double m_maneuverReferenceSpeed;
64 double m_viscousDampingBlender;
66 double Yv_man, Yr_man, Yrd_man, Yvd_man;
67 double Nv_man, Nr_man, Nrd_man, Nvd_man;
68 double Xrr_man, Xud_man, Xvr_man, Xvv_man, Xvvvv_man;
70 double Xu_dp, Yu_dp, Nu_dp;
71 double Xv_dp, Yv_dp, Nv_dp;
72 double Xr_dp, Yr_dp, Nr_dp;
74 int m_bilgeKeelStartSection;
75 int m_bilgeKeelEndSection;
76 double m_startSectionFractionBK;
77 double m_endSectionFractionBK;
79 int rollDampingTheory;
88 void ReadMainDimensionsVeres( std::string fname );
89 void ReadMainDimensionsWamit( std::string fname );
93 double kinematicViscosity;
95 double *SectionalNormalBilgeKeelForce;
96 double *SectionalPressureOnHullFromBilgeKeels;
97 double *SectionalEddieForce;
98 double *bilgeKeelHeight;
113 double* SectionLength;
114 std::deque<double> phi_history;
115 std::deque<double> time_history;
117 double phiAmplitudeTime;
120 double phiAmplitudeHorizon;
121 int numberOfStations;
Definition: HullData.h:14
Definition: ViscousShip.h:12
Simple waypoint object.
Definition: CableAttach.h:16