MoDeNa  1.0
Software framework facilitating sequential multi-scale modelling
RF-1-public.c
1 enum statevar
2 {
3 n_Catalyst_1=0, n_CE_A0=1, n_CE_A1=2,n_CE_B=3, n_CE_B2=4, n_CE_I0=5,n_CE_I1=6, n_CE_I2=7, n_CE_PBA=8,n_CE_Breac=9, n_CE_Areac0=10, n_CE_Areac1=11,n_CE_Ireac0=12, n_CE_Ireac1=13, n_CE_Ireac2=14,n_Bulk=15, n_R_1=16, n_R_1_mass=17,n_R_1_temp=18, n_R_1_vol=19}
4 ;
5 int DIM = 20;
6 double XINI[20] =
7 {
8 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
9 ;
10 char* XNAMES[20] =
11 {
12 "Catalyst_1","CE_A0","CE_A1","CE_B","CE_B2","CE_I0","CE_I1","CE_I2","CE_PBA","CE_Breac","CE_Areac0","CE_Areac1","CE_Ireac0","CE_Ireac1","CE_Ireac2","Bulk","R_1","R_1_mass","R_1_temp","R_1_vol"}
13 ;
14 double XTYPES[20] =
15 {
16 1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,2,2,2,2}
17 ;
18 static double tGlobal = 0;
19 double max(double x1, double x2)
20 {
21 return (x1 > x2) ? x1 : x2;
22 }
23 double min(double x1, double x2)
24 {
25 return (x1 < x2) ? x1 : x2;
26 }
27 enum params
28 {
29 n_kH_prim_OH_EO_Solvent=0, n_kS_prim_OH_EO_Solvent=1, n_kS_sec_OH_PO_Solvent=2,n_kH_sec_OH_PO_Solvent=3, n_kS_prim_OH_BDO_Solvent=4, n_kH_prim_OH_BDO_Solvent=5,n_kS_prim_OH_EO_Cat1=6, n_kS_prim_OH_EO_Cat2=7, n_kH_sec_OH_PO_Cat1=8,n_kS_prim_OH_EO_Cat3=9, n_kH_prim_OH_EO_Cat1=10, n_kS_sec_OH_PO_Cat1=11,n_kH_prim_OH_EO_Cat2=12, n_kH_prim_OH_EO_Cat3=13, n_kH_sec_OH_PO_Cat2=14,n_kH_sec_OH_PO_Cat3=15, n_kS_sec_OH_PO_Cat2=16, n_kS_sec_OH_PO_Cat3=17,n_kS_prim_OH_BDO_Cat1=18, n_kS_prim_OH_BDO_Cat2=19, n_kS_prim_OH_BDO_Cat3=20,n_kH_prim_OH_BDO_Cat1=21, n_kH_prim_OH_BDO_Cat2=22, n_kH_prim_OH_BDO_Cat3=23,n_kH_H2O_prim=24, n_kS_H2O_prim=25, n_kH_H2O_sec=26,n_kS_H2O_sec=27, n_kH_H2O_BDO=28, n_kS_H2O_BDO=29,n_kH_H2O_H2O=30, n_kS_H2O_H2O=31, n_kH_H2O_Cat1=32,n_kH_H2O_Cat1s=33, n_kH_H2O_Cat2=34, n_kH_H2O_Cat2s=35,n_kH_H2O_Cat3=36, n_kH_H2O_Cat3s=37, n_kS_H2O_Cat1=38,n_kS_H2O_Cat1s=39, n_kS_H2O_Cat2=40, n_kS_H2O_Cat2s=41,n_kS_H2O_Cat3=42, n_kS_H2O_Cat3s=43, n_f_cat=44,n_CS=45, n_CH=46, n_k_A1=47,n_k_A0=48, n_k_I1=49, n_k_I2=50,n_f_oh_a0=51, n_f_oh_a2=52, n_deltah_a0=53,n_deltah_a1=54, n_deltah_a2=55, n_deltah_b1=56,n_deltah_b2=57, n_f_oh_a1=58, n_f_oh_b=59,n_f_oh_b2=60, n_convcrit=61, n_t_mix=62,n_kzero=63, n_kone=64, n_ktwo=65,n_kthree=66, n_f_coeff_cross=67, n_f_coeff_end=68,n_f_coeff_cat=69, n_t_phase_transfer_A=70, n_kslow=71,n_kfast=72, n_kdummy=73, n_bubble_conc=74,n_bubble_diam=75, n_diffusion=76, n_sherwood=77,n_cp_A0=78, n_cp_I0=79, n_cp_I1=80,n_cp_I2=81, n_cp_B2=82, n_cp_PBA=83,n_cp_Cat=84, n_cp_A1=85}
30 ;
31 int noConst = 86;
32 double pGlobal[86] =
33 {
34 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
35 ;
36 double pGlobalIso[86] =
37 {
38 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
39 ;
40 double pGlobalE[86] =
41 {
42 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
43 ;
44 double pGlobalF[86] =
45 {
46 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
47 ;
48 double pGlobalType[86] =
49 {
50 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
51 ;
52 double pControl[86] =
53 {
54 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
55 ;
56 double TEND = 5000;
57 double TOL = 0.001;
58 double TINI = 0.0001;
59 double RGas =1;
60 double Kelvin = 273.15;
61 int DIMLIB = 1;
62 char* LIBNAMES[1] =
63 {
64 "Name_1"}
65 ;
66 void SetIniState(double* x)
67 {
68 x[n_Catalyst_1] = 6.73000e-02;
69 x[n_CE_A0] = 1.92250e+00;
70 x[n_CE_A1] = 2.26920e+00;
71 x[n_CE_B] = 0.00000e+00;
72 x[n_CE_B2] = 5.46200e-01;
73 x[n_CE_I0] = 2.19790e+00;
74 x[n_CE_I1] = 1.64000e+00;
75 x[n_CE_I2] = 1.71030e+00;
76 x[n_CE_PBA] = 0.00000e+00;
77 x[n_CE_Breac] = 0.00000e+00;
78 x[n_CE_Areac0] = 0.00000e+00;
79 x[n_CE_Areac1] = 0.00000e+00;
80 x[n_CE_Ireac0] = 0.00000e+00;
81 x[n_CE_Ireac1] = 0.00000e+00;
82 x[n_CE_Ireac2] = 0.00000e+00;
83 x[n_Bulk] = 4.45849e+00;
84 x[n_R_1] = 0.00000e+00;
85 x[n_R_1_mass] = 1.00000e+00;
86 x[n_R_1_temp] = 2.27000e+01;
87 x[n_R_1_vol] = 8.46382e-01;
88 }
89 void SetGlobalIniState()
90 {
91 SetIniState(XINI);
92 }
93 void SetMolweight(double* x)
94 {
95 x[n_Catalyst_1] = 0.00000e+00;
96 x[n_CE_A0] = 0.00000e+00;
97 x[n_CE_A1] = 0.00000e+00;
98 x[n_CE_B] = 0.00000e+00;
99 x[n_CE_B2] = 0.00000e+00;
100 x[n_CE_I0] = 0.00000e+00;
101 x[n_CE_I1] = 0.00000e+00;
102 x[n_CE_I2] = 0.00000e+00;
103 x[n_CE_PBA] = 0.00000e+00;
104 x[n_CE_Breac] = 0.00000e+00;
105 x[n_CE_Areac0] = 0.00000e+00;
106 x[n_CE_Areac1] = 0.00000e+00;
107 x[n_CE_Ireac0] = 0.00000e+00;
108 x[n_CE_Ireac1] = 0.00000e+00;
109 x[n_CE_Ireac2] = 0.00000e+00;
110 x[n_Bulk] = 2.65000e-01;
111 x[n_R_1] = 0.00000e+00;
112 x[n_R_1_mass] = 0.00000e+00;
113 x[n_R_1_temp] = 0.00000e+00;
114 x[n_R_1_vol] = 0.00000e+00;
115 }
116 void SetIniParam(double* p)
117 {
118 p[n_kH_prim_OH_EO_Solvent] = 0.00000e+00;
119 p[n_kS_prim_OH_EO_Solvent] = 0.00000e+00;
120 p[n_kS_sec_OH_PO_Solvent] = 0.00000e+00;
121 p[n_kH_sec_OH_PO_Solvent] = 0.00000e+00;
122 p[n_kS_prim_OH_BDO_Solvent] = 0.00000e+00;
123 p[n_kH_prim_OH_BDO_Solvent] = 0.00000e+00;
124 p[n_kS_prim_OH_EO_Cat1] = 0.00000e+00;
125 p[n_kS_prim_OH_EO_Cat2] = 0.00000e+00;
126 p[n_kH_sec_OH_PO_Cat1] = 0.00000e+00;
127 p[n_kS_prim_OH_EO_Cat3] = 0.00000e+00;
128 p[n_kH_prim_OH_EO_Cat1] = 0.00000e+00;
129 p[n_kS_sec_OH_PO_Cat1] = 0.00000e+00;
130 p[n_kH_prim_OH_EO_Cat2] = 0.00000e+00;
131 p[n_kH_prim_OH_EO_Cat3] = 0.00000e+00;
132 p[n_kH_sec_OH_PO_Cat2] = 0.00000e+00;
133 p[n_kH_sec_OH_PO_Cat3] = 0.00000e+00;
134 p[n_kS_sec_OH_PO_Cat2] = 0.00000e+00;
135 p[n_kS_sec_OH_PO_Cat3] = 0.00000e+00;
136 p[n_kS_prim_OH_BDO_Cat1] = 0.00000e+00;
137 p[n_kS_prim_OH_BDO_Cat2] = 0.00000e+00;
138 p[n_kS_prim_OH_BDO_Cat3] = 0.00000e+00;
139 p[n_kH_prim_OH_BDO_Cat1] = 0.00000e+00;
140 p[n_kH_prim_OH_BDO_Cat2] = 0.00000e+00;
141 p[n_kH_prim_OH_BDO_Cat3] = 0.00000e+00;
142 p[n_kH_H2O_prim] = 0.00000e+00;
143 p[n_kS_H2O_prim] = 0.00000e+00;
144 p[n_kH_H2O_sec] = 0.00000e+00;
145 p[n_kS_H2O_sec] = 0.00000e+00;
146 p[n_kH_H2O_BDO] = 0.00000e+00;
147 p[n_kS_H2O_BDO] = 0.00000e+00;
148 p[n_kH_H2O_H2O] = 0.00000e+00;
149 p[n_kS_H2O_H2O] = 0.00000e+00;
150 p[n_kH_H2O_Cat1] = 0.00000e+00;
151 p[n_kH_H2O_Cat1s] = 0.00000e+00;
152 p[n_kH_H2O_Cat2] = 0.00000e+00;
153 p[n_kH_H2O_Cat2s] = 0.00000e+00;
154 p[n_kH_H2O_Cat3] = 0.00000e+00;
155 p[n_kH_H2O_Cat3s] = 0.00000e+00;
156 p[n_kS_H2O_Cat1] = 0.00000e+00;
157 p[n_kS_H2O_Cat1s] = 0.00000e+00;
158 p[n_kS_H2O_Cat2] = 0.00000e+00;
159 p[n_kS_H2O_Cat2s] = 0.00000e+00;
160 p[n_kS_H2O_Cat3] = 0.00000e+00;
161 p[n_kS_H2O_Cat3s] = 0.00000e+00;
162 p[n_f_cat] = 1.00000e+00;
163 p[n_CS] = 0.00000e+00;
164 p[n_CH] = 1.00000e+00;
165 p[n_k_A1] = 3.00000e+00;
166 p[n_k_A0] = 3.00000e+00;
167 p[n_k_I1] = 3.00000e+00;
168 p[n_k_I2] = 4.00000e+00;
169 p[n_f_oh_a0] = 2.00000e+00;
170 p[n_f_oh_a2] = 2.00000e+00;
171 p[n_deltah_a0] = -8.30000e+01;
172 p[n_deltah_a1] = -8.30000e+01;
173 p[n_deltah_a2] = -8.00000e+01;
174 p[n_deltah_b1] = -4.70000e+01;
175 p[n_deltah_b2] = -1.27000e+02;
176 p[n_f_oh_a1] = 2.00000e+00;
177 p[n_f_oh_b] = 3.00000e+00;
178 p[n_f_oh_b2] = 4.00000e+00;
179 p[n_convcrit] = 9.99000e-01;
180 p[n_t_mix] = 1.00000e+00;
181 p[n_kzero] = 0.00000e+00;
182 p[n_kone] = 1.00000e+00;
183 p[n_ktwo] = 2.00000e+00;
184 p[n_kthree] = 3.00000e+00;
185 p[n_f_coeff_cross] = 0.00000e+00;
186 p[n_f_coeff_end] = 1.00000e+00;
187 p[n_f_coeff_cat] = 1.00000e+00;
188 p[n_t_phase_transfer_A] = 1.00000e+00;
189 p[n_kslow] = 1.00000e+00;
190 p[n_kfast] = 1.00000e+02;
191 p[n_kdummy] = 0.00000e+00;
192 p[n_bubble_conc] = 1.00000e+07;
193 p[n_bubble_diam] = 2.00000e-05;
194 p[n_diffusion] = 1.00000e-09;
195 p[n_sherwood] = 2.00000e+00;
196 p[n_cp_A0] = 3.08000e-01;
197 p[n_cp_I0] = 2.12500e-01;
198 p[n_cp_I1] = 2.28900e-01;
199 p[n_cp_I2] = 2.31000e-01;
200 p[n_cp_B2] = 7.52000e-02;
201 p[n_cp_PBA] = 2.00000e-01;
202 p[n_cp_Cat] = 2.00000e-01;
203 p[n_cp_A1] = 1.25400e-01;
204 }
205 void SetIniParamE(double* p)
206 {
207 p[n_kH_prim_OH_EO_Solvent] = 3.40000e+03;
208 p[n_kS_prim_OH_EO_Solvent] = 3.40000e+03;
209 p[n_kS_sec_OH_PO_Solvent] = 6.00000e+03;
210 p[n_kH_sec_OH_PO_Solvent] = 5.49500e+03;
211 p[n_kS_prim_OH_BDO_Solvent] = 4.80000e+03;
212 p[n_kH_prim_OH_BDO_Solvent] = 3.21000e+03;
213 p[n_kS_prim_OH_EO_Cat1] = 5.00000e+03;
214 p[n_kS_prim_OH_EO_Cat2] = 2.50000e+03;
215 p[n_kH_sec_OH_PO_Cat1] = 4.60000e+03;
216 p[n_kS_prim_OH_EO_Cat3] = 4.00000e+03;
217 p[n_kH_prim_OH_EO_Cat1] = 3.00000e+03;
218 p[n_kS_sec_OH_PO_Cat1] = 0.00000e+00;
219 p[n_kH_prim_OH_EO_Cat2] = 3.50000e+03;
220 p[n_kH_prim_OH_EO_Cat3] = 2.50000e+03;
221 p[n_kH_sec_OH_PO_Cat2] = 4.50000e+03;
222 p[n_kH_sec_OH_PO_Cat3] = 3.50000e+03;
223 p[n_kS_sec_OH_PO_Cat2] = 4.50000e+03;
224 p[n_kS_sec_OH_PO_Cat3] = 4.50000e+03;
225 p[n_kS_prim_OH_BDO_Cat1] = 3.20000e+03;
226 p[n_kS_prim_OH_BDO_Cat2] = 3.20000e+03;
227 p[n_kS_prim_OH_BDO_Cat3] = 2.50000e+03;
228 p[n_kH_prim_OH_BDO_Cat1] = 3.00000e+03;
229 p[n_kH_prim_OH_BDO_Cat2] = 2.50000e+03;
230 p[n_kH_prim_OH_BDO_Cat3] = 2.50000e+03;
231 p[n_kH_H2O_prim] = 2.50000e+03;
232 p[n_kS_H2O_prim] = 2.40000e+03;
233 p[n_kH_H2O_sec] = 2.40000e+03;
234 p[n_kS_H2O_sec] = 2.40000e+03;
235 p[n_kH_H2O_BDO] = 2.40000e+03;
236 p[n_kS_H2O_BDO] = 2.40000e+03;
237 p[n_kH_H2O_H2O] = 4.50000e+03;
238 p[n_kS_H2O_H2O] = 4.50000e+03;
239 p[n_kH_H2O_Cat1] = 5.80000e+03;
240 p[n_kH_H2O_Cat1s] = 5.50000e+03;
241 p[n_kH_H2O_Cat2] = 2.50000e+03;
242 p[n_kH_H2O_Cat2s] = 2.50000e+03;
243 p[n_kH_H2O_Cat3] = 2.50000e+03;
244 p[n_kH_H2O_Cat3s] = 2.50000e+03;
245 p[n_kS_H2O_Cat1] = 3.00000e+03;
246 p[n_kS_H2O_Cat1s] = 5.50000e+03;
247 p[n_kS_H2O_Cat2] = 2.50000e+03;
248 p[n_kS_H2O_Cat2s] = 2.50000e+03;
249 p[n_kS_H2O_Cat3] = 2.50000e+03;
250 p[n_kS_H2O_Cat3s] = 2.50000e+03;
251 p[n_f_cat] = 0.00000e+00;
252 p[n_CS] = 0.00000e+00;
253 p[n_CH] = 0.00000e+00;
254 p[n_k_A1] = 0.00000e+00;
255 p[n_k_A0] = 0.00000e+00;
256 p[n_k_I1] = 0.00000e+00;
257 p[n_k_I2] = 0.00000e+00;
258 p[n_f_oh_a0] = 0.00000e+00;
259 p[n_f_oh_a2] = 0.00000e+00;
260 p[n_deltah_a0] = 0.00000e+00;
261 p[n_deltah_a1] = 0.00000e+00;
262 p[n_deltah_a2] = 0.00000e+00;
263 p[n_deltah_b1] = 0.00000e+00;
264 p[n_deltah_b2] = 0.00000e+00;
265 p[n_f_oh_a1] = 0.00000e+00;
266 p[n_f_oh_b] = 0.00000e+00;
267 p[n_f_oh_b2] = 0.00000e+00;
268 p[n_convcrit] = 0.00000e+00;
269 p[n_t_mix] = 0.00000e+00;
270 p[n_kzero] = 0.00000e+00;
271 p[n_kone] = 0.00000e+00;
272 p[n_ktwo] = 0.00000e+00;
273 p[n_kthree] = 0.00000e+00;
274 p[n_f_coeff_cross] = 0.00000e+00;
275 p[n_f_coeff_end] = 0.00000e+00;
276 p[n_f_coeff_cat] = 0.00000e+00;
277 p[n_t_phase_transfer_A] = 0.00000e+00;
278 p[n_kslow] = 0.00000e+00;
279 p[n_kfast] = 0.00000e+00;
280 p[n_kdummy] = 0.00000e+00;
281 p[n_bubble_conc] = 0.00000e+00;
282 p[n_bubble_diam] = 0.00000e+00;
283 p[n_diffusion] = 0.00000e+00;
284 p[n_sherwood] = 0.00000e+00;
285 p[n_cp_A0] = 0.00000e+00;
286 p[n_cp_I0] = 0.00000e+00;
287 p[n_cp_I1] = 0.00000e+00;
288 p[n_cp_I2] = 0.00000e+00;
289 p[n_cp_B2] = 0.00000e+00;
290 p[n_cp_PBA] = 0.00000e+00;
291 p[n_cp_Cat] = 0.00000e+00;
292 p[n_cp_A1] = 0.00000e+00;
293 }
294 void SetIniParamF(double* p)
295 {
296 p[n_kH_prim_OH_EO_Solvent] = 1.30000e+02;
297 p[n_kS_prim_OH_EO_Solvent] = 1.30000e+02;
298 p[n_kS_sec_OH_PO_Solvent] = 2.00000e+03;
299 p[n_kH_sec_OH_PO_Solvent] = 1.70000e+04;
300 p[n_kS_prim_OH_BDO_Solvent] = 2.70000e+02;
301 p[n_kH_prim_OH_BDO_Solvent] = 2.10000e+02;
302 p[n_kS_prim_OH_EO_Cat1] = 6.80000e+02;
303 p[n_kS_prim_OH_EO_Cat2] = 7.00000e+02;
304 p[n_kH_sec_OH_PO_Cat1] = 3.00000e+02;
305 p[n_kS_prim_OH_EO_Cat3] = 7.00000e+02;
306 p[n_kH_prim_OH_EO_Cat1] = 5.00000e+02;
307 p[n_kS_sec_OH_PO_Cat1] = 4.00000e+02;
308 p[n_kH_prim_OH_EO_Cat2] = 8.00000e+02;
309 p[n_kH_prim_OH_EO_Cat3] = 5.00000e+02;
310 p[n_kH_sec_OH_PO_Cat2] = 7.50000e+03;
311 p[n_kH_sec_OH_PO_Cat3] = 8.00000e+03;
312 p[n_kS_sec_OH_PO_Cat2] = 7.00000e+03;
313 p[n_kS_sec_OH_PO_Cat3] = 8.00000e+03;
314 p[n_kS_prim_OH_BDO_Cat1] = 5.00000e+02;
315 p[n_kS_prim_OH_BDO_Cat2] = 8.00000e+02;
316 p[n_kS_prim_OH_BDO_Cat3] = 9.00000e+02;
317 p[n_kH_prim_OH_BDO_Cat1] = 9.00000e+02;
318 p[n_kH_prim_OH_BDO_Cat2] = 9.00000e+02;
319 p[n_kH_prim_OH_BDO_Cat3] = 7.00000e+02;
320 p[n_kH_H2O_prim] = 1.00000e+01;
321 p[n_kS_H2O_prim] = 1.00000e+01;
322 p[n_kH_H2O_sec] = 1.00000e+01;
323 p[n_kS_H2O_sec] = 1.00000e+01;
324 p[n_kH_H2O_BDO] = 1.00000e+01;
325 p[n_kS_H2O_BDO] = 1.00000e+01;
326 p[n_kH_H2O_H2O] = 1.00000e+01;
327 p[n_kS_H2O_H2O] = 1.00000e+01;
328 p[n_kH_H2O_Cat1] = 1.00000e+06;
329 p[n_kH_H2O_Cat1s] = 1.00000e+06;
330 p[n_kH_H2O_Cat2] = 5.00000e+01;
331 p[n_kH_H2O_Cat2s] = 5.00000e+01;
332 p[n_kH_H2O_Cat3] = 5.00000e+01;
333 p[n_kH_H2O_Cat3s] = 5.00000e+01;
334 p[n_kS_H2O_Cat1] = 1.00000e+02;
335 p[n_kS_H2O_Cat1s] = 1.00000e+06;
336 p[n_kS_H2O_Cat2] = 5.00000e+01;
337 p[n_kS_H2O_Cat2s] = 5.00000e+01;
338 p[n_kS_H2O_Cat3] = 5.00000e+01;
339 p[n_kS_H2O_Cat3s] = 5.00000e+01;
340 p[n_f_cat] = 0.00000e+00;
341 p[n_CS] = 0.00000e+00;
342 p[n_CH] = 0.00000e+00;
343 p[n_k_A1] = 0.00000e+00;
344 p[n_k_A0] = 0.00000e+00;
345 p[n_k_I1] = 0.00000e+00;
346 p[n_k_I2] = 0.00000e+00;
347 p[n_f_oh_a0] = 0.00000e+00;
348 p[n_f_oh_a2] = 0.00000e+00;
349 p[n_deltah_a0] = 0.00000e+00;
350 p[n_deltah_a1] = 0.00000e+00;
351 p[n_deltah_a2] = 0.00000e+00;
352 p[n_deltah_b1] = 0.00000e+00;
353 p[n_deltah_b2] = 0.00000e+00;
354 p[n_f_oh_a1] = 0.00000e+00;
355 p[n_f_oh_b] = 0.00000e+00;
356 p[n_f_oh_b2] = 0.00000e+00;
357 p[n_convcrit] = 0.00000e+00;
358 p[n_t_mix] = 0.00000e+00;
359 p[n_kzero] = 0.00000e+00;
360 p[n_kone] = 0.00000e+00;
361 p[n_ktwo] = 0.00000e+00;
362 p[n_kthree] = 0.00000e+00;
363 p[n_f_coeff_cross] = 0.00000e+00;
364 p[n_f_coeff_end] = 0.00000e+00;
365 p[n_f_coeff_cat] = 0.00000e+00;
366 p[n_t_phase_transfer_A] = 0.00000e+00;
367 p[n_kslow] = 0.00000e+00;
368 p[n_kfast] = 0.00000e+00;
369 p[n_kdummy] = 0.00000e+00;
370 p[n_bubble_conc] = 0.00000e+00;
371 p[n_bubble_diam] = 0.00000e+00;
372 p[n_diffusion] = 0.00000e+00;
373 p[n_sherwood] = 0.00000e+00;
374 p[n_cp_A0] = 0.00000e+00;
375 p[n_cp_I0] = 0.00000e+00;
376 p[n_cp_I1] = 0.00000e+00;
377 p[n_cp_I2] = 0.00000e+00;
378 p[n_cp_B2] = 0.00000e+00;
379 p[n_cp_PBA] = 0.00000e+00;
380 p[n_cp_Cat] = 0.00000e+00;
381 p[n_cp_A1] = 0.00000e+00;
382 }
383 void SetIniParamType(double* p)
384 {
385 p[n_kH_prim_OH_EO_Solvent] = 1;
386 p[n_kS_prim_OH_EO_Solvent] = 1;
387 p[n_kS_sec_OH_PO_Solvent] = 1;
388 p[n_kH_sec_OH_PO_Solvent] = 1;
389 p[n_kS_prim_OH_BDO_Solvent] = 1;
390 p[n_kH_prim_OH_BDO_Solvent] = 1;
391 p[n_kS_prim_OH_EO_Cat1] = 1;
392 p[n_kS_prim_OH_EO_Cat2] = 1;
393 p[n_kH_sec_OH_PO_Cat1] = 1;
394 p[n_kS_prim_OH_EO_Cat3] = 1;
395 p[n_kH_prim_OH_EO_Cat1] = 1;
396 p[n_kS_sec_OH_PO_Cat1] = 1;
397 p[n_kH_prim_OH_EO_Cat2] = 1;
398 p[n_kH_prim_OH_EO_Cat3] = 1;
399 p[n_kH_sec_OH_PO_Cat2] = 1;
400 p[n_kH_sec_OH_PO_Cat3] = 1;
401 p[n_kS_sec_OH_PO_Cat2] = 1;
402 p[n_kS_sec_OH_PO_Cat3] = 1;
403 p[n_kS_prim_OH_BDO_Cat1] = 1;
404 p[n_kS_prim_OH_BDO_Cat2] = 1;
405 p[n_kS_prim_OH_BDO_Cat3] = 1;
406 p[n_kH_prim_OH_BDO_Cat1] = 1;
407 p[n_kH_prim_OH_BDO_Cat2] = 1;
408 p[n_kH_prim_OH_BDO_Cat3] = 1;
409 p[n_kH_H2O_prim] = 1;
410 p[n_kS_H2O_prim] = 1;
411 p[n_kH_H2O_sec] = 1;
412 p[n_kS_H2O_sec] = 1;
413 p[n_kH_H2O_BDO] = 1;
414 p[n_kS_H2O_BDO] = 1;
415 p[n_kH_H2O_H2O] = 1;
416 p[n_kS_H2O_H2O] = 1;
417 p[n_kH_H2O_Cat1] = 1;
418 p[n_kH_H2O_Cat1s] = 1;
419 p[n_kH_H2O_Cat2] = 1;
420 p[n_kH_H2O_Cat2s] = 1;
421 p[n_kH_H2O_Cat3] = 1;
422 p[n_kH_H2O_Cat3s] = 1;
423 p[n_kS_H2O_Cat1] = 1;
424 p[n_kS_H2O_Cat1s] = 1;
425 p[n_kS_H2O_Cat2] = 1;
426 p[n_kS_H2O_Cat2s] = 1;
427 p[n_kS_H2O_Cat3] = 1;
428 p[n_kS_H2O_Cat3s] = 1;
429 p[n_f_cat] = 0;
430 p[n_CS] = 0;
431 p[n_CH] = 0;
432 p[n_k_A1] = 0;
433 p[n_k_A0] = 0;
434 p[n_k_I1] = 0;
435 p[n_k_I2] = 0;
436 p[n_f_oh_a0] = 0;
437 p[n_f_oh_a2] = 0;
438 p[n_deltah_a0] = 0;
439 p[n_deltah_a1] = 0;
440 p[n_deltah_a2] = 0;
441 p[n_deltah_b1] = 0;
442 p[n_deltah_b2] = 0;
443 p[n_f_oh_a1] = 0;
444 p[n_f_oh_b] = 0;
445 p[n_f_oh_b2] = 0;
446 p[n_convcrit] = 0;
447 p[n_t_mix] = 0;
448 p[n_kzero] = 0;
449 p[n_kone] = 0;
450 p[n_ktwo] = 0;
451 p[n_kthree] = 0;
452 p[n_f_coeff_cross] = 0;
453 p[n_f_coeff_end] = 0;
454 p[n_f_coeff_cat] = 0;
455 p[n_t_phase_transfer_A] = 0;
456 p[n_kslow] = 0;
457 p[n_kfast] = 0;
458 p[n_kdummy] = 0;
459 p[n_bubble_conc] = 0;
460 p[n_bubble_diam] = 0;
461 p[n_diffusion] = 0;
462 p[n_sherwood] = 0;
463 p[n_cp_A0] = 0;
464 p[n_cp_I0] = 0;
465 p[n_cp_I1] = 0;
466 p[n_cp_I2] = 0;
467 p[n_cp_B2] = 0;
468 p[n_cp_PBA] = 0;
469 p[n_cp_Cat] = 0;
470 p[n_cp_A1] = 0;
471 }
472 void SetFixedIniParam(double* p, double* pC, double Temp, double RG)
473 {
474 int i;
475 for (i=0;
476  i< 86;
477  i++)
478 {
479 if (pC[i] == 0)
480 {
481 p[i] = pGlobalIso[i];
482 if (pGlobalType[i] == 1)p[i] = pGlobalF[i]*exp(-pGlobalE[i]/RG/(Temp + Kelvin));
483 }
484 }
485 }
486 void SetGlobalIniParam()
487 {
488 SetIniParam(pGlobalIso);
489 SetIniParamE(pGlobalE);
490 SetIniParamF(pGlobalF);
491 SetIniParamType(pGlobalType);
492 }
493 int GetReacIndex(int reactorIndex);
494 double getkp(double* pArray, int paramIndex);
495 double gettemp(double* xArray, int reacIndex);
496 double getco(double* xArray, int stateIndex);
497 int GetReacIndex(int reactorIndex)
498 {
499 double result1=0.0;
500 int no = n_R_1;
501 result1 = no;
502 return result1;
503 }
504 double getkp(double* pArray, int paramIndex)
505 {
506 double result1=0.0;
507 int no = paramIndex;
508 if(no > noConst) return 0.0;
509 result1 = pArray[no];
510 return result1;
511 }
512 double gettemp(double* xArray, int reacIndex)
513 {
514 double result1=0.0;
515 int no = GetReacIndex(reacIndex) + 2;
516 if(no >= DIM) return 0.0;
517 result1 = xArray[no];
518 return result1;
519 }
520 double getco(double* xArray, int stateIndex)
521 {
522 double result1=0.0;
523 int no = stateIndex;
524 if(no >= DIM) return 0.0;
525 if (xArray != 0)return xArray[no];
526 return result1;
527 }
528 void f_f_rate_coeff_a0(double* xArray, double* pArray, double arg1, double arg2, double* results);
529 double f_f_rate_coefficient(double* xArray, double* pArray, double arg1, double arg2);
530 void f_f_rate_coeff_a1(double* xArray, double* pArray, double arg1, double arg2, double* results);
531 void f_f_rate_coeff_b2(double* xArray, double* pArray, double arg1, double arg2, double* results);
532 void f_f_rate_coeff_b1(double* xArray, double* pArray, double arg1, double arg2, double* results);
533 void f_f_rate_coeff_a0(double* xArray, double* pArray, double arg1, double arg2, double* results)
534 {
535 double f_oh_a = 0;
536 double deltah = 0;
537 double f_rate_coeff = 0;
538 double time_mix = 0;
539 double time = 0;
540 double result3 = 0;
541 double result4 = 0;
542 f_oh_a = getkp(pArray, n_f_oh_a0) ;
543 deltah = getkp(pArray, n_deltah_a0) ;
544 f_rate_coeff = f_f_rate_coefficient(xArray, pArray,f_oh_a,0) ;
545 time_mix = getkp(pArray, n_t_phase_transfer_A) ;
546 time = tGlobal ;
547 if (time < time_mix)
548 {
549 f_rate_coeff = 0. ;
550 }
551 results[0] = f_rate_coeff ;
552 results[1] = 0 ;
553 result3 = deltah ;
554 result4 = 0 ;
555 }
556 double f_f_rate_coefficient(double* xArray, double* pArray, double arg1, double arg2)
557 {
558 double f_end_group = 0;
559 double f_oh_a0 = 0;
560 double f_oh_a1 = 0;
561 double f_cat = 0;
562 double fka_Cat_S1 = 0;
563 double fka_Cat_H1 = 0;
564 double fka_Cat_S2 = 0;
565 double fka_Cat_H2 = 0;
566 double fka_Cat_S3 = 0;
567 double fka_Cat_H3 = 0;
568 double fka_prim_S = 0;
569 double fka_sec_S = 0;
570 double fka_BDO_S = 0;
571 double fka_H2O_S = 0;
572 double fka_prim_H = 0;
573 double fka_sec_H = 0;
574 double fka_BDO_H = 0;
575 double fka_H2O_H = 0;
576 double cA0 = 0;
577 double cA1 = 0;
578 double cH2O = 0;
579 double cCat1 = 0;
580 double cprim = 0;
581 double csec = 0;
582 double cBDO = 0;
583 double fka_S = 0;
584 double fka_H = 0;
585 double CCA1 = 0;
586 double CCI1 = 0;
587 double CCI2 = 0;
588 double C0 = 0;
589 double CS = 0;
590 double CH = 0;
591 double factor = 0;
592 double coefficient = 0;
593 double result1 = 0;
594 f_end_group = arg1 ;
595 f_oh_a0 = getkp(pArray, n_f_oh_a0) ;
596 f_oh_a1 = getkp(pArray, n_f_oh_a1) ;
597 f_cat = getkp(pArray, n_f_cat) ;
598 if ( f_end_group == 0 )
599 {
600 fka_Cat_S1 = getkp(pArray, n_kS_prim_OH_BDO_Cat1) ;
601 fka_Cat_H1 = getkp(pArray, n_kH_prim_OH_BDO_Cat1) ;
602 fka_Cat_S2 = getkp(pArray, n_kS_prim_OH_BDO_Cat2) ;
603 fka_Cat_H2 = getkp(pArray, n_kH_prim_OH_BDO_Cat2) ;
604 fka_Cat_S3 = getkp(pArray, n_kS_prim_OH_BDO_Cat3) ;
605 fka_Cat_H3 = getkp(pArray, n_kH_prim_OH_BDO_Cat3) ;
606 fka_prim_S = getkp(pArray, n_kS_prim_OH_BDO_Solvent) ;
607 fka_sec_S = getkp(pArray, n_kS_prim_OH_BDO_Solvent) ;
608 fka_BDO_S = getkp(pArray, n_kS_prim_OH_BDO_Solvent) ;
609 fka_H2O_S = getkp(pArray, n_kS_prim_OH_BDO_Solvent) ;
610 fka_prim_H = getkp(pArray, n_kH_prim_OH_BDO_Solvent) ;
611 fka_sec_H = getkp(pArray, n_kH_prim_OH_BDO_Solvent) ;
612 fka_BDO_H = getkp(pArray, n_kH_prim_OH_BDO_Solvent) ;
613 fka_H2O_H = getkp(pArray, n_kH_prim_OH_BDO_Solvent) ;
614 }
615 if ( f_end_group == 1 )
616 {
617 fka_Cat_S1 = getkp(pArray, n_kS_prim_OH_EO_Cat1) ;
618 fka_Cat_H1 = getkp(pArray, n_kH_prim_OH_EO_Cat1) ;
619 fka_Cat_S2 = getkp(pArray, n_kS_prim_OH_EO_Cat2) ;
620 fka_Cat_H2 = getkp(pArray, n_kH_prim_OH_EO_Cat2) ;
621 fka_Cat_S3 = getkp(pArray, n_kS_prim_OH_EO_Cat3) ;
622 fka_Cat_H3 = getkp(pArray, n_kH_prim_OH_EO_Cat3) ;
623 fka_prim_S = getkp(pArray, n_kS_prim_OH_EO_Solvent) ;
624 fka_sec_S = getkp(pArray, n_kS_prim_OH_EO_Solvent) ;
625 fka_BDO_S = getkp(pArray, n_kS_prim_OH_EO_Solvent) ;
626 fka_H2O_S = getkp(pArray, n_kS_prim_OH_EO_Solvent) ;
627 fka_prim_H = getkp(pArray, n_kH_prim_OH_EO_Solvent) ;
628 fka_sec_H = getkp(pArray, n_kH_prim_OH_EO_Solvent) ;
629 fka_BDO_H = getkp(pArray, n_kH_prim_OH_EO_Solvent) ;
630 fka_H2O_H = getkp(pArray, n_kH_prim_OH_EO_Solvent) ;
631 }
632 if ( f_end_group == 2 )
633 {
634 fka_Cat_S1 = getkp(pArray, n_kS_sec_OH_PO_Cat1) ;
635 fka_Cat_H1 = getkp(pArray, n_kH_sec_OH_PO_Cat1) ;
636 fka_Cat_S2 = getkp(pArray, n_kS_sec_OH_PO_Cat2) ;
637 fka_Cat_H2 = getkp(pArray, n_kH_sec_OH_PO_Cat2) ;
638 fka_Cat_S3 = getkp(pArray, n_kS_sec_OH_PO_Cat3) ;
639 fka_Cat_H3 = getkp(pArray, n_kH_sec_OH_PO_Cat3) ;
640 fka_prim_S = getkp(pArray, n_kS_sec_OH_PO_Solvent) ;
641 fka_sec_S = getkp(pArray, n_kS_sec_OH_PO_Solvent) ;
642 fka_BDO_S = getkp(pArray, n_kS_sec_OH_PO_Solvent) ;
643 fka_H2O_S = getkp(pArray, n_kS_sec_OH_PO_Solvent) ;
644 fka_prim_H = getkp(pArray, n_kH_sec_OH_PO_Solvent) ;
645 fka_sec_H = getkp(pArray, n_kH_sec_OH_PO_Solvent) ;
646 fka_BDO_H = getkp(pArray, n_kH_sec_OH_PO_Solvent) ;
647 fka_H2O_H = getkp(pArray, n_kH_sec_OH_PO_Solvent) ;
648 }
649 if ( f_end_group == 3 )
650 {
651 fka_Cat_S1 = getkp(pArray, n_kS_H2O_Cat1) ;
652 fka_Cat_H1 = getkp(pArray, n_kH_H2O_Cat1) ;
653 fka_Cat_S2 = getkp(pArray, n_kS_H2O_Cat2) ;
654 fka_Cat_H2 = getkp(pArray, n_kH_H2O_Cat2) ;
655 fka_Cat_S3 = getkp(pArray, n_kS_H2O_Cat3) ;
656 fka_Cat_H3 = getkp(pArray, n_kH_H2O_Cat3) ;
657 fka_prim_S = getkp(pArray, n_kS_H2O_prim) ;
658 fka_sec_S = getkp(pArray, n_kS_H2O_sec) ;
659 fka_BDO_S = getkp(pArray, n_kS_H2O_BDO) ;
660 fka_H2O_S = getkp(pArray, n_kS_H2O_H2O) ;
661 fka_prim_H = getkp(pArray, n_kH_H2O_prim) ;
662 fka_sec_H = getkp(pArray, n_kH_H2O_sec) ;
663 fka_BDO_H = getkp(pArray, n_kH_H2O_BDO) ;
664 fka_H2O_H = getkp(pArray, n_kH_H2O_H2O) ;
665 }
666 if ( f_end_group == 4 )
667 {
668 fka_Cat_S1 = getkp(pArray, n_kS_H2O_Cat1s) ;
669 fka_Cat_H1 = getkp(pArray, n_kH_H2O_Cat1s) ;
670 fka_Cat_S2 = getkp(pArray, n_kS_H2O_Cat2s) ;
671 fka_Cat_H2 = getkp(pArray, n_kH_H2O_Cat2s) ;
672 fka_Cat_S3 = getkp(pArray, n_kS_H2O_Cat3s) ;
673 fka_Cat_H3 = getkp(pArray, n_kH_H2O_Cat3s) ;
674 }
675 cA0 = getco(xArray, n_CE_A0) ;
676 cA1 = getco(xArray, n_CE_A1) ;
677 cH2O = getco(xArray, n_CE_B2) ;
678 cCat1 = getco(xArray, n_Catalyst_1) ;
679 cprim = 0 ;
680 csec = 0 ;
681 cBDO = 0 ;
682 if ( f_oh_a0 == 0 )
683 {
684 cBDO = cBDO + cA0 ;
685 }
686 else
687 {
688 if (f_oh_a0 == 1 )
689 {
690 cprim = cprim + cA0 ;
691 }
692 else
693 {
694 csec = csec + cA0 ;
695 }
696 }
697 if ( f_oh_a1 == 1 )
698 {
699 cBDO = cBDO + cA1 ;
700 }
701 else
702 {
703 if (f_oh_a1 == 1 )
704 {
705 cprim = cprim + cA1 ;
706 }
707 else
708 {
709 csec = csec + cA1 ;
710 }
711 }
712 fka_S = cprim * fka_prim_S + csec * fka_sec_S + cBDO * fka_BDO_S + cH2O * fka_H2O_S + cCat1 * fka_Cat_S1 ;
713 fka_H = cCat1 * fka_Cat_H1 + fka_sec_H ;
714 CCA1 = (getco(xArray, n_CE_Areac1) + getco(xArray, n_CE_A1)) * (getkp(pArray, n_k_A1) - 2)/getkp(pArray, n_k_A1) ;
715 CCI1 = (getco(xArray, n_CE_Ireac1) + getco(xArray, n_CE_I1)) * (getkp(pArray, n_k_I1) - 2)/getkp(pArray, n_k_I1) ;
716 CCI2 = (getco(xArray, n_CE_Ireac2) + getco(xArray, n_CE_I2)) * (getkp(pArray, n_k_I2) - 2)/getkp(pArray, n_k_I2) ;
717 C0 = CCA1 + CCI1 + CCI2 ;
718 CS = getkp(pArray, n_CS) ;
719 CH = getkp(pArray, n_CH) ;
720 factor = (min(CH,max(C0,CS)) - CS)/(CH - CS) ;
721 coefficient = fka_H ;
722 result1 = coefficient ;
723 return result1;
724 }
725 void f_f_rate_coeff_a1(double* xArray, double* pArray, double arg1, double arg2, double* results)
726 {
727 double f_oh_a = 0;
728 double deltah = 0;
729 double f_rate_coeff = 0;
730 double time_mix = 0;
731 double time = 0;
732 double result3 = 0;
733 double result4 = 0;
734 f_oh_a = getkp(pArray, n_f_oh_a1) ;
735 deltah = getkp(pArray, n_deltah_a1) ;
736 f_rate_coeff = f_f_rate_coefficient(xArray, pArray,f_oh_a,0) ;
737 time_mix = getkp(pArray, n_t_phase_transfer_A) ;
738 time = tGlobal ;
739 if (time < time_mix)
740 {
741 f_rate_coeff = 0. ;
742 }
743 results[0] = f_rate_coeff ;
744 results[1] = 0 ;
745 result3 = deltah ;
746 result4 = 0 ;
747 }
748 void f_f_rate_coeff_b2(double* xArray, double* pArray, double arg1, double arg2, double* results)
749 {
750 double f_oh_b2 = 0;
751 double deltah = 0;
752 double f_rate_coeff = 0;
753 double result3 = 0;
754 double result4 = 0;
755 f_oh_b2 = getkp(pArray, n_f_oh_b2) ;
756 deltah = getkp(pArray, n_deltah_b2) ;
757 f_rate_coeff = f_f_rate_coefficient(xArray, pArray,f_oh_b2,0) ;
758 results[0] = f_rate_coeff ;
759 results[1] = 0 ;
760 result3 = deltah ;
761 result4 = 0 ;
762 }
763 void f_f_rate_coeff_b1(double* xArray, double* pArray, double arg1, double arg2, double* results)
764 {
765 double f_oh_b = 0;
766 double deltah = 0;
767 double f_rate_coeff = 0;
768 double time_mix = 0;
769 double time = 0;
770 double result3 = 0;
771 double result4 = 0;
772 f_oh_b = getkp(pArray, n_f_oh_b) ;
773 deltah = getkp(pArray, n_deltah_b1) ;
774 f_rate_coeff = f_f_rate_coefficient(xArray, pArray,f_oh_b,0) ;
775 time_mix = getkp(pArray, n_t_mix) ;
776 time = tGlobal ;
777 if (time < time_mix)
778 {
779 f_rate_coeff = 0.01 * f_rate_coeff ;
780 }
781 results[0] = f_rate_coeff ;
782 results[1] = 0 ;
783 result3 = deltah ;
784 result4 = 0 ;
785 }
786 void F(double* x, double t, double* fx)
787 {
788  t=10;
789 tGlobal = t;
790 double* p = pGlobal;
791 double k1 = 0;
792 double k2 = 0;
793 double x_Catalyst_1 = x[n_Catalyst_1];
794 double x_CE_A0 = x[n_CE_A0];
795 double x_CE_A1 = x[n_CE_A1];
796 double x_CE_B = x[n_CE_B];
797 double x_CE_B2 = x[n_CE_B2];
798 double x_CE_I0 = x[n_CE_I0];
799 double x_CE_I1 = x[n_CE_I1];
800 double x_CE_I2 = x[n_CE_I2];
801 double x_CE_PBA = x[n_CE_PBA];
802 double x_CE_Breac = x[n_CE_Breac];
803 double x_CE_Areac0 = x[n_CE_Areac0];
804 double x_CE_Areac1 = x[n_CE_Areac1];
805 double x_CE_Ireac0 = x[n_CE_Ireac0];
806 double x_CE_Ireac1 = x[n_CE_Ireac1];
807 double x_CE_Ireac2 = x[n_CE_Ireac2];
808 double x_Bulk = x[n_Bulk];
809 double RGas = 1;
810 double T = gettemp(x, 1);
811 SetFixedIniParam(p, pControl, T, RGas);
812 double kzero = getkp(p, n_kzero);
813 double kone = getkp(p, n_kone);
814 double kdummy = getkp(p, n_kdummy);
815 int ii;
816 for (ii = 0;
817  ii<20;
818  ii++) fx[ii] = 0;
819 k1 = kone;
820 k2 = kone;
821 f_f_rate_coeff_a0(x, p,k1, k2, results);
822  k1 = results[0];
823  k2 = results[1];
824 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
825 fx[n_CE_I0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
826 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
827 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
828 k1 = kone;
829 k2 = kone;
830 f_f_rate_coeff_a1(x, p,k1, k2, results);
831  k1 = results[0];
832  k2 = results[1];
833 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
834 fx[n_CE_I0] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
835 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
836 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
837 k1 = kone;
838 k2 = kone;
839 f_f_rate_coeff_a0(x, p,k1, k2, results);
840  k1 = results[0];
841  k2 = results[1];
842 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
843 fx[n_CE_I1] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
844 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
845 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
846 k1 = kone;
847 k2 = kone;
848 f_f_rate_coeff_a1(x, p,k1, k2, results);
849  k1 = results[0];
850  k2 = results[1];
851 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
852 fx[n_CE_I1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
853 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
854 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
855 k1 = kone;
856 k2 = kone;
857 f_f_rate_coeff_a0(x, p,k1, k2, results);
858  k1 = results[0];
859  k2 = results[1];
860 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
861 fx[n_CE_I2] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
862 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
863 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
864 k1 = kone;
865 k2 = kone;
866 f_f_rate_coeff_a1(x, p,k1, k2, results);
867  k1 = results[0];
868  k2 = results[1];
869 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
870 fx[n_CE_I2] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
871 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
872 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
873 k1 = kone;
874 k2 = kone;
875 f_f_rate_coeff_b2(x, p,k1, k2, results);
876  k1 = results[0];
877  k2 = results[1];
878 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
879 fx[n_CE_I0] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
880 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
881 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
882 k1 = kone;
883 k2 = kone;
884 f_f_rate_coeff_b2(x, p,k1, k2, results);
885  k1 = results[0];
886  k2 = results[1];
887 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
888 fx[n_CE_I2] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
889 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
890 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
891 k1 = kone;
892 k2 = kone;
893 f_f_rate_coeff_b2(x, p,k1, k2, results);
894  k1 = results[0];
895  k2 = results[1];
896 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
897 fx[n_CE_I1] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
898 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
899 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
900 k1 = kone;
901 k2 = kone;
902 f_f_rate_coeff_b1(x, p,k1, k2, results);
903  k1 = results[0];
904  k2 = results[1];
905 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
906 fx[n_CE_I0] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
907 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
908 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
909 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
910 k1 = kone;
911 k2 = kone;
912 f_f_rate_coeff_b1(x, p,k1, k2, results);
913  k1 = results[0];
914  k2 = results[1];
915 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
916 fx[n_CE_I1] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
917 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
918 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
919 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
920 k1 = kone;
921 k2 = kone;
922 f_f_rate_coeff_b1(x, p,k1, k2, results);
923  k1 = results[0];
924  k2 = results[1];
925 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
926 fx[n_CE_I2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
927 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
928 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
929 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
930 
931 if (t>1) {
932 // for (ii=0;ii<20;ii++) printf("%g\n",fx[ii]);
933 }
934 return;
935 }
936 void A(double* x, double t, double* fx)
937 {
938 tGlobal = t;
939 double* p = pGlobal;
940 double k1 = 0;
941 double k2 = 0;
942 double x_Catalyst_1 = x[n_Catalyst_1];
943 double x_CE_A0 = x[n_CE_A0];
944 double x_CE_A1 = x[n_CE_A1];
945 double x_CE_B = x[n_CE_B];
946 double x_CE_B2 = x[n_CE_B2];
947 double x_CE_I0 = x[n_CE_I0];
948 double x_CE_I1 = x[n_CE_I1];
949 double x_CE_I2 = x[n_CE_I2];
950 double x_CE_PBA = x[n_CE_PBA];
951 double x_CE_Breac = x[n_CE_Breac];
952 double x_CE_Areac0 = x[n_CE_Areac0];
953 double x_CE_Areac1 = x[n_CE_Areac1];
954 double x_CE_Ireac0 = x[n_CE_Ireac0];
955 double x_CE_Ireac1 = x[n_CE_Ireac1];
956 double x_CE_Ireac2 = x[n_CE_Ireac2];
957 double x_Bulk = x[n_Bulk];
958 double RGas = 1;
959 double T = gettemp(x, 1);
960 SetFixedIniParam(p, pControl, T, RGas);
961 double kzero = getkp(p, n_kzero);
962 double kone = getkp(p, n_kone);
963 double kdummy = getkp(p, n_kdummy);
964 int ii;
965 for (ii = 0;ii<20;ii++) fx[ii] = 0;
966  // for (ii = 0;ii<noConst;ii++) printf("%g\n",p[ii]);
967  // for (ii = 0;ii<20;ii++) printf("%g\n",x[ii]);
968 k1 = kone;
969 k2 = kone;
970 f_f_rate_coeff_a0(x, p,k1, k2, results);
971  k1 = results[0];
972  k2 = results[1];
973  // printf("a0 k1,k2,kone, %g %g %g \n",k1,k2,kone);
974 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
975 fx[n_CE_I0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
976 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
977 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac0, kone);
978 k1 = kone;
979 k2 = kone;
980 f_f_rate_coeff_a1(x, p,k1, k2, results);
981  k1 = results[0];
982  k2 = results[1];
983  // printf("a1 k1,k2,kone, %g %g %g \n",k1,k2,kone);
984 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
985 fx[n_CE_I0] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
986 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
987 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac0, kone);
988 k1 = kone;
989 k2 = kone;
990 f_f_rate_coeff_a0(x, p,k1, k2, results);
991  k1 = results[0];
992  k2 = results[1];
993  // printf("a0 k1,k2,kone, %g %g %g \n",k1,k2,kone);
994 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
995 fx[n_CE_I1] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
996 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
997 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac1, kone);
998 k1 = kone;
999 k2 = kone;
1000 f_f_rate_coeff_a1(x, p,k1, k2, results);
1001  k1 = results[0];
1002  k2 = results[1];
1003 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
1004 fx[n_CE_I1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
1005 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
1006 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac1, kone);
1007 k1 = kone;
1008 k2 = kone;
1009 f_f_rate_coeff_a0(x, p,k1, k2, results);
1010  k1 = results[0];
1011  k2 = results[1];
1012 fx[n_CE_A0] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
1013 fx[n_CE_I2] += -k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
1014 fx[n_CE_Areac0] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
1015 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_A0, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac0, kone) * pow( x_CE_Ireac2, kone);
1016 k1 = kone;
1017 k2 = kone;
1018 f_f_rate_coeff_a1(x, p,k1, k2, results);
1019  k1 = results[0];
1020  k2 = results[1];
1021 fx[n_CE_A1] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
1022 fx[n_CE_I2] += -k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
1023 fx[n_CE_Areac1] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
1024 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_A1, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Areac1, kone) * pow( x_CE_Ireac2, kone);
1025 k1 = kone;
1026 k2 = kone;
1027 f_f_rate_coeff_b2(x, p,k1, k2, results);
1028  k1 = results[0];
1029  k2 = results[1];
1030  // printf("b2 k1,k2,kone, %g %g %g \n",k1,k2,kone);
1031 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
1032 fx[n_CE_I0] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
1033 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
1034 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac0, kone);
1035 k1 = kone;
1036 k2 = kone;
1037 f_f_rate_coeff_b2(x, p,k1, k2, results);
1038  k1 = results[0];
1039  k2 = results[1];
1040 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1041 fx[n_CE_I2] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1042 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1043 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1044 k1 = kone;
1045 k2 = kone;
1046 f_f_rate_coeff_b2(x, p,k1, k2, results);
1047  k1 = results[0];
1048  k2 = results[1];
1049 fx[n_CE_B] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1050 fx[n_CE_I1] += -k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1051 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1052 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_B, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1053 k1 = kone;
1054 k2 = kone;
1055 f_f_rate_coeff_b1(x, p,k1, k2, results);
1056  k1 = results[0];
1057  k2 = results[1];
1058  // printf("b1 k1,k2,kone, %g %g %g \n",k1,k2,kone);
1059 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
1060 fx[n_CE_I0] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
1061 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
1062 fx[n_CE_Ireac0] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
1063 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I0, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Ireac0, kone) * pow( x_CE_Breac, kone);
1064 k1 = kone;
1065 k2 = kone;
1066 f_f_rate_coeff_b1(x, p,k1, k2, results);
1067  k1 = results[0];
1068  k2 = results[1];
1069 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1070 fx[n_CE_I1] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1071 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1072 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1073 fx[n_CE_Ireac1] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I1, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac1, kone);
1074 k1 = kone;
1075 k2 = kone;
1076 f_f_rate_coeff_b1(x, p,k1, k2, results);
1077  k1 = results[0];
1078  k2 = results[1];
1079 fx[n_CE_B2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1080 fx[n_CE_I2] += -k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) +k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1081 fx[n_CE_B] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1082 fx[n_CE_Breac] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1083 fx[n_CE_Ireac2] += +k1 * kone * pow( x_CE_B2, kone) * pow( x_CE_I2, kone) -k2 * kone * pow( x_CE_B, kone) * pow( x_CE_Breac, kone) * pow( x_CE_Ireac2, kone);
1084 return;
1085 }
real(dp) k1
imaginary part of refractive indice of gas
Definition: constants.f90:42
real(dp) time
time (s)
Definition: globals.f90:49
real(dp) k2
imaginary part of refractive indice of polymer
Definition: constants.f90:42