Line data Source code
1 : module mo_indprd
2 : use shr_kind_mod, only : r8 => shr_kind_r8
3 : private
4 : public :: indprd
5 : contains
6 145920 : subroutine indprd( class, prod, nprod, y, extfrc, rxt, chnkpnts )
7 : use chem_mods, only : gas_pcnst, extcnt, rxntot
8 : implicit none
9 : !--------------------------------------------------------------------
10 : ! ... dummy arguments
11 : !--------------------------------------------------------------------
12 : integer, intent(in) :: class
13 : integer, intent(in) :: chnkpnts
14 : integer, intent(in) :: nprod
15 : real(r8), intent(in) :: y(chnkpnts,gas_pcnst)
16 : real(r8), intent(in) :: rxt(chnkpnts,rxntot)
17 : real(r8), intent(in) :: extfrc(chnkpnts,extcnt)
18 : real(r8), intent(inout) :: prod(chnkpnts,nprod)
19 : !--------------------------------------------------------------------
20 : ! ... "independent" production for Explicit species
21 : !--------------------------------------------------------------------
22 145920 : if( class == 1 ) then
23 58980864 : prod(:,1) =rxt(:,810)*y(:,295)*y(:,143) +rxt(:,829)*y(:,144)
24 0 : prod(:,2) = (rxt(:,557)*y(:,254) +rxt(:,560)*y(:,285) +rxt(:,563)*y(:,287) + &
25 58907904 : rxt(:,567)*y(:,165))*y(:,148)
26 : !--------------------------------------------------------------------
27 : ! ... "independent" production for Implicit species
28 : !--------------------------------------------------------------------
29 72960 : else if( class == 4 ) then
30 58907904 : prod(:,168) = 0._r8
31 58907904 : prod(:,165) = 0._r8
32 58980864 : prod(:,1) = 0._r8
33 58907904 : prod(:,219) = 0._r8
34 58907904 : prod(:,2) = 0._r8
35 58980864 : prod(:,3) = + extfrc(:,3)
36 58907904 : prod(:,199) = 0._r8
37 58907904 : prod(:,76) = 0._r8
38 58907904 : prod(:,124) = 0._r8
39 58907904 : prod(:,77) = 0._r8
40 58907904 : prod(:,132) = 0._r8
41 58907904 : prod(:,103) = 0._r8
42 58907904 : prod(:,121) = 0._r8
43 58907904 : prod(:,110) = 0._r8
44 58907904 : prod(:,81) = 0._r8
45 58907904 : prod(:,118) = 0._r8
46 58907904 : prod(:,202) = 0._r8
47 58907904 : prod(:,276) = 0._r8
48 58907904 : prod(:,88) = 0._r8
49 58907904 : prod(:,309) = 0._r8
50 58907904 : prod(:,146) = 0._r8
51 58907904 : prod(:,4) = 0._r8
52 58907904 : prod(:,89) = 0._r8
53 58907904 : prod(:,113) = 0._r8
54 58907904 : prod(:,105) = 0._r8
55 58907904 : prod(:,149) = 0._r8
56 58907904 : prod(:,99) = 0._r8
57 58907904 : prod(:,114) = 0._r8
58 58907904 : prod(:,106) = 0._r8
59 58907904 : prod(:,228) = 0._r8
60 58907904 : prod(:,123) = 0._r8
61 58907904 : prod(:,63) = 0._r8
62 58907904 : prod(:,100) = 0._r8
63 58907904 : prod(:,60) = 0._r8
64 58907904 : prod(:,71) = 0._r8
65 58907904 : prod(:,72) = 0._r8
66 58907904 : prod(:,64) = 0._r8
67 58907904 : prod(:,73) = 0._r8
68 58907904 : prod(:,65) = 0._r8
69 58907904 : prod(:,74) = 0._r8
70 58907904 : prod(:,66) = 0._r8
71 58907904 : prod(:,137) = 0._r8
72 58907904 : prod(:,306) = 0._r8
73 58907904 : prod(:,156) = 0._r8
74 58907904 : prod(:,67) = 0._r8
75 58907904 : prod(:,230) = 0._r8
76 58907904 : prod(:,120) = 0._r8
77 58907904 : prod(:,61) = 0._r8
78 58907904 : prod(:,280) = 0._r8
79 58907904 : prod(:,266) = 0._r8
80 58907904 : prod(:,173) = 0._r8
81 58907904 : prod(:,163) = 0._r8
82 58907904 : prod(:,238) = 0._r8
83 58907904 : prod(:,129) = 0._r8
84 58907904 : prod(:,279) = 0._r8
85 58907904 : prod(:,131) = 0._r8
86 58907904 : prod(:,315) = 0._r8
87 58907904 : prod(:,75) = 0._r8
88 58907904 : prod(:,58) = 0._r8
89 58907904 : prod(:,310) = 0._r8
90 58907904 : prod(:,223) = 0._r8
91 58907904 : prod(:,5) = 0._r8
92 58907904 : prod(:,271) = + extfrc(:,10)
93 58907904 : prod(:,247) = 0._r8
94 58907904 : prod(:,90) = 0._r8
95 58907904 : prod(:,92) = 0._r8
96 58907904 : prod(:,84) = 0._r8
97 58907904 : prod(:,155) = 0._r8
98 58907904 : prod(:,104) = 0._r8
99 58907904 : prod(:,6) = 0._r8
100 58907904 : prod(:,7) = 0._r8
101 58907904 : prod(:,8) = 0._r8
102 58907904 : prod(:,9) = 0._r8
103 58907904 : prod(:,68) = 0._r8
104 58907904 : prod(:,217) = 0._r8
105 58907904 : prod(:,254) = 0._r8
106 58907904 : prod(:,235) = 0._r8
107 58907904 : prod(:,301) = 0._r8
108 58907904 : prod(:,251) = 0._r8
109 58907904 : prod(:,62) = 0._r8
110 58907904 : prod(:,237) = 0._r8
111 58907904 : prod(:,69) = 0._r8
112 58907904 : prod(:,208) = 0._r8
113 58907904 : prod(:,91) = 0._r8
114 58907904 : prod(:,93) = 0._r8
115 58907904 : prod(:,108) = 0._r8
116 58907904 : prod(:,304) = 0._r8
117 58907904 : prod(:,79) = 0._r8
118 58907904 : prod(:,182) = 0._r8
119 58907904 : prod(:,227) = 0._r8
120 58907904 : prod(:,107) = 0._r8
121 58907904 : prod(:,213) = 0._r8
122 58907904 : prod(:,302) = 0._r8
123 58907904 : prod(:,128) = 0._r8
124 58907904 : prod(:,195) = 0._r8
125 58907904 : prod(:,209) = 0._r8
126 58907904 : prod(:,193) = 0._r8
127 58907904 : prod(:,153) = 0._r8
128 58907904 : prod(:,154) = 0._r8
129 58907904 : prod(:,136) = 0._r8
130 58907904 : prod(:,140) = 0._r8
131 58907904 : prod(:,258) = 0._r8
132 58907904 : prod(:,263) = 0._r8
133 58907904 : prod(:,187) = 0._r8
134 58907904 : prod(:,185) = 0._r8
135 58907904 : prod(:,241) = 0._r8
136 58907904 : prod(:,138) = 0._r8
137 58907904 : prod(:,218) = 0._r8
138 58907904 : prod(:,229) = 0._r8
139 58907904 : prod(:,250) = 0._r8
140 58907904 : prod(:,204) = 0._r8
141 58907904 : prod(:,260) = 0._r8
142 58907904 : prod(:,234) = 0._r8
143 58907904 : prod(:,170) = 0._r8
144 58907904 : prod(:,272) = 0._r8
145 58907904 : prod(:,159) = 0._r8
146 58907904 : prod(:,150) = 0._r8
147 58907904 : prod(:,273) = 0._r8
148 58907904 : prod(:,166) = 0._r8
149 58907904 : prod(:,212) = 0._r8
150 58907904 : prod(:,245) = 0._r8
151 58907904 : prod(:,186) = 0._r8
152 58907904 : prod(:,264) = 0._r8
153 58907904 : prod(:,53) = 0._r8
154 58907904 : prod(:,201) = 0._r8
155 58907904 : prod(:,269) = 0._r8
156 58907904 : prod(:,259) = 0._r8
157 58907904 : prod(:,233) = 0._r8
158 58907904 : prod(:,145) = 0._r8
159 58907904 : prod(:,109) = 0._r8
160 58907904 : prod(:,141) = 0._r8
161 58907904 : prod(:,270) = 0._r8
162 58907904 : prod(:,265) = 0._r8
163 58907904 : prod(:,239) = 0._r8
164 58907904 : prod(:,177) = 0._r8
165 58907904 : prod(:,134) = + extfrc(:,15)
166 58907904 : prod(:,80) = 0._r8
167 58907904 : prod(:,102) = 0._r8
168 58907904 : prod(:,274) = 0._r8
169 58980864 : prod(:,10) = 0._r8
170 58907904 : prod(:,11) = 0._r8
171 58907904 : prod(:,12) = 0._r8
172 58907904 : prod(:,59) = 0._r8
173 58907904 : prod(:,13) = 0._r8
174 58907904 : prod(:,14) = 0._r8
175 58980864 : prod(:,15) = 0._r8
176 58907904 : prod(:,303) = + extfrc(:,14)
177 58907904 : prod(:,312) = + extfrc(:,6)
178 58907904 : prod(:,311) = 0._r8
179 58907904 : prod(:,232) = 0._r8
180 58907904 : prod(:,236) = 0._r8
181 58907904 : prod(:,16) = + extfrc(:,11)
182 58907904 : prod(:,17) = + extfrc(:,12)
183 58907904 : prod(:,18) = 0._r8
184 58907904 : prod(:,19) = + extfrc(:,1)
185 58907904 : prod(:,20) = + extfrc(:,13)
186 58907904 : prod(:,305) = (rxt(:,5) +2.000_r8*rxt(:,6))
187 58907904 : prod(:,313) = 0._r8
188 58907904 : prod(:,21) = 0._r8
189 58907904 : prod(:,111) = 0._r8
190 58907904 : prod(:,119) = 0._r8
191 58907904 : prod(:,82) = 0._r8
192 58907904 : prod(:,147) = 0._r8
193 58907904 : prod(:,70) = 0._r8
194 58907904 : prod(:,135) = 0._r8
195 58907904 : prod(:,78) = 0._r8
196 58907904 : prod(:,112) = 0._r8
197 58907904 : prod(:,22) = 0._r8
198 58907904 : prod(:,23) = + extfrc(:,2)
199 58907904 : prod(:,148) = 0._r8
200 58907904 : prod(:,122) = 0._r8
201 58907904 : prod(:,143) = 0._r8
202 58907904 : prod(:,24) = 0._r8
203 58907904 : prod(:,246) = 0._r8
204 58907904 : prod(:,216) = + extfrc(:,5)
205 58907904 : prod(:,98) = 0._r8
206 58907904 : prod(:,25) = + extfrc(:,7)
207 58907904 : prod(:,26) = + extfrc(:,8)
208 58907904 : prod(:,27) = 0._r8
209 58907904 : prod(:,28) = + extfrc(:,9)
210 58907904 : prod(:,29) = 0._r8
211 58907904 : prod(:,30) = 0._r8
212 58907904 : prod(:,31) = 0._r8
213 58907904 : prod(:,32) = 0._r8
214 58907904 : prod(:,33) = 0._r8
215 58907904 : prod(:,34) = 0._r8
216 58907904 : prod(:,35) = 0._r8
217 58907904 : prod(:,36) = 0._r8
218 58907904 : prod(:,37) = 0._r8
219 58907904 : prod(:,38) = 0._r8
220 58907904 : prod(:,39) = 0._r8
221 58907904 : prod(:,40) = 0._r8
222 58907904 : prod(:,41) = 0._r8
223 58907904 : prod(:,42) = 0._r8
224 58907904 : prod(:,43) = 0._r8
225 58907904 : prod(:,44) = 0._r8
226 58907904 : prod(:,45) = 0._r8
227 58907904 : prod(:,46) = + extfrc(:,4)
228 58907904 : prod(:,85) = 0._r8
229 58907904 : prod(:,282) = 0._r8
230 58907904 : prod(:,133) = 0._r8
231 58907904 : prod(:,284) = 0._r8
232 58907904 : prod(:,220) = 0._r8
233 58907904 : prod(:,157) = 0._r8
234 58907904 : prod(:,255) = 0._r8
235 58907904 : prod(:,158) = 0._r8
236 58907904 : prod(:,171) = 0._r8
237 58907904 : prod(:,115) = 0._r8
238 58907904 : prod(:,116) = 0._r8
239 58907904 : prod(:,125) = 0._r8
240 58907904 : prod(:,117) = 0._r8
241 58907904 : prod(:,293) = 0._r8
242 58907904 : prod(:,292) = 0._r8
243 58907904 : prod(:,215) = 0._r8
244 58907904 : prod(:,192) = 0._r8
245 58907904 : prod(:,203) = 0._r8
246 58907904 : prod(:,194) = 0._r8
247 58907904 : prod(:,160) = 0._r8
248 58907904 : prod(:,207) = 0._r8
249 58907904 : prod(:,172) = 0._r8
250 58907904 : prod(:,244) = 0._r8
251 58907904 : prod(:,252) = 0._r8
252 58907904 : prod(:,242) = 0._r8
253 58907904 : prod(:,253) = 0._r8
254 58907904 : prod(:,161) = 0._r8
255 58907904 : prod(:,151) = 0._r8
256 58907904 : prod(:,167) = 0._r8
257 58907904 : prod(:,83) = 0._r8
258 58907904 : prod(:,86) = 0._r8
259 58907904 : prod(:,178) = 0._r8
260 58907904 : prod(:,87) = 0._r8
261 58907904 : prod(:,126) = 0._r8
262 58907904 : prod(:,144) = 0._r8
263 58907904 : prod(:,211) = 0._r8
264 58907904 : prod(:,281) = 0._r8
265 58907904 : prod(:,287) = 0._r8
266 58907904 : prod(:,47) = 0._r8
267 58907904 : prod(:,277) = 0._r8
268 58907904 : prod(:,286) = 0._r8
269 58907904 : prod(:,48) = 0._r8
270 58907904 : prod(:,139) = 0._r8
271 58907904 : prod(:,49) = 0._r8
272 58907904 : prod(:,290) = 0._r8
273 58907904 : prod(:,285) = 0._r8
274 58907904 : prod(:,50) = 0._r8
275 58907904 : prod(:,127) = 0._r8
276 58907904 : prod(:,225) = 0._r8
277 58907904 : prod(:,198) = 0._r8
278 58907904 : prod(:,164) = 0._r8
279 58907904 : prod(:,300) = 0._r8
280 58907904 : prod(:,308) = 0._r8
281 58907904 : prod(:,184) = 0._r8
282 58907904 : prod(:,152) = 0._r8
283 58907904 : prod(:,101) = 0._r8
284 58907904 : prod(:,179) = 0._r8
285 58907904 : prod(:,307) = 0._r8
286 58907904 : prod(:,162) = 0._r8
287 58907904 : prod(:,221) = 0._r8
288 58907904 : prod(:,267) = 0._r8
289 58907904 : prod(:,268) = 0._r8
290 58907904 : prod(:,94) = 0._r8
291 58907904 : prod(:,95) = 0._r8
292 58907904 : prod(:,96) = 0._r8
293 58907904 : prod(:,97) = 0._r8
294 58907904 : prod(:,256) = 0._r8
295 58907904 : prod(:,257) = 0._r8
296 58907904 : prod(:,205) = 0._r8
297 58907904 : prod(:,210) = 0._r8
298 58907904 : prod(:,200) = 0._r8
299 58907904 : prod(:,206) = 0._r8
300 58907904 : prod(:,231) = 0._r8
301 58907904 : prod(:,275) = 0._r8
302 58907904 : prod(:,222) = 0._r8
303 58907904 : prod(:,226) = 0._r8
304 58907904 : prod(:,51) = 0._r8
305 58907904 : prod(:,262) = 0._r8
306 58907904 : prod(:,261) = 0._r8
307 58907904 : prod(:,52) = 0._r8
308 58907904 : prod(:,289) = 0._r8
309 58907904 : prod(:,283) = 0._r8
310 58907904 : prod(:,54) = 0._r8
311 58907904 : prod(:,243) = 0._r8
312 58907904 : prod(:,180) = 0._r8
313 58907904 : prod(:,248) = 0._r8
314 58907904 : prod(:,188) = 0._r8
315 58907904 : prod(:,169) = 0._r8
316 58907904 : prod(:,240) = 0._r8
317 58907904 : prod(:,291) = 0._r8
318 58907904 : prod(:,288) = 0._r8
319 58907904 : prod(:,55) = 0._r8
320 58907904 : prod(:,249) = 0._r8
321 58907904 : prod(:,314) =rxt(:,5)
322 58907904 : prod(:,316) = + extfrc(:,16)
323 58907904 : prod(:,130) = 0._r8
324 58907904 : prod(:,189) = 0._r8
325 58907904 : prod(:,224) = 0._r8
326 58907904 : prod(:,190) = 0._r8
327 58907904 : prod(:,196) = 0._r8
328 58907904 : prod(:,294) = 0._r8
329 58907904 : prod(:,297) = 0._r8
330 58907904 : prod(:,296) = 0._r8
331 58907904 : prod(:,298) = 0._r8
332 58907904 : prod(:,278) = 0._r8
333 58907904 : prod(:,295) = 0._r8
334 58907904 : prod(:,299) = 0._r8
335 58907904 : prod(:,174) = 0._r8
336 58907904 : prod(:,191) = 0._r8
337 58907904 : prod(:,214) = 0._r8
338 58907904 : prod(:,197) = 0._r8
339 58907904 : prod(:,175) = 0._r8
340 58907904 : prod(:,176) = 0._r8
341 58907904 : prod(:,181) = 0._r8
342 58907904 : prod(:,56) = 0._r8
343 58907904 : prod(:,183) = 0._r8
344 58907904 : prod(:,57) = 0._r8
345 58907904 : prod(:,142) = 0._r8
346 58907904 : prod(:,317) = 0._r8
347 : end if
348 145920 : end subroutine indprd
349 : end module mo_indprd
|