Marine systems simulation
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
112 // Super individual
113 int m_SINum;
114 //============================================================================ biao_dev
115
116 // Movement limitation parameters
117 double m_maxDirectionChange;
118 double m_charVelocityMeanFactor;
119 double m_charVelocityVarFactor;
120 double m_maxSustVelocityMeanFactor;
121 double m_maxSustVelocityVarFactor;
122
123 /* Energetic parameters */
124 // Morphology and appetite
125 double m_volumeToMaxGutVolRatio;
126 double m_WWToDWRatio;
127 double m_DWToVolumeRatio;
128 double m_shapeCoefficient;
129 double m_appetiteExponent;
130
131
132 // DEB model parameters
133 double m_V_p;
134 double m_k_as;
135 double m_v_dot;
136 double m_p_aM_;
137 double m_p_dot_M_;
138 double m_E_G_;
139 double m_kappa;
140 double m_p_dot_J_;
141 double m_P_V;
142 double m_L_V;
143 double m_P_E;
144 double m_L_E;
145 double m_a1_G;
146 double m_a2_G;
147
148 // Temperature dependencies
149 double m_energeticReferenceTemperature;
150 double m_energeticTemperatureDependencyParams[5];
151
152 // Feed composition
153 double m_carbohydrateFraction;
154 double m_proteinFraction;
155 double m_lipidFraction;
156
157 // Energy content in body/feed components
158 double m_carbohydrateEnergy;
159 double m_proteinEnergy;
160 double m_lipidEnergy;
161
162 protected:
163 // Functions
164 virtual void ReadInputFile(std::string fileName, std::string filePath);
165 ISimObjectLogger* m_logger;
166 };
167}
168#endif
Definition: FishParameters.h:30
FishParameters(ISimObjectLogger *logger)
test