First pass at PBO
[clouds.git] / simulation.h
index f021ce4b6c31f58f389af55381d08efb7c915be7..1985ee3662fb6af8eec728d2a21d48ba6fb9dcb7 100644 (file)
@@ -1,13 +1,27 @@
-#define CLOUD_DIM 16
+#define CLOUD_DIM_X 64
+#define CLOUD_DIM_Y 16
+#define CLOUD_DIM_Z 64
+
+/* #define CLOUD_DIM_X 16 */
+/* #define CLOUD_DIM_Y 16 */
+/* #define CLOUD_DIM_Z 16 */
+
+#define P_EXT 0.1
+#define P_HUM 0.1 
+#define P_ACT 0.001
+
 struct Clouds {
   // TODO: make more efficient
-  bool hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  bool cld[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  bool act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_ext[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float contDist[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
+  bool hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  bool cld[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  bool act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_ext[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  /** Wind velocity */
+  float vz[CLOUD_DIM_Z];
+  /** continuous distribution */
+  float q[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
 };
 
 void initClouds(Clouds *cs);