This repository has been archived by the owner on Jul 30, 2019. It is now read-only.
forked from huiprobable/CellsMD3D
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNutrients.h
48 lines (34 loc) · 1.8 KB
/
Nutrients.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef NUTRIENTS_H_
#define NUTRIENTS_H_
#include "tools.h"
#include "Constants.h"
//#include "Array.h"
template<typename T>
class Array3D;
struct LocalEnv
{
LocalEnv()
{
Carbon = 0.0;
GrowthRate = 0.0;
}
LocalEnv(double _carbon, double _growthrate): Carbon(_carbon), GrowthRate(_growthrate) {}
double Carbon;
double GrowthRate;
};
struct LocalAga
{
LocalAga()
{
CarbonAgar = maxCarbon;
}
LocalAga(double _carbonAgar, double _growthrateAgar): CarbonAgar(_carbonAgar) {}
double CarbonAgar;
};
template<typename T>
class Array2D;
int UpdateEnvArray(Array3D<LocalEnv>* CurrentColony, Array3D<LocalEnv>* PreviousColony, Array3D<LocalAga>** CurrentAgar, Array3D<LocalAga>** PreviousAgar, Array2D<LocalAga>** CurrentWall, Array2D<LocalAga>** PreviousWall, Array3D<double>& DensityShiftP, Array3D<double>& Density1ShiftP, Array3D<double>& Density2ShiftP, Array2D<double>& WallDensityShiftP,Array2D<double>& WallDensity1ShiftP,Array2D<double>& WallDensity2ShiftP, int minX, int maxX, int minY, int maxY, int maxH, Array2D<double>& Height, Array3D<double>& insideColonyDen);
void UpdateEnvironment(Array3D<LocalEnv>* Env, Array3D<LocalEnv>* prevEnv, Array2D<LocalAga>* prevWal, Array3D<double>& DensityShiftP, Array3D<double>& Density1ShiftP, Array3D<double>& Density2ShiftP, Array2D<double>& WallDensityShiftP,IntCoord position, Array3D<double>& insideColonyDen);
void UpdateAgar(Array3D<LocalAga>** Aga, Array3D<LocalAga>** prevAga, Array2D<LocalAga>** Wal, IntCoord position, int level);
void UpdateWall(Array3D<LocalEnv>* Env, Array3D<LocalAga>** prevAga, Array2D<LocalAga>** Wal, Array2D<LocalAga>** prevWal, Array2D<double>& WallDensityShiftP, Array2D<double>& WallDensity1ShiftP, Array2D<double>& WallDensity2ShiftP, IntCoord2D position, int level, Array2D<double>& Height, Array3D<double>& insideColonyDen);
#endif