FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
FroudeKrylov.h
1#ifndef CFroudeKrylov_h__
2#define CFroudeKrylov_h__
3
4#include <complex>
5#include <map>
6#include <string>
7#include <vector>
8
9using std::string;
10using std::vector;
11using std::map;
12using std::complex;
13
14using Eigen::Matrix;
15
16namespace Ship{
18 {
19 public:
20 virtual ~FroudeKrylovForce() = default;
21
22 virtual void Read( std::string fname )=0;
23
24 virtual std::complex<double> GetRAOValue(unsigned int DOF, double ShipDirection, double ShipSpeed, double WaveFrequency ) = 0;
25 //virtual void GetRAOValues( unsigned int DOF, double ShipDirection, double ShipSpeed, Eigen::Matrix< std::complex<double>,Eigen::Dynamic,1 > &outRAO)=0;
26
27 //virtual void GetRAOValue2(unsigned int DOF, double ShipDirection, double ShipSpeed, double WaveFrequency, double &Magnitude, double &Phase ) = 0;
28 //virtual void GetRAOValues2( unsigned int DOF, double ShipDirection, double ShipSpeed, Eigen::Matrix< double,Eigen::Dynamic,1 > &outRAOmag,Eigen::Matrix< double,Eigen::Dynamic,1 > &outRAOphase)=0;
29
30
31 protected:
36
37 std::vector<double> Direction;
38 std::vector<double> Speed;
39 std::vector<double> Freq;
40 std::vector<std::vector<std::vector<Eigen::Matrix< std::complex<double>, Eigen::Dynamic,1 > > > > RAO;
41 std::vector<std::vector<std::vector<Eigen::Matrix< double, Eigen::Dynamic,1 > > > > RAOmagnitude;
42 std::vector<std::vector<std::vector<Eigen::Matrix< double, Eigen::Dynamic,1 > > > > RAOphase;
43 };
44}
45#endif // CFroudeKrylov_h__
Definition FroudeKrylov.h:18
std::vector< double > Speed
Speeds.
Definition FroudeKrylov.h:38
std::vector< double > Direction
Directions.
Definition FroudeKrylov.h:37
std::vector< double > Freq
Frequencies.
Definition FroudeKrylov.h:39
std::vector< std::vector< std::vector< Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > > > > RAO
map which associates a direction/speed pair with an RAO on complex form
Definition FroudeKrylov.h:40
int m_NumFreq
Number of frequencies in dataset.
Definition FroudeKrylov.h:34
int m_NumDirections
Number of wave directions relative to ship in dataset.
Definition FroudeKrylov.h:32
int m_NumSpeed
Number of vessel speeds in dataset.
Definition FroudeKrylov.h:33
int m_NumDOF
Number of degrees-of-freedom in dataset.
Definition FroudeKrylov.h:35
Simple waypoint object.
Definition CableAttach.h:58