Marine systems simulation
SimpleFish.h
1
10
11#ifndef SimpleFish_H
12#define SimpleFish_H
13
14#include <SimObject.h>
15#include "sfh/text.h"
16#include <vector>
17#define _USE_MATH_DEFINES
18#include <math.h>
19
20
21#include <fish/DebModel.h>
22#include <fish/FishParameters.h>
23
24const int N_GROUPS = 7;
25
26
28{
29public:
30
33
34 void initSimpleFish(double* const updatedIC, int imax, int jmax, int kmax, int stateIndex, double Nfish, double avgWeight, double stdDev);
35
36
37 int getStateCount();
38
39 double calculateIngestion(const double* const adX, double* const adXDot, int stateFeed, int stateIndex, int imax, int jmax, int kmax, bool* mask, double dxy, double dz, double pelletWeight, double T_w);
40
41#ifdef FH_VISUALIZATION
42
43#endif
44
45
46protected:
47
48 Fish::FishParameters m_fishParameters;
49
50 double mu(double density);
51 double getAppetite(const double* const adX, int stateIndex, int group);
52 double getMaxGutVolume(double weight);
53
54 ISimObjectCreator* m_pCreator;
55
56 double m_T_h; // Handling time
57 double m_k_T_s; // Factor for what feed particle count related to fish count makes search time important
58 double m_b; // Exponent for confusion factor
59 double m_c; // Exponent for f_d factor
60 double m_Nfish; // Number of fish
61 double m_Wtot; // Total weight of fish
62 double m_pelletWeight; // Weight per pellet
63 double m_Ndist[N_GROUPS], m_wDev[N_GROUPS];
64 double m_N[N_GROUPS], m_w[N_GROUPS]; // N and weight for each of the groups
65 double m_a_1, m_a_2; // Stomach evacuation parameters
66
67
68 vector<Fish::DebModel> m_debModel;
69
70 vector<vector<vector<double>>> m_affinity;
71
72#ifdef FH_VISUALIZATION
73
74#endif
75};
76
77
78#endif
Definition: FishParameters.h:30
Definition: SimpleFish.h:28
SimpleFish()
The constructor sets the pointer to the output object and the parser object.