Marine systems simulation
Loading...
Searching...
No Matches
FishParameters.h
1
2#include "CInputReader.h"
3#include "ISimObjectLogger.h"
4#include <CPrintDuringExec.h>
5#include <assert.h>
6#include <limits>
7#include <tinyxml.h>
8#include "sfh/text.h"
9#include "sfh/math.h"
10#include "sfh/constants.h"
11#include <random>
12
13#ifndef FISH_PARAMETERS
14#define FISH_PARAMETERS
15
28namespace Fish{
30 {
31 public:
37 FishParameters(ISimObjectLogger* logger);
40 virtual void FromFile(std::string fileName, std::string filePath);
41
42 // Parameters from file (made public to save many get-functions; may consider going over to get-functions later on)
43 /* Behavioural parameters */
44 // Response to structures parameters
45 double m_prefDistanceUp;
46 double m_prefDistanceDown;
47 double m_prefDistanceSide;
48
49 // Response to feed parameters
50 double m_minSatiationWaitTime;
51 double m_manipulateTimeLow;
52 double m_manipulateTimeHigh;
53
54 // Response to temperature parameters
55 double m_prefTemperatureLowMin;
56 double m_prefTemperatureLowMax;
57 double m_prefTemperatureHighMin;
58 double m_prefTemperatureHighMax;
59 double m_tempRespSteepnessFactorLow;
60 double m_tempRespSteepnessFactorHigh;
61
62 // Response to light level parameters
63 double m_prefLightLevelLow;
64 double m_prefLightLevelHigh;
65 double m_lightRespSteepnessLow;
66 double m_lightRespSteepnessHigh;
67
68 // Response to neighbours parameters
69 double m_avoidanceBoundaryFactor;
70 double m_parallelBoundaryFactor;
71 double m_observationBoundaryFactor;
72
73 // Stochastic response parameters
74 double m_directionVarianceStochastic;
75 double m_maxQuotaConsumptionStochastic;
76 double m_time_step;
77 double m_reciprocal_time_step_root; // reciprocal square root of timestep
78
79 //============================================================================ biao_dev
80 // Response to water flow
81 double m_relFlowVel;
82 double m_angFlowDeg;
83 double m_dirFlowVel[2];
84
85 // Response to wave
86 double m_relWaveVel;
87
88 // Response to neighbours parameters (horizontal)
89 double m_relAvoidanceFactor;
90
91 // Center variance parameter
92 double m_cenVariance;
93
94 // School variance parameters (school)
95 double m_schoolVariance[3];
96
97 // Input fish swiming speed
98 bool m_InSpeed;
99 double m_InSpeedDepth[3];
100 double m_InSpeedN[3];
101 double m_InSpeedE[3];
102 double m_InSpeedD[3];
103 double m_InSpeedC[3];
104
105 // Input wave response parameter
106 bool m_InWave;
107 double m_InWaveAm;
108 double m_InWaveWm;
109 double m_WaveVelResPar[2];
110 double m_WaveAccResPar[2];
111 double m_WaveWallResPar[2];
112
113 // Super individual
114 int m_SINum;
115
116 // Input fish schooling speed
117 bool m_InSchool;
118 double m_InSchoolSpd[6];
119 double m_FishCOG[3];
120 //============================================================================ biao_dev
121
122 // Movement limitation parameters
123 double m_maxDirectionChange;
124 double m_charVelocityMeanFactor;
125 double m_charVelocityVarFactor;
126 double m_maxSustVelocityMeanFactor;
127 double m_maxSustVelocityVarFactor;
128
129 /* Energetic parameters */
130 // Morphology and appetite
131 double m_volumeToMaxGutVolRatio;
132 double m_WWToDWRatio;
133 double m_DWToVolumeRatio;
134 double m_shapeCoefficient;
135 double m_appetiteExponent;
136
137
138 // DEB model parameters
139 double m_V_p;
140 double m_k_as;
141 double m_v_dot;
142 double m_p_aM_;
143 double m_p_dot_M_;
144 double m_E_G_;
145 double m_kappa;
146 double m_p_dot_J_;
147 double m_P_V;
148 double m_L_V;
149 double m_P_E;
150 double m_L_E;
151 double m_a1_G;
152 double m_a2_G;
153
154 // Temperature dependencies
155 double m_energeticReferenceTemperature;
156 double m_energeticTemperatureDependencyParams[5];
157
158 // Feed composition
159 double m_carbohydrateFraction;
160 double m_proteinFraction;
161 double m_lipidFraction;
162
163 // Energy content in body/feed components
164 double m_carbohydrateEnergy;
165 double m_proteinEnergy;
166 double m_lipidEnergy;
167
168 protected:
169 // Functions
170 virtual void ReadInputFile(std::string fileName, std::string filePath);
171 ISimObjectLogger* m_logger;
172 };
173}
174#endif
Definition FishParameters.h:30
FishParameters(ISimObjectLogger *logger)
test