Marine systems simulation
HollenbachCurve.h
1#ifndef _CHOLLENBACH_CURVE_H_
2#define _CHOLLENBACH_CURVE_H_
3
4#include "ResistanceCurve.h"
5
6namespace Ship{
8 {
9 public:
10 enum PredictionType
11 {
12 PREDICITON_SINGLE_DESIGN=0,
13 PREDICTION_SINGLE_BALLAST,
14 PREDICTION_TWIN_DESIGN,
15 PREDICTION_SINGLE_DESIGN_MIN,
16 PREDICTIOON_TWIN_DESIGN_MINIMUM,
17 NUM_PREDICTION
18 };
19
20 HollenbachCurve(double _Cb, double S,PredictionType _Pred);
22
23 void SetBredth( float _B );
24 void SetDimPropeller( float _Dp );
25 void SetLength(double _Lpp, float _Los, float _Lwl );
26 void SetDraught( double _Tm, float _Ta, float _Tf);
27
28
29 void SetNumAppendages( unsigned short _Nrud, unsigned short _Nbrac, unsigned short _Nboss, unsigned short _Nthr);
30
31 bool Initialized();
32
33 virtual double GetValue( double _xval );
34 void SetWetSurface( float _S );
35 private:
36
37 float Factor;
38
39 PredictionType m_Pred;
40
41 // Hollenbachs coefficients
42 float *a;
43 float **b;
44 float *c;
45 float *d;
46 float *e;
47 float *f;
48 float *g;
49 float *h;
50
51 float m_Fnmin; // Minimum froude number
52 float m_Fnmax; // Maximum froude number
53 float m_kl;
54 float m_Fnkrit;
55
56 unsigned short m_Nrud; // Number of rudders
57 unsigned short m_Nbrac; // Number of brackets
58 unsigned short m_Nboss; // Number of boss
59 unsigned short m_Nthr; // Number of thrusters
60
61 float m_Cb; // Block coefficient
62
63 float m_Dp; // Diameter propeller
64
65 float m_Lpp; // Length between parpendicular
66 float m_Los; // Overall length og ship
67 float m_Lwl; // Length of waterline
68
69 float m_T; // Draught midship
70 float m_Ta; // Draught aft perpendicular
71 float m_Tf; // Draught fore perpendicular
72 float m_B; // Bredth
73 float m_S;
74
75 };
76}
77
78#endif
Definition: HollenbachCurve.h:8
Definition: ResistanceCurve.h:6
Simple waypoint object.
Definition: CableAttach.h:16