Commit ecb81bd90196bcf1ee548fa02d61ae5e75373c7e

Authored by NightIsDark
1 parent 2bd8e770

little modifly

cal_gate.c renamed to calc_gate.c
1 #include <stdio.h> 1 #include <stdio.h>
2 #include <stdlib.h> 2 #include <stdlib.h>
3 #include <math.h> 3 #include <math.h>
4 -  
5 -#include "cal_gate.h"  
6 -  
7 - 4 +#include "calc_gate.h"
8 5
9 typedef enum { 6 typedef enum {
10 - gate_full_open_with_free_flow, /*A 闸门全开自由流*/ 7 + gate_full_open_with_free_flow = 0, /*A 闸门全开自由流*/
11 gate_full_open_with_submerged_flow, /*B 闸门全开淹没流*/ 8 gate_full_open_with_submerged_flow, /*B 闸门全开淹没流*/
12 gate_control_with_free_flow, /*C 闸门控制自由流*/ 9 gate_control_with_free_flow, /*C 闸门控制自由流*/
13 gate_control_with_submerged_flow, /*D 闸门控制淹没流*/ 10 gate_control_with_submerged_flow, /*D 闸门控制淹没流*/
@@ -18,10 +15,9 @@ typedef enum { @@ -18,10 +15,9 @@ typedef enum {
18 }patterns_of_water; 15 }patterns_of_water;
19 16
20 enum { 17 enum {
21 - NOTHINGNESS, 18 + NOTHINGNESS = 0,
22 EXIST 19 EXIST
23 }; 20 };
24 -  
25 enum{ 21 enum{
26 warped_wingwall=1, /*弯曲墙面*/ 22 warped_wingwall=1, /*弯曲墙面*/
27 flat_wingwall, /*平整墙面*/ 23 flat_wingwall, /*平整墙面*/
@@ -29,7 +25,7 @@ enum{ @@ -29,7 +25,7 @@ enum{
29 parallel_wingwall /*平行墙面*/ 25 parallel_wingwall /*平行墙面*/
30 }; 26 };
31 27
32 -struct A{ 28 +struct warped_wingwall_para{
33 double m_warped_wingwall; 29 double m_warped_wingwall;
34 double m_warped_wingwall_ds; 30 double m_warped_wingwall_ds;
35 double m_flat_wingwall; 31 double m_flat_wingwall;
@@ -40,31 +36,15 @@ struct A{ @@ -40,31 +36,15 @@ struct A{
40 double m_parallel_wingwall_ds; 36 double m_parallel_wingwall_ds;
41 }; 37 };
42 38
43 -  
44 -struct B{  
45 - double fai_warped_wingwall;  
46 - //float m_warped_wingwall_ds;  
47 - double fai_flat_wingwall;  
48 - //float m_flat_wingwall_ds;  
49 - double fai_eight_c_wingwall;  
50 - //float m_eight_c_wingwall_ds;  
51 - double fai_parallel_wingwall;  
52 - //float m_parallel_wingwall_ds; 39 +struct flat_wingwall_para{
  40 + double fai_warped_wingwall; //float m_warped_wingwall_ds;
  41 + double fai_flat_wingwall; //float m_flat_wingwall_ds;
  42 + double fai_eight_c_wingwall; //float m_eight_c_wingwall_ds;
  43 + double fai_parallel_wingwall; //float m_parallel_wingwall_ds;
53 }; 44 };
54 45
55 46
56 -struct C{  
57 - double miu_warped_wingwall;  
58 - double miu_warped_wingwall_ds;  
59 - double miu_flat_wingwall;  
60 - double miu_flat_wingwall_ds;  
61 - double miu_eight_c_wingwall;  
62 - double miu_eight_c_wingwall_ds;  
63 - double miu_parallel_wingwall;  
64 - double miu_parallel_wingwall_ds;  
65 -};  
66 -  
67 -struct D{ 47 +struct eight_c_wingwall_para{
68 double miu_warped_wingwall; 48 double miu_warped_wingwall;
69 double miu_warped_wingwall_ds; 49 double miu_warped_wingwall_ds;
70 double miu_flat_wingwall; 50 double miu_flat_wingwall;
@@ -74,32 +54,23 @@ struct D{ @@ -74,32 +54,23 @@ struct D{
74 double miu_parallel_wingwall; 54 double miu_parallel_wingwall;
75 double miu_parallel_wingwall_ds; 55 double miu_parallel_wingwall_ds;
76 }; 56 };
77 -  
78 -  
79 typedef struct total{ 57 typedef struct total{
80 - struct A A;  
81 - struct B B;  
82 - struct C C;  
83 - struct D D; 58 + struct warped_wingwall_para A;
  59 + struct flat_wingwall_para B;
  60 + struct eight_c_wingwall_para C;
  61 + struct eight_c_wingwall_para D;
84 }coefficient_infor; 62 }coefficient_infor;
85 63
86 -  
87 -  
88 /* 64 /*
89 *几种墙面分别对应的系数 65 *几种墙面分别对应的系数
90 * 66 *
91 */ 67 */
92 -coefficient_infor coefficient={.A.m_warped_wingwall=0.325, .A.m_warped_wingwall_ds=0.380, .A.m_flat_wingwall=0.310, .A.m_flat_wingwall_ds=0.365,\  
93 - .A.m_eight_c_wingwall=0.330, .A.m_eight_c_wingwall_ds=0.390, .A.m_parallel_wingwall=0.295, .A.m_parallel_wingwall_ds=0.355,\  
94 - .B.fai_warped_wingwall=0.850,.B.fai_flat_wingwall=0.825, .B.fai_eight_c_wingwall=0.860,.B.fai_parallel_wingwall=0.795,\  
95 - .C.miu_warped_wingwall=0.60, .C.miu_warped_wingwall_ds=0.625,.C.miu_flat_wingwall=0.58, .C.miu_flat_wingwall_ds=0.60,\  
96 - .C.miu_eight_c_wingwall=0.62,.C.miu_eight_c_wingwall_ds=0.64,.C.miu_parallel_wingwall=0.61,.C.miu_parallel_wingwall_ds=0.65,  
97 - .D.miu_warped_wingwall=0.60, .D.miu_warped_wingwall_ds=0.625,.D.miu_flat_wingwall=0.60, .D.miu_flat_wingwall_ds=0.60,\  
98 - .D.miu_eight_c_wingwall=0.64,.D.miu_eight_c_wingwall_ds=0.64,.D.miu_parallel_wingwall=0.63,.D.miu_parallel_wingwall_ds=0.65\  
99 - };  
100 -  
101 -  
102 - 68 +const coefficient_infor coefficient={
  69 + {0.325, 0.380, 0.310, 0.365, 0.330, 0.390, 0.295, 0.355},
  70 + {0.85, 0.825, 0.860, 0.795},
  71 + {0.6, 0.625, 0.58, 0.60, 0.62, 0.64, 0.61, 0.65},
  72 + {0.6, 0.625, 0.6, 0.6, 0.64, 0.64, 0.63, 0.65}
  73 +};
103 /* 74 /*
104 *函数名: data_validity_check() 75 *函数名: data_validity_check()
105 *参数: *param 76 *参数: *param
@@ -107,38 +78,32 @@ coefficient_infor coefficient={.A.m_warped_wingwall=0.325, .A.m_warped_wingwall @@ -107,38 +78,32 @@ coefficient_infor coefficient={.A.m_warped_wingwall=0.325, .A.m_warped_wingwall
107 *返回值: 0表示参数是合法的,非0表示不合法 78 *返回值: 0表示参数是合法的,非0表示不合法
108 * 79 *
109 */ 80 */
110 -char data_validity_check(struct param_gate *param) 81 +int data_validity_check(struct param_gate *param)
111 { 82 {
112 - if(param->wingwall <1 || param->wingwall>4){  
113 - printf("Invalid parameter of wingwall\r\n");  
114 - return 1; 83 + if(param->wingwall <warped_wingwall || param->wingwall>parallel_wingwall){
  84 + return -1;
115 } 85 }
116 - if(param->drop_step <0 || param->drop_step >1){  
117 - printf("Invalid parameter of drop_step\r\n");  
118 - return 2; 86 + if(!(param->drop_step = 0 || param->drop_step >1)){
  87 + return -1;
119 } 88 }
120 - if(param->openning_height_of_gate <0.0000001){  
121 - printf("Invalid parameter of openning_height_of_gate\r\n");  
122 - return 3; 89 + if(param->openning_height_of_gate <-0.0000001){
  90 + return -1;
123 } 91 }
124 - if(param->water_depth_front_of_gate <0.0000001){  
125 - printf("Invalid parameter of water_depth_front_of_gate\r\n");  
126 - return 4; 92 + if(param->water_depth_front_of_gate <-0.0000001){
  93 + return -1;
127 } 94 }
128 - if(param->water_depth_behind_of_gate <0.0000001){  
129 - printf("Invalid parameter of water_depth_behind_of_gate\r\n");  
130 - return 5; 95 + if(param->water_depth_behind_of_gate <-0.0000001){
  96 + return -1;
131 } 97 }
132 if(param->gate_width <0.0000001){ 98 if(param->gate_width <0.0000001){
133 - printf("Invalid parameter of gate_width\r\n");  
134 - return 6; 99 + return -1;
135 } 100 }
136 return 0; 101 return 0;
137 } 102 }
138 103
139 /* 104 /*
140 *函数名: discrimination_of_flow_pattern() 105 *函数名: discrimination_of_flow_pattern()
141 - *参数: openning_height_of_gate 开闸高度 106 + *参数: openning_height_of_gate 开闸高度
142 * water_depth_front_of_gate 闸前水位 107 * water_depth_front_of_gate 闸前水位
143 * water_depth_behind_of_gate 闸后水位 108 * water_depth_behind_of_gate 闸后水位
144 * drop_step 跌槛 109 * drop_step 跌槛
@@ -150,7 +115,7 @@ char data_validity_check(struct param_gate *param) @@ -150,7 +115,7 @@ char data_validity_check(struct param_gate *param)
150 patterns_of_water discrimination_of_flow_pattern(double openning_height_of_gate,double water_depth_front_of_gate,double water_depth_behind_of_gate,int drop_step) 115 patterns_of_water discrimination_of_flow_pattern(double openning_height_of_gate,double water_depth_front_of_gate,double water_depth_behind_of_gate,int drop_step)
151 { 116 {
152 if((openning_height_of_gate/water_depth_front_of_gate > 0.65) && (water_depth_behind_of_gate/water_depth_front_of_gate < 0.7)){ 117 if((openning_height_of_gate/water_depth_front_of_gate > 0.65) && (water_depth_behind_of_gate/water_depth_front_of_gate < 0.7)){
153 - if(drop_step == EXIST) 118 + if(drop_step == EXIST)
154 return gate_full_open_with_free_flow_drop_step; 119 return gate_full_open_with_free_flow_drop_step;
155 else 120 else
156 return gate_full_open_with_free_flow; 121 return gate_full_open_with_free_flow;
@@ -178,16 +143,54 @@ struct datas{ @@ -178,16 +143,54 @@ struct datas{
178 double original_data_after; 143 double original_data_after;
179 double value; 144 double value;
180 }; 145 };
181 -  
182 -struct datas table[46]={{0.00,0.05,1.00},{0.05,0.15,0.990},{0.15,0.25,0.980},{0.25,0.35,0.970},{0.35,0.45,0.956},{0.45,0.475,0.947},{0.475,0.525,0.937},{0.525,0.575,0.925},\  
183 - {0.575,0.625,0.907},{0.625,0.675,0.885},{0.675,0.710,0.856},{0.710,0.730,0.843},{0.730,0.750,0.828},{0.750,0.770,0.813},{0.770,0.790,0.800},{0.790,0.805,0.778},\  
184 - {0.805,0.815,0.767},{0.815,0.825,0.755},{0.825,0.835,0.742},{0.835,0.845,0.728},{0.845,0.855,0.713},{0.855,0.865,0.698},{0.865,0.875,0.681},{0.875,0.885,0.662},\  
185 - {0.885,0.895,0.642},{0.895,0.9025,0.621},{0.9025,0.9075,0.608},{0.9075,0.9125,0.595},{0.9125,0.9175,0.580},{0.9175,0.9225,0.565},{0.9225,0.9275,0.549},\  
186 - {0.9275,0.9325,0.532},{0.9325,0.9375,0.514},{0.9375,0.9425,0.484},{0.9425,0.9475,0.473},{0.9475,0.9525,0.450},{0.9525,0.9575,0.427},{0.9575,0.9625,0.403},\  
187 - {0.9625,0.9675,0.375},{0.9675,0.9725,0.344},{0.9725,0.9775,0.318},{0.9775,0.9825,0.267},{0.9825,0.9875,0.225},{0.9875,0.9925,0.175},{0.9925,0.9975,0.115},\  
188 - {0.9975,1.0000,0.000} 146 +const struct datas table[46]={
  147 + {0.00,0.05,1.00},
  148 + {0.05,0.15,0.990},
  149 + {0.15,0.25,0.980},
  150 + {0.25,0.35,0.970},
  151 + {0.35,0.45,0.956},
  152 + {0.45,0.475,0.947},
  153 + {0.475,0.525,0.937},
  154 + {0.525,0.575,0.925},
  155 + {0.575,0.625,0.907},
  156 + {0.625,0.675,0.885},
  157 + {0.675,0.710,0.856},
  158 + {0.710,0.730,0.843},
  159 + {0.730,0.750,0.828},
  160 + {0.750,0.770,0.813},
  161 + {0.770,0.790,0.800},
  162 + {0.790,0.805,0.778},
  163 + {0.805,0.815,0.767},
  164 + {0.815,0.825,0.755},
  165 + {0.825,0.835,0.742},
  166 + {0.835,0.845,0.728},
  167 + {0.845,0.855,0.713},
  168 + {0.855,0.865,0.698},
  169 + {0.865,0.875,0.681},
  170 + {0.875,0.885,0.662},
  171 + {0.885,0.895,0.642},
  172 + {0.895,0.9025,0.621},
  173 + {0.9025,0.9075,0.608},
  174 + {0.9075,0.9125,0.595},
  175 + {0.9125,0.9175,0.580},
  176 + {0.9175,0.9225,0.565},
  177 + {0.9225,0.9275,0.549},
  178 + {0.9275,0.9325,0.532},
  179 + {0.9325,0.9375,0.514},
  180 + {0.9375,0.9425,0.484},
  181 + {0.9425,0.9475,0.473},
  182 + {0.9475,0.9525,0.450},
  183 + {0.9525,0.9575,0.427},
  184 + {0.9575,0.9625,0.403},
  185 + {0.9625,0.9675,0.375},
  186 + {0.9675,0.9725,0.344},
  187 + {0.9725,0.9775,0.318},
  188 + {0.9775,0.9825,0.267},
  189 + {0.9825,0.9875,0.225},
  190 + {0.9875,0.9925,0.175},
  191 + {0.9925,0.9975,0.115},
  192 + {0.9975,1.0000,0.000}
189 }; 193 };
190 -  
191 double find(double target) 194 double find(double target)
192 { 195 {
193 int i=0; 196 int i=0;
@@ -210,15 +213,13 @@ double find(double target) @@ -210,15 +213,13 @@ double find(double target)
210 double get_coefficient_rou(double water_depth_front_of_gate,double water_depth_behind_of_gate) 213 double get_coefficient_rou(double water_depth_front_of_gate,double water_depth_behind_of_gate)
211 { 214 {
212 double s; 215 double s;
213 -  
214 s=water_depth_behind_of_gate/water_depth_front_of_gate; 216 s=water_depth_behind_of_gate/water_depth_front_of_gate;
215 return find(s); 217 return find(s);
216 } 218 }
217 219
218 -  
219 /* 220 /*
220 - *函数名: cal_gate_full_open_with_free_flow()  
221 - *参数: water_depth_front_of_gate 闸前水深 221 + *函数名: cal_gate_full_open_with_free_flow()
  222 + *参数: water_depth_front_of_gate 闸前水深
222 * water_depth_behind_of_gate 闸后水深 223 * water_depth_behind_of_gate 闸后水深
223 * gate_width 闸门宽度 224 * gate_width 闸门宽度
224 * wingwall 翼墙类型 225 * wingwall 翼墙类型
@@ -227,7 +228,6 @@ double get_coefficient_rou(double water_depth_front_of_gate,double water_depth_b @@ -227,7 +228,6 @@ double get_coefficient_rou(double water_depth_front_of_gate,double water_depth_b
227 *返回值: 瞬时流量 228 *返回值: 瞬时流量
228 * 229 *
229 */ 230 */
230 -  
231 double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double gate_width,int wingwall,int ds) 231 double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double gate_width,int wingwall,int ds)
232 { 232 {
233 double instantaneousFlow; 233 double instantaneousFlow;
@@ -236,7 +236,7 @@ double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double @@ -236,7 +236,7 @@ double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double
236 case warped_wingwall: 236 case warped_wingwall:
237 if(ds == EXIST) 237 if(ds == EXIST)
238 instantaneousFlow=coefficient.A.m_warped_wingwall_ds*gate_width*water_depth_front_of_gate*sqrt(2*g*water_depth_front_of_gate); 238 instantaneousFlow=coefficient.A.m_warped_wingwall_ds*gate_width*water_depth_front_of_gate*sqrt(2*g*water_depth_front_of_gate);
239 - else 239 + else
240 instantaneousFlow=coefficient.A.m_warped_wingwall*gate_width*water_depth_front_of_gate*sqrt(2*g*water_depth_front_of_gate); 240 instantaneousFlow=coefficient.A.m_warped_wingwall*gate_width*water_depth_front_of_gate*sqrt(2*g*water_depth_front_of_gate);
241 break; 241 break;
242 case flat_wingwall: 242 case flat_wingwall:
@@ -262,8 +262,8 @@ double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double @@ -262,8 +262,8 @@ double cal_gate_full_open_with_free_flow(double water_depth_front_of_gate,double
262 } 262 }
263 263
264 /* 264 /*
265 - *函数名: cal_gate_full_open_with_submerged_flow()  
266 - *参数: water_depth_front_of_gate 闸前水深 265 + *函数名: cal_gate_full_open_with_submerged_flow()
  266 + *参数: water_depth_front_of_gate 闸前水深
267 * water_depth_behind_of_gate 闸后水深 267 * water_depth_behind_of_gate 闸后水深
268 * gate_width 闸门宽度 268 * gate_width 闸门宽度
269 * wingwall 翼墙类型 269 * wingwall 翼墙类型
@@ -285,21 +285,21 @@ double cal_gate_full_open_with_submerged_flow(double water_depth_front_of_gate,d @@ -285,21 +285,21 @@ double cal_gate_full_open_with_submerged_flow(double water_depth_front_of_gate,d
285 instantaneousFlow=coefficient.B.fai_warped_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate)); 285 instantaneousFlow=coefficient.B.fai_warped_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate));
286 break; 286 break;
287 case flat_wingwall: 287 case flat_wingwall:
288 - if(ds == EXIST) 288 + if(ds == EXIST)
289 instantaneousFlow=coefficient.B.fai_flat_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\ 289 instantaneousFlow=coefficient.B.fai_flat_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\
290 *sqrt(2*g*water_depth_front_of_gate); 290 *sqrt(2*g*water_depth_front_of_gate);
291 else 291 else
292 instantaneousFlow=coefficient.B.fai_flat_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate)); 292 instantaneousFlow=coefficient.B.fai_flat_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate));
293 break; 293 break;
294 case eight_c_wingwall: 294 case eight_c_wingwall:
295 - if(ds == EXIST) 295 + if(ds == EXIST)
296 instantaneousFlow=coefficient.B.fai_eight_c_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\ 296 instantaneousFlow=coefficient.B.fai_eight_c_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\
297 *sqrt(2*g*water_depth_front_of_gate); 297 *sqrt(2*g*water_depth_front_of_gate);
298 else 298 else
299 instantaneousFlow=coefficient.B.fai_eight_c_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate)); 299 instantaneousFlow=coefficient.B.fai_eight_c_wingwall*gate_width*water_depth_behind_of_gate*sqrt(2*g*(water_depth_front_of_gate-water_depth_behind_of_gate));
300 break; 300 break;
301 case parallel_wingwall: 301 case parallel_wingwall:
302 - if(ds == EXIST) 302 + if(ds == EXIST)
303 instantaneousFlow=coefficient.B.fai_parallel_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\ 303 instantaneousFlow=coefficient.B.fai_parallel_wingwall*gate_width*get_coefficient_rou(water_depth_front_of_gate,water_depth_behind_of_gate)*water_depth_behind_of_gate\
304 *sqrt(2*g*water_depth_front_of_gate); 304 *sqrt(2*g*water_depth_front_of_gate);
305 else 305 else
@@ -310,8 +310,8 @@ double cal_gate_full_open_with_submerged_flow(double water_depth_front_of_gate,d @@ -310,8 +310,8 @@ double cal_gate_full_open_with_submerged_flow(double water_depth_front_of_gate,d
310 } 310 }
311 311
312 /* 312 /*
313 - *函数名: cal_gate_control_with_free_flow()  
314 - *参数: water_depth_front_of_gate 闸前水深 313 + *函数名: cal_gate_control_with_free_flow()
  314 + *参数: water_depth_front_of_gate 闸前水深
315 * water_depth_behind_of_gate 闸后水深 315 * water_depth_behind_of_gate 闸后水深
316 * height_of_gate 闸门开启高度 316 * height_of_gate 闸门开启高度
317 * gate_width 闸门宽度 317 * gate_width 闸门宽度
@@ -355,15 +355,15 @@ double cal_gate_control_with_free_flow(double water_depth_front_of_gate,double w @@ -355,15 +355,15 @@ double cal_gate_control_with_free_flow(double water_depth_front_of_gate,double w
355 } 355 }
356 356
357 /* 357 /*
358 - *函数名: cal_gate_control_with_submerged_flow()  
359 - *参数: water_depth_front_of_gate 闸前水深 358 + *函数名: cal_gate_control_with_submerged_flow()
  359 + *参数: water_depth_front_of_gate 闸前水深
360 * water_depth_behind_of_gate 闸后水深 360 * water_depth_behind_of_gate 闸后水深
361 * height_of_gate 闸门开启高度 361 * height_of_gate 闸门开启高度
362 * gate_width 闸门宽度 362 * gate_width 闸门宽度
363 * wingwall 翼墙类型 363 * wingwall 翼墙类型
364 * ds 跌槛 364 * ds 跌槛
365 - *功能: 根据参数,计算出闸门控制淹没流模型下的瞬时流量  
366 - *返回值: 瞬时流量 365 + *功能: 根据参数,计算出闸门控制淹没流模型下的瞬时流量
  366 + *返回值: 瞬时流量
367 * 367 *
368 */ 368 */
369 double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,double water_depth_behind_of_gate,double height_of_gate,double gate_width,int wingwall,int ds) 369 double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,double water_depth_behind_of_gate,double height_of_gate,double gate_width,int wingwall,int ds)
@@ -399,15 +399,9 @@ double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,dou @@ -399,15 +399,9 @@ double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,dou
399 return instantaneousFlow; 399 return instantaneousFlow;
400 } 400 }
401 401
402 -  
403 -  
404 -  
405 -  
406 -  
407 -  
408 /* 402 /*
409 *函数名: Calculation_of_InstantaneousFlow() 403 *函数名: Calculation_of_InstantaneousFlow()
410 - *参数: *param 指向struct param_gate的指针 404 + *参数: *param 指向struct param_gate的指针
411 * 405 *
412 *功能: 根据参数,计算出瞬时流量 406 *功能: 根据参数,计算出瞬时流量
413 *返回值: 瞬时流量 407 *返回值: 瞬时流量
@@ -416,10 +410,10 @@ double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,dou @@ -416,10 +410,10 @@ double cal_gate_control_with_submerged_flow(double water_depth_front_of_gate,dou
416 int Calculation_of_InstantaneousFlow(double *value,struct param_gate *param) 410 int Calculation_of_InstantaneousFlow(double *value,struct param_gate *param)
417 { 411 {
418 patterns_of_water get_pattern; 412 patterns_of_water get_pattern;
419 - 413 +
420 if(data_validity_check(param)!=0) 414 if(data_validity_check(param)!=0)
421 return -1; 415 return -1;
422 - 416 +
423 get_pattern = discrimination_of_flow_pattern(param->openning_height_of_gate,param->water_depth_front_of_gate,param->water_depth_behind_of_gate,param->drop_step); 417 get_pattern = discrimination_of_flow_pattern(param->openning_height_of_gate,param->water_depth_front_of_gate,param->water_depth_behind_of_gate,param->drop_step);
424 switch(get_pattern){ 418 switch(get_pattern){
425 case gate_full_open_with_free_flow: 419 case gate_full_open_with_free_flow:
cal_gate.h renamed to calc_gate.h
1 -#ifndef __CAL_GATE_H  
2 -#define __CAL_GATE_H 1 +#ifndef _CALC_GATE_H
  2 +#define _CALC_GATE_H
3 3
4 #define g 9.81 4 #define g 9.81
5 5
6 struct param_gate{ 6 struct param_gate{
7 int wingwall; 7 int wingwall;
8 - int drop_step; 8 + int drop_step;
9 double openning_height_of_gate; 9 double openning_height_of_gate;
10 double water_depth_front_of_gate; 10 double water_depth_front_of_gate;
11 double water_depth_behind_of_gate; 11 double water_depth_behind_of_gate;
12 double gate_width; 12 double gate_width;
13 }; 13 };
14 14
15 -  
16 -//double Calculation_of_InstantaneousFlow(double openning_height_of_gate, double water_depth_front_of_gate,double water_depth_behind_of_gate,double gate_width,int wingwall,int drop_step);  
17 int Calculation_of_InstantaneousFlow(double *value,struct param_gate *param); 15 int Calculation_of_InstantaneousFlow(double *value,struct param_gate *param);
18 16
19 -  
20 -  
21 #endif 17 #endif