1985ee3662fb6af8eec728d2a21d48ba6fb9dcb7
[clouds.git] / simulation.h
1 #define CLOUD_DIM_X 64
2 #define CLOUD_DIM_Y 16
3 #define CLOUD_DIM_Z 64
4
5 /* #define CLOUD_DIM_X 16 */
6 /* #define CLOUD_DIM_Y 16 */
7 /* #define CLOUD_DIM_Z 16 */
8
9 #define P_EXT 0.1
10 #define P_HUM 0.1 
11 #define P_ACT 0.001
12
13 struct Clouds {
14   // TODO: make more efficient
15   bool hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
16   bool cld[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
17   bool act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
18   float p_ext[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
19   float p_hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
20   float p_act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
21   /** Wind velocity */
22   float vz[CLOUD_DIM_Z];
23   /** continuous distribution */
24   float q[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
25 };
26
27 void initClouds(Clouds *cs);
28
29 void stepClouds(Clouds *cs);