34 submodule(
opr_cpu) cpu_set_convect_rst
40 module subroutine opr_cpu_set_convect_rst(cr, cs, ct, cx, cy, cz, xh, coef)
41 type(space_t),
intent(inout) :: Xh
42 type(coef_t),
intent(inout) :: coef
43 real(kind=
rp),
dimension(Xh%lxyz, coef%msh%nelv), &
44 intent(inout) :: cr, cs, ct
45 real(kind=
rp),
dimension(Xh%lxyz, coef%msh%nelv), &
46 intent(in) :: cx, cy, cz
47 associate(drdx => coef%drdx, drdy => coef%drdy, drdz => coef%drdz, &
48 dsdx => coef%dsdx, dsdy => coef%dsdy, dsdz => coef%dsdz, &
49 dtdx => coef%dtdx, dtdy => coef%dtdy, dtdz => coef%dtdz, &
50 nelv => coef%msh%nelv, lx => xh%lx, w3 => xh%w3)
54 call cpu_set_convect_rst_lx18(cr, cs, ct, cx, cy, cz, &
55 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
57 call cpu_set_convect_rst_lx17(cr, cs, ct, cx, cy, cz, &
58 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
60 call cpu_set_convect_rst_lx16(cr, cs, ct, cx, cy, cz, &
61 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
63 call cpu_set_convect_rst_lx15(cr, cs, ct, cx, cy, cz, drdx, &
64 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
66 call cpu_set_convect_rst_lx14(cr, cs, ct, cx, cy, cz, drdx, &
67 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
69 call cpu_set_convect_rst_lx13(cr, cs, ct, cx, cy, cz, drdx, &
70 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
72 call cpu_set_convect_rst_lx12(cr, cs, ct, cx, cy, cz, drdx, &
73 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
75 call cpu_set_convect_rst_lx11(cr, cs, ct, cx, cy, cz, drdx, &
76 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
78 call cpu_set_convect_rst_lx10(cr, cs, ct, cx, cy, cz, drdx, &
79 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
81 call cpu_set_convect_rst_lx9(cr, cs, ct, cx, cy, cz, drdx, &
82 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
84 call cpu_set_convect_rst_lx8(cr, cs, ct, cx, cy, cz, drdx, &
85 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
87 call cpu_set_convect_rst_lx7(cr, cs, ct, cx, cy, cz, drdx, &
88 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
90 call cpu_set_convect_rst_lx6(cr, cs, ct, cx, cy, cz, drdx, &
91 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
93 call cpu_set_convect_rst_lx5(cr, cs, ct, cx, cy, cz, drdx, &
94 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
96 call cpu_set_convect_rst_lx4(cr, cs, ct, cx, cy, cz, drdx, &
97 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
99 call cpu_set_convect_rst_lx3(cr, cs, ct, cx, cy, cz, drdx, &
100 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
102 call cpu_set_convect_rst_lx2(cr, cs, ct, cx, cy, cz, drdx, &
103 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv)
105 call cpu_set_convect_rst_lx(cr, cs, ct, cx, cy, cz, drdx, &
106 dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, nelv, lx)
110 end subroutine opr_cpu_set_convect_rst
112 subroutine cpu_set_convect_rst_lx(cr, cs, ct, cx, cy, cz, &
113 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n, lx)
114 integer,
intent(in) :: n, lx
115 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
116 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
117 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
118 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
119 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
120 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
124 do i = 1, lx * lx * lx
125 cr(i,1,1,e) = w3(i,1,1) &
126 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
127 + cy(i,1,1,e) * drdy(i,1,1,e) &
128 + cz(i,1,1,e) * drdz(i,1,1,e) )
129 cs(i,1,1,e) = w3(i,1,1) &
130 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
131 + cy(i,1,1,e) * dsdy(i,1,1,e) &
132 + cz(i,1,1,e) * dsdz(i,1,1,e))
133 ct(i,1,1,e) = w3(i,1,1) &
134 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
135 + cy(i,1,1,e) * dtdy(i,1,1,e) &
136 + cz(i,1,1,e) * dtdz(i,1,1,e))
140 end subroutine cpu_set_convect_rst_lx
142 subroutine cpu_set_convect_rst_lx18(cr, cs, ct, cx, cy, cz, &
143 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
144 integer,
parameter :: lx = 18
145 integer,
intent(in) :: n
146 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
147 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
148 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
149 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
150 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
151 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
155 do i = 1, lx * lx * lx
156 cr(i,1,1,e) = w3(i,1,1) &
157 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
158 + cy(i,1,1,e) * drdy(i,1,1,e) &
159 + cz(i,1,1,e) * drdz(i,1,1,e) )
160 cs(i,1,1,e) = w3(i,1,1) &
161 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
162 + cy(i,1,1,e) * dsdy(i,1,1,e) &
163 + cz(i,1,1,e) * dsdz(i,1,1,e))
164 ct(i,1,1,e) = w3(i,1,1) &
165 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
166 + cy(i,1,1,e) * dtdy(i,1,1,e) &
167 + cz(i,1,1,e) * dtdz(i,1,1,e))
171 end subroutine cpu_set_convect_rst_lx18
173 subroutine cpu_set_convect_rst_lx17(cr, cs, ct, cx, cy, cz, &
174 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
175 integer,
parameter :: lx = 17
176 integer,
intent(in) :: n
177 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
178 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
179 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
180 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
181 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
182 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
186 do i = 1, lx * lx * lx
187 cr(i,1,1,e) = w3(i,1,1) &
188 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
189 + cy(i,1,1,e) * drdy(i,1,1,e) &
190 + cz(i,1,1,e) * drdz(i,1,1,e) )
191 cs(i,1,1,e) = w3(i,1,1) &
192 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
193 + cy(i,1,1,e) * dsdy(i,1,1,e) &
194 + cz(i,1,1,e) * dsdz(i,1,1,e))
195 ct(i,1,1,e) = w3(i,1,1) &
196 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
197 + cy(i,1,1,e) * dtdy(i,1,1,e) &
198 + cz(i,1,1,e) * dtdz(i,1,1,e))
202 end subroutine cpu_set_convect_rst_lx17
204 subroutine cpu_set_convect_rst_lx16(cr, cs, ct, cx, cy, cz, &
205 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
206 integer,
parameter :: lx = 16
207 integer,
intent(in) :: n
208 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
209 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
210 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
211 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
212 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
213 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
217 do i = 1, lx * lx * lx
218 cr(i,1,1,e) = w3(i,1,1) &
219 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
220 + cy(i,1,1,e) * drdy(i,1,1,e) &
221 + cz(i,1,1,e) * drdz(i,1,1,e) )
222 cs(i,1,1,e) = w3(i,1,1) &
223 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
224 + cy(i,1,1,e) * dsdy(i,1,1,e) &
225 + cz(i,1,1,e) * dsdz(i,1,1,e))
226 ct(i,1,1,e) = w3(i,1,1) &
227 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
228 + cy(i,1,1,e) * dtdy(i,1,1,e) &
229 + cz(i,1,1,e) * dtdz(i,1,1,e))
233 end subroutine cpu_set_convect_rst_lx16
235 subroutine cpu_set_convect_rst_lx15(cr, cs, ct, cx, cy, cz, &
236 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
237 integer,
parameter :: lx = 15
238 integer,
intent(in) :: n
239 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
240 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
241 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
242 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
243 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
244 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
248 do i = 1, lx * lx * lx
249 cr(i,1,1,e) = w3(i,1,1) &
250 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
251 + cy(i,1,1,e) * drdy(i,1,1,e) &
252 + cz(i,1,1,e) * drdz(i,1,1,e) )
253 cs(i,1,1,e) = w3(i,1,1) &
254 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
255 + cy(i,1,1,e) * dsdy(i,1,1,e) &
256 + cz(i,1,1,e) * dsdz(i,1,1,e))
257 ct(i,1,1,e) = w3(i,1,1) &
258 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
259 + cy(i,1,1,e) * dtdy(i,1,1,e) &
260 + cz(i,1,1,e) * dtdz(i,1,1,e))
264 end subroutine cpu_set_convect_rst_lx15
266 subroutine cpu_set_convect_rst_lx14(cr, cs, ct, cx, cy, cz, &
267 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
268 integer,
parameter :: lx = 14
269 integer,
intent(in) :: n
270 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
271 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
272 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
273 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
274 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
275 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
279 do i = 1, lx * lx * lx
280 cr(i,1,1,e) = w3(i,1,1) &
281 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
282 + cy(i,1,1,e) * drdy(i,1,1,e) &
283 + cz(i,1,1,e) * drdz(i,1,1,e) )
284 cs(i,1,1,e) = w3(i,1,1) &
285 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
286 + cy(i,1,1,e) * dsdy(i,1,1,e) &
287 + cz(i,1,1,e) * dsdz(i,1,1,e))
288 ct(i,1,1,e) = w3(i,1,1) &
289 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
290 + cy(i,1,1,e) * dtdy(i,1,1,e) &
291 + cz(i,1,1,e) * dtdz(i,1,1,e))
295 end subroutine cpu_set_convect_rst_lx14
297 subroutine cpu_set_convect_rst_lx13(cr, cs, ct, cx, cy, cz, &
298 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
299 integer,
parameter :: lx = 13
300 integer,
intent(in) :: n
301 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
302 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
303 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
304 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
305 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
306 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
310 do i = 1, lx * lx * lx
311 cr(i,1,1,e) = w3(i,1,1) &
312 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
313 + cy(i,1,1,e) * drdy(i,1,1,e) &
314 + cz(i,1,1,e) * drdz(i,1,1,e) )
315 cs(i,1,1,e) = w3(i,1,1) &
316 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
317 + cy(i,1,1,e) * dsdy(i,1,1,e) &
318 + cz(i,1,1,e) * dsdz(i,1,1,e))
319 ct(i,1,1,e) = w3(i,1,1) &
320 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
321 + cy(i,1,1,e) * dtdy(i,1,1,e) &
322 + cz(i,1,1,e) * dtdz(i,1,1,e))
326 end subroutine cpu_set_convect_rst_lx13
328 subroutine cpu_set_convect_rst_lx12(cr, cs, ct, cx, cy, cz, &
329 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
330 integer,
parameter :: lx = 12
331 integer,
intent(in) :: n
332 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
333 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
334 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
335 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
336 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
337 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
341 do i = 1, lx * lx * lx
342 cr(i,1,1,e) = w3(i,1,1) &
343 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
344 + cy(i,1,1,e) * drdy(i,1,1,e) &
345 + cz(i,1,1,e) * drdz(i,1,1,e) )
346 cs(i,1,1,e) = w3(i,1,1) &
347 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
348 + cy(i,1,1,e) * dsdy(i,1,1,e) &
349 + cz(i,1,1,e) * dsdz(i,1,1,e))
350 ct(i,1,1,e) = w3(i,1,1) &
351 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
352 + cy(i,1,1,e) * dtdy(i,1,1,e) &
353 + cz(i,1,1,e) * dtdz(i,1,1,e))
357 end subroutine cpu_set_convect_rst_lx12
359 subroutine cpu_set_convect_rst_lx11(cr, cs, ct, cx, cy, cz, &
360 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
361 integer,
parameter :: lx = 11
362 integer,
intent(in) :: n
363 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
364 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
365 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
366 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
367 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
368 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
372 do i = 1, lx * lx * lx
373 cr(i,1,1,e) = w3(i,1,1) &
374 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
375 + cy(i,1,1,e) * drdy(i,1,1,e) &
376 + cz(i,1,1,e) * drdz(i,1,1,e) )
377 cs(i,1,1,e) = w3(i,1,1) &
378 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
379 + cy(i,1,1,e) * dsdy(i,1,1,e) &
380 + cz(i,1,1,e) * dsdz(i,1,1,e))
381 ct(i,1,1,e) = w3(i,1,1) &
382 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
383 + cy(i,1,1,e) * dtdy(i,1,1,e) &
384 + cz(i,1,1,e) * dtdz(i,1,1,e))
388 end subroutine cpu_set_convect_rst_lx11
390 subroutine cpu_set_convect_rst_lx10(cr, cs, ct, cx, cy, cz, &
391 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
392 integer,
parameter :: lx = 10
393 integer,
intent(in) :: n
394 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
395 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
396 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
397 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
398 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
399 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
403 do i = 1, lx * lx * lx
404 cr(i,1,1,e) = w3(i,1,1) &
405 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
406 + cy(i,1,1,e) * drdy(i,1,1,e) &
407 + cz(i,1,1,e) * drdz(i,1,1,e) )
408 cs(i,1,1,e) = w3(i,1,1) &
409 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
410 + cy(i,1,1,e) * dsdy(i,1,1,e) &
411 + cz(i,1,1,e) * dsdz(i,1,1,e))
412 ct(i,1,1,e) = w3(i,1,1) &
413 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
414 + cy(i,1,1,e) * dtdy(i,1,1,e) &
415 + cz(i,1,1,e) * dtdz(i,1,1,e))
419 end subroutine cpu_set_convect_rst_lx10
421 subroutine cpu_set_convect_rst_lx9(cr, cs, ct, cx, cy, cz, &
422 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
423 integer,
parameter :: lx = 9
424 integer,
intent(in) :: n
425 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
426 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
427 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
428 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
429 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
430 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
434 do i = 1, lx * lx * lx
435 cr(i,1,1,e) = w3(i,1,1) &
436 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
437 + cy(i,1,1,e) * drdy(i,1,1,e) &
438 + cz(i,1,1,e) * drdz(i,1,1,e) )
439 cs(i,1,1,e) = w3(i,1,1) &
440 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
441 + cy(i,1,1,e) * dsdy(i,1,1,e) &
442 + cz(i,1,1,e) * dsdz(i,1,1,e))
443 ct(i,1,1,e) = w3(i,1,1) &
444 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
445 + cy(i,1,1,e) * dtdy(i,1,1,e) &
446 + cz(i,1,1,e) * dtdz(i,1,1,e))
450 end subroutine cpu_set_convect_rst_lx9
452 subroutine cpu_set_convect_rst_lx8(cr, cs, ct, cx, cy, cz, &
453 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
454 integer,
parameter :: lx = 8
455 integer,
intent(in) :: n
456 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
457 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
458 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
459 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
460 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
461 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
465 do i = 1, lx * lx * lx
466 cr(i,1,1,e) = w3(i,1,1) &
467 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
468 + cy(i,1,1,e) * drdy(i,1,1,e) &
469 + cz(i,1,1,e) * drdz(i,1,1,e) )
470 cs(i,1,1,e) = w3(i,1,1) &
471 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
472 + cy(i,1,1,e) * dsdy(i,1,1,e) &
473 + cz(i,1,1,e) * dsdz(i,1,1,e))
474 ct(i,1,1,e) = w3(i,1,1) &
475 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
476 + cy(i,1,1,e) * dtdy(i,1,1,e) &
477 + cz(i,1,1,e) * dtdz(i,1,1,e))
481 end subroutine cpu_set_convect_rst_lx8
483 subroutine cpu_set_convect_rst_lx7(cr, cs, ct, cx, cy, cz, &
484 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
485 integer,
parameter :: lx = 7
486 integer,
intent(in) :: n
487 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
488 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
489 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
490 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
491 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
492 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
496 do i = 1, lx * lx * lx
497 cr(i,1,1,e) = w3(i,1,1) &
498 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
499 + cy(i,1,1,e) * drdy(i,1,1,e) &
500 + cz(i,1,1,e) * drdz(i,1,1,e) )
501 cs(i,1,1,e) = w3(i,1,1) &
502 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
503 + cy(i,1,1,e) * dsdy(i,1,1,e) &
504 + cz(i,1,1,e) * dsdz(i,1,1,e))
505 ct(i,1,1,e) = w3(i,1,1) &
506 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
507 + cy(i,1,1,e) * dtdy(i,1,1,e) &
508 + cz(i,1,1,e) * dtdz(i,1,1,e))
512 end subroutine cpu_set_convect_rst_lx7
514 subroutine cpu_set_convect_rst_lx6(cr, cs, ct, cx, cy, cz, &
515 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
516 integer,
parameter :: lx = 6
517 integer,
intent(in) :: n
518 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
519 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
520 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
521 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
522 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
523 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
527 do i = 1, lx * lx * lx
528 cr(i,1,1,e) = w3(i,1,1) &
529 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
530 + cy(i,1,1,e) * drdy(i,1,1,e) &
531 + cz(i,1,1,e) * drdz(i,1,1,e) )
532 cs(i,1,1,e) = w3(i,1,1) &
533 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
534 + cy(i,1,1,e) * dsdy(i,1,1,e) &
535 + cz(i,1,1,e) * dsdz(i,1,1,e))
536 ct(i,1,1,e) = w3(i,1,1) &
537 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
538 + cy(i,1,1,e) * dtdy(i,1,1,e) &
539 + cz(i,1,1,e) * dtdz(i,1,1,e))
543 end subroutine cpu_set_convect_rst_lx6
545 subroutine cpu_set_convect_rst_lx5(cr, cs, ct, cx, cy, cz, &
546 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
547 integer,
parameter :: lx = 5
548 integer,
intent(in) :: n
549 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
550 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
551 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
552 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
553 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
554 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
558 do i = 1, lx * lx * lx
559 cr(i,1,1,e) = w3(i,1,1) &
560 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
561 + cy(i,1,1,e) * drdy(i,1,1,e) &
562 + cz(i,1,1,e) * drdz(i,1,1,e) )
563 cs(i,1,1,e) = w3(i,1,1) &
564 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
565 + cy(i,1,1,e) * dsdy(i,1,1,e) &
566 + cz(i,1,1,e) * dsdz(i,1,1,e))
567 ct(i,1,1,e) = w3(i,1,1) &
568 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
569 + cy(i,1,1,e) * dtdy(i,1,1,e) &
570 + cz(i,1,1,e) * dtdz(i,1,1,e))
574 end subroutine cpu_set_convect_rst_lx5
576 subroutine cpu_set_convect_rst_lx4(cr, cs, ct, cx, cy, cz, &
577 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
578 integer,
parameter :: lx = 4
579 integer,
intent(in) :: n
580 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
581 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
582 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
583 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
584 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
585 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
589 do i = 1, lx * lx * lx
590 cr(i,1,1,e) = w3(i,1,1) &
591 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
592 + cy(i,1,1,e) * drdy(i,1,1,e) &
593 + cz(i,1,1,e) * drdz(i,1,1,e) )
594 cs(i,1,1,e) = w3(i,1,1) &
595 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
596 + cy(i,1,1,e) * dsdy(i,1,1,e) &
597 + cz(i,1,1,e) * dsdz(i,1,1,e))
598 ct(i,1,1,e) = w3(i,1,1) &
599 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
600 + cy(i,1,1,e) * dtdy(i,1,1,e) &
601 + cz(i,1,1,e) * dtdz(i,1,1,e))
605 end subroutine cpu_set_convect_rst_lx4
607 subroutine cpu_set_convect_rst_lx3(cr, cs, ct, cx, cy, cz, &
608 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
609 integer,
parameter :: lx = 3
610 integer,
intent(in) :: n
611 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
612 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
613 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
614 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
615 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
616 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
620 do i = 1, lx * lx * lx
621 cr(i,1,1,e) = w3(i,1,1) &
622 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
623 + cy(i,1,1,e) * drdy(i,1,1,e) &
624 + cz(i,1,1,e) * drdz(i,1,1,e) )
625 cs(i,1,1,e) = w3(i,1,1) &
626 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
627 + cy(i,1,1,e) * dsdy(i,1,1,e) &
628 + cz(i,1,1,e) * dsdz(i,1,1,e))
629 ct(i,1,1,e) = w3(i,1,1) &
630 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
631 + cy(i,1,1,e) * dtdy(i,1,1,e) &
632 + cz(i,1,1,e) * dtdz(i,1,1,e))
636 end subroutine cpu_set_convect_rst_lx3
638 subroutine cpu_set_convect_rst_lx2(cr, cs, ct, cx, cy, cz, &
639 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
640 integer,
parameter :: lx = 2
641 integer,
intent(in) :: n
642 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(inout) :: cr, cs, ct
643 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: cx, cy, cz
644 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdx, dsdx, dtdx
645 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdy, dsdy, dtdy
646 real(kind=
rp),
dimension(lx, lx, lx, n),
intent(in) :: drdz, dsdz, dtdz
647 real(kind=
rp),
dimension(lx, lx, lx),
intent(in) :: w3
651 do i = 1, lx * lx * lx
652 cr(i,1,1,e) = w3(i,1,1) &
653 * ( cx(i,1,1,e) * drdx(i,1,1,e) &
654 + cy(i,1,1,e) * drdy(i,1,1,e) &
655 + cz(i,1,1,e) * drdz(i,1,1,e) )
656 cs(i,1,1,e) = w3(i,1,1) &
657 * ( cx(i,1,1,e) * dsdx(i,1,1,e) &
658 + cy(i,1,1,e) * dsdy(i,1,1,e) &
659 + cz(i,1,1,e) * dsdz(i,1,1,e))
660 ct(i,1,1,e) = w3(i,1,1) &
661 * ( cx(i,1,1,e) * dtdx(i,1,1,e) &
662 + cy(i,1,1,e) * dtdy(i,1,1,e) &
663 + cz(i,1,1,e) * dtdz(i,1,1,e))
667 end subroutine cpu_set_convect_rst_lx2
669 end submodule cpu_set_convect_rst
integer, parameter, public rp
Global precision used in computations.