46 function sx_cfl_lx(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
47 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
48 jacinv,nelv, gdim, lx)
result(cfl)
49 integer :: nelv, gdim, lx
50 real(kind=
rp),
intent(in) :: dt
51 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
52 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
53 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
54 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
55 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
56 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
57 real(kind=
rp) :: cflr, cfls, cflt, cflm
58 real(kind=
rp) :: ur, us, ut
67 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
68 + v(i,j,k,e)*drdy(i,j,k,e) &
69 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
70 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
71 + v(i,j,k,e)*dsdy(i,j,k,e) &
72 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
73 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
74 + v(i,j,k,e)*dtdy(i,j,k,e) &
75 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
77 cflr = abs(dt*ur*dr_inv(i))
78 cfls = abs(dt*us*ds_inv(j))
79 cflt = abs(dt*ut*dt_inv(k))
81 cflm = cflr + cfls + cflt
90 function sx_cfl_lx14(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
91 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
92 jacinv,nelv, gdim)
result(cfl)
93 integer,
parameter :: lx =14
95 real(kind=
rp),
intent(in) :: dt
96 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
97 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
98 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
99 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
100 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
101 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
102 real(kind=
rp) :: cflr, cfls, cflt, cflm
103 real(kind=
rp) :: ur, us, ut
105 integer :: i, j, k, e
112 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
113 + v(i,j,k,e)*drdy(i,j,k,e) &
114 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
115 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
116 + v(i,j,k,e)*dsdy(i,j,k,e) &
117 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
118 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
119 + v(i,j,k,e)*dtdy(i,j,k,e) &
120 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
122 cflr = abs(dt*ur*dr_inv(i))
123 cfls = abs(dt*us*ds_inv(j))
124 cflt = abs(dt*ut*dt_inv(k))
126 cflm = cflr + cfls + cflt
135 function sx_cfl_lx13(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
136 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
137 jacinv,nelv, gdim)
result(cfl)
138 integer,
parameter :: lx = 13
139 integer :: nelv, gdim
140 real(kind=
rp),
intent(in) :: dt
141 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
142 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
143 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
144 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
145 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
146 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
147 real(kind=
rp) :: cflr, cfls, cflt, cflm
148 real(kind=
rp) :: ur, us, ut
150 integer :: i, j, k, e
157 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
158 + v(i,j,k,e)*drdy(i,j,k,e) &
159 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
160 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
161 + v(i,j,k,e)*dsdy(i,j,k,e) &
162 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
163 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
164 + v(i,j,k,e)*dtdy(i,j,k,e) &
165 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
167 cflr = abs(dt*ur*dr_inv(i))
168 cfls = abs(dt*us*ds_inv(j))
169 cflt = abs(dt*ut*dt_inv(k))
171 cflm = cflr + cfls + cflt
180 function sx_cfl_lx12(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
181 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
182 jacinv,nelv, gdim)
result(cfl)
183 integer,
parameter :: lx = 12
184 integer :: nelv, gdim
185 real(kind=
rp),
intent(in) :: dt
186 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
187 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
188 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
189 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
190 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
191 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
192 real(kind=
rp) :: cflr, cfls, cflt, cflm
193 real(kind=
rp) :: ur, us, ut
195 integer :: i, j, k, e
202 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
203 + v(i,j,k,e)*drdy(i,j,k,e) &
204 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
205 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
206 + v(i,j,k,e)*dsdy(i,j,k,e) &
207 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
208 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
209 + v(i,j,k,e)*dtdy(i,j,k,e) &
210 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
212 cflr = abs(dt*ur*dr_inv(i))
213 cfls = abs(dt*us*ds_inv(j))
214 cflt = abs(dt*ut*dt_inv(k))
216 cflm = cflr + cfls + cflt
225 function sx_cfl_lx11(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
226 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
227 jacinv,nelv, gdim)
result(cfl)
228 integer,
parameter :: lx = 11
229 integer :: nelv, gdim
230 real(kind=
rp),
intent(in) :: dt
231 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
232 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
233 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
234 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
235 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
236 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
237 real(kind=
rp) :: cflr, cfls, cflt, cflm
238 real(kind=
rp) :: ur, us, ut
240 integer :: i, j, k, e
247 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
248 + v(i,j,k,e)*drdy(i,j,k,e) &
249 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
250 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
251 + v(i,j,k,e)*dsdy(i,j,k,e) &
252 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
253 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
254 + v(i,j,k,e)*dtdy(i,j,k,e) &
255 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
257 cflr = abs(dt*ur*dr_inv(i))
258 cfls = abs(dt*us*ds_inv(j))
259 cflt = abs(dt*ut*dt_inv(k))
261 cflm = cflr + cfls + cflt
270 function sx_cfl_lx10(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
271 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
272 jacinv,nelv, gdim)
result(cfl)
273 integer,
parameter :: lx = 10
274 integer :: nelv, gdim
275 real(kind=
rp),
intent(in) :: dt
276 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
277 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
278 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
279 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
280 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
281 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
282 real(kind=
rp) :: cflr, cfls, cflt, cflm
283 real(kind=
rp) :: ur, us, ut
285 integer :: i, j, k, e
292 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
293 + v(i,j,k,e)*drdy(i,j,k,e) &
294 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
295 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
296 + v(i,j,k,e)*dsdy(i,j,k,e) &
297 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
298 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
299 + v(i,j,k,e)*dtdy(i,j,k,e) &
300 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
302 cflr = abs(dt*ur*dr_inv(i))
303 cfls = abs(dt*us*ds_inv(j))
304 cflt = abs(dt*ut*dt_inv(k))
306 cflm = cflr + cfls + cflt
315 function sx_cfl_lx9(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
316 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
317 jacinv,nelv, gdim)
result(cfl)
318 integer,
parameter :: lx = 9
319 integer :: nelv, gdim
320 real(kind=
rp),
intent(in) :: dt
321 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
322 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
323 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
324 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
325 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
326 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
327 real(kind=
rp) :: cflr, cfls, cflt, cflm
328 real(kind=
rp) :: ur, us, ut
330 integer :: i, j, k, e
337 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
338 + v(i,j,k,e)*drdy(i,j,k,e) &
339 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
340 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
341 + v(i,j,k,e)*dsdy(i,j,k,e) &
342 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
343 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
344 + v(i,j,k,e)*dtdy(i,j,k,e) &
345 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
347 cflr = abs(dt*ur*dr_inv(i))
348 cfls = abs(dt*us*ds_inv(j))
349 cflt = abs(dt*ut*dt_inv(k))
351 cflm = cflr + cfls + cflt
360 function sx_cfl_lx8(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
361 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
362 jacinv,nelv, gdim)
result(cfl)
363 integer,
parameter :: lx = 8
364 integer :: nelv, gdim
365 real(kind=
rp),
intent(in) :: dt
366 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
367 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
368 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
369 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
370 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
371 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
372 real(kind=
rp) :: cflr, cfls, cflt, cflm
373 real(kind=
rp) :: ur, us, ut
375 integer :: i, j, k, e
382 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
383 + v(i,j,k,e)*drdy(i,j,k,e) &
384 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
385 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
386 + v(i,j,k,e)*dsdy(i,j,k,e) &
387 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
388 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
389 + v(i,j,k,e)*dtdy(i,j,k,e) &
390 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
392 cflr = abs(dt*ur*dr_inv(i))
393 cfls = abs(dt*us*ds_inv(j))
394 cflt = abs(dt*ut*dt_inv(k))
396 cflm = cflr + cfls + cflt
405 function sx_cfl_lx7(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
406 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
407 jacinv,nelv, gdim)
result(cfl)
408 integer,
parameter :: lx = 7
409 integer :: nelv, gdim
410 real(kind=
rp),
intent(in) :: dt
411 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
412 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
413 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
414 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
415 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
416 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
417 real(kind=
rp) :: cflr, cfls, cflt, cflm
418 real(kind=
rp) :: ur, us, ut
420 integer :: i, j, k, e
427 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
428 + v(i,j,k,e)*drdy(i,j,k,e) &
429 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
430 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
431 + v(i,j,k,e)*dsdy(i,j,k,e) &
432 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
433 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
434 + v(i,j,k,e)*dtdy(i,j,k,e) &
435 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
437 cflr = abs(dt*ur*dr_inv(i))
438 cfls = abs(dt*us*ds_inv(j))
439 cflt = abs(dt*ut*dt_inv(k))
441 cflm = cflr + cfls + cflt
450 function sx_cfl_lx6(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
451 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
452 jacinv,nelv, gdim)
result(cfl)
453 integer,
parameter :: lx = 6
454 integer :: nelv, gdim
455 real(kind=
rp),
intent(in) :: dt
456 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
457 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
458 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
459 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
460 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
461 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
462 real(kind=
rp) :: cflr, cfls, cflt, cflm
463 real(kind=
rp) :: ur, us, ut
465 integer :: i, j, k, e
472 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
473 + v(i,j,k,e)*drdy(i,j,k,e) &
474 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
475 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
476 + v(i,j,k,e)*dsdy(i,j,k,e) &
477 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
478 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
479 + v(i,j,k,e)*dtdy(i,j,k,e) &
480 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
482 cflr = abs(dt*ur*dr_inv(i))
483 cfls = abs(dt*us*ds_inv(j))
484 cflt = abs(dt*ut*dt_inv(k))
486 cflm = cflr + cfls + cflt
495 function sx_cfl_lx5(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
496 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
497 jacinv,nelv, gdim)
result(cfl)
498 integer,
parameter :: lx = 5
499 integer :: nelv, gdim
500 real(kind=
rp),
intent(in) :: dt
501 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
502 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
503 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
504 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
505 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
506 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
507 real(kind=
rp) :: cflr, cfls, cflt, cflm
508 real(kind=
rp) :: ur, us, ut
510 integer :: i, j, k, e
517 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
518 + v(i,j,k,e)*drdy(i,j,k,e) &
519 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
520 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
521 + v(i,j,k,e)*dsdy(i,j,k,e) &
522 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
523 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
524 + v(i,j,k,e)*dtdy(i,j,k,e) &
525 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
527 cflr = abs(dt*ur*dr_inv(i))
528 cfls = abs(dt*us*ds_inv(j))
529 cflt = abs(dt*ut*dt_inv(k))
531 cflm = cflr + cfls + cflt
540 function sx_cfl_lx4(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
541 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
542 jacinv,nelv, gdim)
result(cfl)
543 integer,
parameter :: lx = 4
544 integer :: nelv, gdim
545 real(kind=
rp),
intent(in) :: dt
546 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
547 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
548 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
549 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
550 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
551 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
552 real(kind=
rp) :: cflr, cfls, cflt, cflm
553 real(kind=
rp) :: ur, us, ut
555 integer :: i, j, k, e
562 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
563 + v(i,j,k,e)*drdy(i,j,k,e) &
564 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
565 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
566 + v(i,j,k,e)*dsdy(i,j,k,e) &
567 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
568 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
569 + v(i,j,k,e)*dtdy(i,j,k,e) &
570 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
572 cflr = abs(dt*ur*dr_inv(i))
573 cfls = abs(dt*us*ds_inv(j))
574 cflt = abs(dt*ut*dt_inv(k))
576 cflm = cflr + cfls + cflt
585 function sx_cfl_lx3(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
586 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
587 jacinv,nelv, gdim)
result(cfl)
588 integer,
parameter :: lx = 3
589 integer :: nelv, gdim
590 real(kind=
rp),
intent(in) :: dt
591 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
592 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
593 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
594 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
595 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
596 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
597 real(kind=
rp) :: cflr, cfls, cflt, cflm
598 real(kind=
rp) :: ur, us, ut
600 integer :: i, j, k, e
607 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
608 + v(i,j,k,e)*drdy(i,j,k,e) &
609 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
610 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
611 + v(i,j,k,e)*dsdy(i,j,k,e) &
612 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
613 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
614 + v(i,j,k,e)*dtdy(i,j,k,e) &
615 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
617 cflr = abs(dt*ur*dr_inv(i))
618 cfls = abs(dt*us*ds_inv(j))
619 cflt = abs(dt*ut*dt_inv(k))
621 cflm = cflr + cfls + cflt
630 function sx_cfl_lx2(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, &
631 drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, &
632 jacinv,nelv, gdim)
result(cfl)
633 integer,
parameter :: lx = 2
634 integer :: nelv, gdim
635 real(kind=
rp),
intent(in) :: dt
636 real(kind=
rp),
dimension(lx,lx,lx,nelv) :: u, v, w
637 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdx, dsdx, dtdx
638 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdy, dsdy, dtdy
639 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: drdz, dsdz, dtdz
640 real(kind=
rp),
dimension(lx),
intent(in) :: dr_inv, ds_inv, dt_inv
641 real(kind=
rp),
dimension(lx,lx,lx,nelv),
intent(in) :: jacinv
642 real(kind=
rp) :: cflr, cfls, cflt, cflm
643 real(kind=
rp) :: ur, us, ut
645 integer :: i, j, k, e
652 ur = ( u(i,j,k,e)*drdx(i,j,k,e) &
653 + v(i,j,k,e)*drdy(i,j,k,e) &
654 + w(i,j,k,e)*drdz(i,j,k,e) ) * jacinv(i,j,k,e)
655 us = ( u(i,j,k,e)*dsdx(i,j,k,e) &
656 + v(i,j,k,e)*dsdy(i,j,k,e) &
657 + w(i,j,k,e)*dsdz(i,j,k,e) ) * jacinv(i,j,k,e)
658 ut = ( u(i,j,k,e)*dtdx(i,j,k,e) &
659 + v(i,j,k,e)*dtdy(i,j,k,e) &
660 + w(i,j,k,e)*dtdz(i,j,k,e) ) * jacinv(i,j,k,e)
662 cflr = abs(dt*ur*dr_inv(i))
663 cfls = abs(dt*us*ds_inv(j))
664 cflt = abs(dt*ut*dt_inv(k))
666 cflm = cflr + cfls + cflt
integer, parameter, public rp
Global precision used in computations.
real(kind=rp) function, public sx_cfl_lx10(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx14(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx13(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx8(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx2(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx12(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim, lx)
real(kind=rp) function, public sx_cfl_lx7(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx5(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx6(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx4(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx3(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx11(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)
real(kind=rp) function, public sx_cfl_lx9(dt, u, v, w, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, dr_inv, ds_inv, dt_inv, jacinv, nelv, gdim)