40 subroutine cpu_dudxyz_lx(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, lx)
41 integer,
intent(in) :: nel, lx
42 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
43 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
44 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
45 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
46 real(kind=
rp),
dimension(lx,lx,lx) :: drst
48 integer :: e, i, j, k, l
55 tmp = tmp + dx(i,k) * u(k,j,1,e)
61 do i = 1, lx * lx * lx
62 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
70 tmp = tmp + dy(j,l) * u(i,l,k,e)
77 do i = 1, lx * lx * lx
78 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
85 tmp = tmp + dz(k,l) * u(i,1,l,e)
91 do i = 1, lx * lx * lx
92 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
95 do i = 1, lx * lx * lx
96 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
104 integer,
parameter :: lx = 14
105 integer,
intent(in) :: nel
106 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
107 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
108 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
109 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
110 real(kind=
rp),
dimension(lx,lx,lx) :: drst
111 integer :: e, i, j, k
116 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
117 + dx(i,2) * u(2,j,1,e) &
118 + dx(i,3) * u(3,j,1,e) &
119 + dx(i,4) * u(4,j,1,e) &
120 + dx(i,5) * u(5,j,1,e) &
121 + dx(i,6) * u(6,j,1,e) &
122 + dx(i,7) * u(7,j,1,e) &
123 + dx(i,8) * u(8,j,1,e) &
124 + dx(i,9) * u(9,j,1,e) &
125 + dx(i,10) * u(10,j,1,e) &
126 + dx(i,11) * u(11,j,1,e) &
127 + dx(i,12) * u(12,j,1,e) &
128 + dx(i,13) * u(13,j,1,e) &
129 + dx(i,14) * u(14,j,1,e)
133 do i = 1, lx * lx * lx
134 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
140 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
141 + dy(j,2) * u(i,2,k,e) &
142 + dy(j,3) * u(i,3,k,e) &
143 + dy(j,4) * u(i,4,k,e) &
144 + dy(j,5) * u(i,5,k,e) &
145 + dy(j,6) * u(i,6,k,e) &
146 + dy(j,7) * u(i,7,k,e) &
147 + dy(j,8) * u(i,8,k,e) &
148 + dy(j,9) * u(i,9,k,e) &
149 + dy(j,10) * u(i,10,k,e) &
150 + dy(j,11) * u(i,11,k,e) &
151 + dy(j,12) * u(i,12,k,e) &
152 + dy(j,13) * u(i,13,k,e) &
153 + dy(j,14) * u(i,14,k,e)
158 do i = 1, lx * lx * lx
159 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
164 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
165 + dz(k,2) * u(i,1,2,e) &
166 + dz(k,3) * u(i,1,3,e) &
167 + dz(k,4) * u(i,1,4,e) &
168 + dz(k,5) * u(i,1,5,e) &
169 + dz(k,6) * u(i,1,6,e) &
170 + dz(k,7) * u(i,1,7,e) &
171 + dz(k,8) * u(i,1,8,e) &
172 + dz(k,9) * u(i,1,9,e) &
173 + dz(k,10) * u(i,1,10,e) &
174 + dz(k,11) * u(i,1,11,e) &
175 + dz(k,12) * u(i,1,12,e) &
176 + dz(k,13) * u(i,1,13,e) &
177 + dz(k,14) * u(i,1,14,e)
181 do i = 1, lx * lx * lx
182 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
185 do i = 1, lx * lx * lx
186 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
194 integer,
parameter :: lx = 13
195 integer,
intent(in) :: nel
196 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
197 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
198 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
199 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
200 real(kind=
rp),
dimension(lx,lx,lx) :: drst
201 integer :: e, i, j, k
206 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
207 + dx(i,2) * u(2,j,1,e) &
208 + dx(i,3) * u(3,j,1,e) &
209 + dx(i,4) * u(4,j,1,e) &
210 + dx(i,5) * u(5,j,1,e) &
211 + dx(i,6) * u(6,j,1,e) &
212 + dx(i,7) * u(7,j,1,e) &
213 + dx(i,8) * u(8,j,1,e) &
214 + dx(i,9) * u(9,j,1,e) &
215 + dx(i,10) * u(10,j,1,e) &
216 + dx(i,11) * u(11,j,1,e) &
217 + dx(i,12) * u(12,j,1,e) &
218 + dx(i,13) * u(13,j,1,e)
222 do i = 1, lx * lx * lx
223 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
229 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
230 + dy(j,2) * u(i,2,k,e) &
231 + dy(j,3) * u(i,3,k,e) &
232 + dy(j,4) * u(i,4,k,e) &
233 + dy(j,5) * u(i,5,k,e) &
234 + dy(j,6) * u(i,6,k,e) &
235 + dy(j,7) * u(i,7,k,e) &
236 + dy(j,8) * u(i,8,k,e) &
237 + dy(j,9) * u(i,9,k,e) &
238 + dy(j,10) * u(i,10,k,e) &
239 + dy(j,11) * u(i,11,k,e) &
240 + dy(j,12) * u(i,12,k,e) &
241 + dy(j,13) * u(i,13,k,e)
246 do i = 1, lx * lx * lx
247 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
252 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
253 + dz(k,2) * u(i,1,2,e) &
254 + dz(k,3) * u(i,1,3,e) &
255 + dz(k,4) * u(i,1,4,e) &
256 + dz(k,5) * u(i,1,5,e) &
257 + dz(k,6) * u(i,1,6,e) &
258 + dz(k,7) * u(i,1,7,e) &
259 + dz(k,8) * u(i,1,8,e) &
260 + dz(k,9) * u(i,1,9,e) &
261 + dz(k,10) * u(i,1,10,e) &
262 + dz(k,11) * u(i,1,11,e) &
263 + dz(k,12) * u(i,1,12,e) &
264 + dz(k,13) * u(i,1,13,e)
268 do i = 1, lx * lx * lx
269 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
272 do i = 1, lx * lx * lx
273 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
281 integer,
parameter :: lx = 12
282 integer,
intent(in) :: nel
283 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
284 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
285 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
286 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
287 real(kind=
rp),
dimension(lx,lx,lx) :: drst
288 integer :: e, i, j, k
293 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
294 + dx(i,2) * u(2,j,1,e) &
295 + dx(i,3) * u(3,j,1,e) &
296 + dx(i,4) * u(4,j,1,e) &
297 + dx(i,5) * u(5,j,1,e) &
298 + dx(i,6) * u(6,j,1,e) &
299 + dx(i,7) * u(7,j,1,e) &
300 + dx(i,8) * u(8,j,1,e) &
301 + dx(i,9) * u(9,j,1,e) &
302 + dx(i,10) * u(10,j,1,e) &
303 + dx(i,11) * u(11,j,1,e) &
304 + dx(i,12) * u(12,j,1,e)
308 do i = 1, lx * lx * lx
309 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
315 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
316 + dy(j,2) * u(i,2,k,e) &
317 + dy(j,3) * u(i,3,k,e) &
318 + dy(j,4) * u(i,4,k,e) &
319 + dy(j,5) * u(i,5,k,e) &
320 + dy(j,6) * u(i,6,k,e) &
321 + dy(j,7) * u(i,7,k,e) &
322 + dy(j,8) * u(i,8,k,e) &
323 + dy(j,9) * u(i,9,k,e) &
324 + dy(j,10) * u(i,10,k,e) &
325 + dy(j,11) * u(i,11,k,e) &
326 + dy(j,12) * u(i,12,k,e)
331 do i = 1, lx * lx * lx
332 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
337 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
338 + dz(k,2) * u(i,1,2,e) &
339 + dz(k,3) * u(i,1,3,e) &
340 + dz(k,4) * u(i,1,4,e) &
341 + dz(k,5) * u(i,1,5,e) &
342 + dz(k,6) * u(i,1,6,e) &
343 + dz(k,7) * u(i,1,7,e) &
344 + dz(k,8) * u(i,1,8,e) &
345 + dz(k,9) * u(i,1,9,e) &
346 + dz(k,10) * u(i,1,10,e) &
347 + dz(k,11) * u(i,1,11,e) &
348 + dz(k,12) * u(i,1,12,e)
352 do i = 1, lx * lx * lx
353 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
356 do i = 1, lx * lx * lx
357 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
365 integer,
parameter :: lx = 11
366 integer,
intent(in) :: nel
367 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
368 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
369 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
370 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
371 real(kind=
rp),
dimension(lx,lx,lx) :: drst
372 integer :: e, i, j, k
377 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
378 + dx(i,2) * u(2,j,1,e) &
379 + dx(i,3) * u(3,j,1,e) &
380 + dx(i,4) * u(4,j,1,e) &
381 + dx(i,5) * u(5,j,1,e) &
382 + dx(i,6) * u(6,j,1,e) &
383 + dx(i,7) * u(7,j,1,e) &
384 + dx(i,8) * u(8,j,1,e) &
385 + dx(i,9) * u(9,j,1,e) &
386 + dx(i,10) * u(10,j,1,e) &
387 + dx(i,11) * u(11,j,1,e)
391 do i = 1, lx * lx * lx
392 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
398 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
399 + dy(j,2) * u(i,2,k,e) &
400 + dy(j,3) * u(i,3,k,e) &
401 + dy(j,4) * u(i,4,k,e) &
402 + dy(j,5) * u(i,5,k,e) &
403 + dy(j,6) * u(i,6,k,e) &
404 + dy(j,7) * u(i,7,k,e) &
405 + dy(j,8) * u(i,8,k,e) &
406 + dy(j,9) * u(i,9,k,e) &
407 + dy(j,10) * u(i,10,k,e) &
408 + dy(j,11) * u(i,11,k,e)
413 do i = 1, lx * lx * lx
414 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
419 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
420 + dz(k,2) * u(i,1,2,e) &
421 + dz(k,3) * u(i,1,3,e) &
422 + dz(k,4) * u(i,1,4,e) &
423 + dz(k,5) * u(i,1,5,e) &
424 + dz(k,6) * u(i,1,6,e) &
425 + dz(k,7) * u(i,1,7,e) &
426 + dz(k,8) * u(i,1,8,e) &
427 + dz(k,9) * u(i,1,9,e) &
428 + dz(k,10) * u(i,1,10,e) &
429 + dz(k,11) * u(i,1,11,e)
433 do i = 1, lx * lx * lx
434 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
437 do i = 1, lx * lx * lx
438 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
446 integer,
parameter :: lx = 10
447 integer,
intent(in) :: nel
448 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
449 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
450 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
451 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
452 real(kind=
rp),
dimension(lx,lx,lx) :: drst
453 integer :: e, i, j, k
458 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
459 + dx(i,2) * u(2,j,1,e) &
460 + dx(i,3) * u(3,j,1,e) &
461 + dx(i,4) * u(4,j,1,e) &
462 + dx(i,5) * u(5,j,1,e) &
463 + dx(i,6) * u(6,j,1,e) &
464 + dx(i,7) * u(7,j,1,e) &
465 + dx(i,8) * u(8,j,1,e) &
466 + dx(i,9) * u(9,j,1,e) &
467 + dx(i,10) * u(10,j,1,e)
471 do i = 1, lx * lx * lx
472 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
478 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
479 + dy(j,2) * u(i,2,k,e) &
480 + dy(j,3) * u(i,3,k,e) &
481 + dy(j,4) * u(i,4,k,e) &
482 + dy(j,5) * u(i,5,k,e) &
483 + dy(j,6) * u(i,6,k,e) &
484 + dy(j,7) * u(i,7,k,e) &
485 + dy(j,8) * u(i,8,k,e) &
486 + dy(j,9) * u(i,9,k,e) &
487 + dy(j,10) * u(i,10,k,e)
492 do i = 1, lx * lx * lx
493 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
498 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
499 + dz(k,2) * u(i,1,2,e) &
500 + dz(k,3) * u(i,1,3,e) &
501 + dz(k,4) * u(i,1,4,e) &
502 + dz(k,5) * u(i,1,5,e) &
503 + dz(k,6) * u(i,1,6,e) &
504 + dz(k,7) * u(i,1,7,e) &
505 + dz(k,8) * u(i,1,8,e) &
506 + dz(k,9) * u(i,1,9,e) &
507 + dz(k,10) * u(i,1,10,e)
511 do i = 1, lx * lx * lx
512 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
515 do i = 1, lx * lx * lx
516 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
524 integer,
parameter :: lx = 9
525 integer,
intent(in) :: nel
526 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
527 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
528 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
529 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
530 real(kind=
rp),
dimension(lx,lx,lx) :: drst
531 integer :: e, i, j, k
536 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
537 + dx(i,2) * u(2,j,1,e) &
538 + dx(i,3) * u(3,j,1,e) &
539 + dx(i,4) * u(4,j,1,e) &
540 + dx(i,5) * u(5,j,1,e) &
541 + dx(i,6) * u(6,j,1,e) &
542 + dx(i,7) * u(7,j,1,e) &
543 + dx(i,8) * u(8,j,1,e) &
544 + dx(i,9) * u(9,j,1,e)
548 do i = 1, lx * lx * lx
549 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
555 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
556 + dy(j,2) * u(i,2,k,e) &
557 + dy(j,3) * u(i,3,k,e) &
558 + dy(j,4) * u(i,4,k,e) &
559 + dy(j,5) * u(i,5,k,e) &
560 + dy(j,6) * u(i,6,k,e) &
561 + dy(j,7) * u(i,7,k,e) &
562 + dy(j,8) * u(i,8,k,e) &
563 + dy(j,9) * u(i,9,k,e)
568 do i = 1, lx * lx * lx
569 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
574 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
575 + dz(k,2) * u(i,1,2,e) &
576 + dz(k,3) * u(i,1,3,e) &
577 + dz(k,4) * u(i,1,4,e) &
578 + dz(k,5) * u(i,1,5,e) &
579 + dz(k,6) * u(i,1,6,e) &
580 + dz(k,7) * u(i,1,7,e) &
581 + dz(k,8) * u(i,1,8,e) &
582 + dz(k,9) * u(i,1,9,e)
586 do i = 1, lx * lx * lx
587 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
590 do i = 1, lx * lx * lx
591 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
599 integer,
parameter :: lx = 8
600 integer,
intent(in) :: nel
601 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
602 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
603 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
604 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
605 real(kind=
rp),
dimension(lx,lx,lx) :: drst
606 integer :: e, i, j, k
611 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
612 + dx(i,2) * u(2,j,1,e) &
613 + dx(i,3) * u(3,j,1,e) &
614 + dx(i,4) * u(4,j,1,e) &
615 + dx(i,5) * u(5,j,1,e) &
616 + dx(i,6) * u(6,j,1,e) &
617 + dx(i,7) * u(7,j,1,e) &
618 + dx(i,8) * u(8,j,1,e)
622 do i = 1, lx * lx * lx
623 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
629 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
630 + dy(j,2) * u(i,2,k,e) &
631 + dy(j,3) * u(i,3,k,e) &
632 + dy(j,4) * u(i,4,k,e) &
633 + dy(j,5) * u(i,5,k,e) &
634 + dy(j,6) * u(i,6,k,e) &
635 + dy(j,7) * u(i,7,k,e) &
636 + dy(j,8) * u(i,8,k,e)
641 do i = 1, lx * lx * lx
642 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
647 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
648 + dz(k,2) * u(i,1,2,e) &
649 + dz(k,3) * u(i,1,3,e) &
650 + dz(k,4) * u(i,1,4,e) &
651 + dz(k,5) * u(i,1,5,e) &
652 + dz(k,6) * u(i,1,6,e) &
653 + dz(k,7) * u(i,1,7,e) &
654 + dz(k,8) * u(i,1,8,e)
658 do i = 1, lx * lx * lx
659 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
662 do i = 1, lx * lx * lx
663 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
671 integer,
parameter :: lx = 7
672 integer,
intent(in) :: nel
673 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
674 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
675 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
676 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
677 real(kind=
rp),
dimension(lx,lx,lx) :: drst
678 integer :: e, i, j, k
683 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
684 + dx(i,2) * u(2,j,1,e) &
685 + dx(i,3) * u(3,j,1,e) &
686 + dx(i,4) * u(4,j,1,e) &
687 + dx(i,5) * u(5,j,1,e) &
688 + dx(i,6) * u(6,j,1,e) &
689 + dx(i,7) * u(7,j,1,e)
693 do i = 1, lx * lx * lx
694 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
700 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
701 + dy(j,2) * u(i,2,k,e) &
702 + dy(j,3) * u(i,3,k,e) &
703 + dy(j,4) * u(i,4,k,e) &
704 + dy(j,5) * u(i,5,k,e) &
705 + dy(j,6) * u(i,6,k,e) &
706 + dy(j,7) * u(i,7,k,e)
711 do i = 1, lx * lx * lx
712 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
717 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
718 + dz(k,2) * u(i,1,2,e) &
719 + dz(k,3) * u(i,1,3,e) &
720 + dz(k,4) * u(i,1,4,e) &
721 + dz(k,5) * u(i,1,5,e) &
722 + dz(k,6) * u(i,1,6,e) &
723 + dz(k,7) * u(i,1,7,e)
727 do i = 1, lx * lx * lx
728 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
731 do i = 1, lx * lx * lx
732 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
740 integer,
parameter :: lx = 6
741 integer,
intent(in) :: nel
742 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
743 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
744 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
745 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
746 real(kind=
rp),
dimension(lx,lx,lx) :: drst
747 integer :: e, i, j, k
752 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
753 + dx(i,2) * u(2,j,1,e) &
754 + dx(i,3) * u(3,j,1,e) &
755 + dx(i,4) * u(4,j,1,e) &
756 + dx(i,5) * u(5,j,1,e) &
757 + dx(i,6) * u(6,j,1,e)
761 do i = 1, lx * lx * lx
762 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
768 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
769 + dy(j,2) * u(i,2,k,e) &
770 + dy(j,3) * u(i,3,k,e) &
771 + dy(j,4) * u(i,4,k,e) &
772 + dy(j,5) * u(i,5,k,e) &
773 + dy(j,6) * u(i,6,k,e)
778 do i = 1, lx * lx * lx
779 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
784 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
785 + dz(k,2) * u(i,1,2,e) &
786 + dz(k,3) * u(i,1,3,e) &
787 + dz(k,4) * u(i,1,4,e) &
788 + dz(k,5) * u(i,1,5,e) &
789 + dz(k,6) * u(i,1,6,e)
793 do i = 1, lx * lx * lx
794 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
797 do i = 1, lx * lx * lx
798 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
806 integer,
parameter :: lx = 5
807 integer,
intent(in) :: nel
808 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
809 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
810 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
811 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
812 real(kind=
rp),
dimension(lx,lx,lx) :: drst
813 integer :: e, i, j, k
818 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
819 + dx(i,2) * u(2,j,1,e) &
820 + dx(i,3) * u(3,j,1,e) &
821 + dx(i,4) * u(4,j,1,e) &
822 + dx(i,5) * u(5,j,1,e)
826 do i = 1, lx * lx * lx
827 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
833 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
834 + dy(j,2) * u(i,2,k,e) &
835 + dy(j,3) * u(i,3,k,e) &
836 + dy(j,4) * u(i,4,k,e) &
837 + dy(j,5) * u(i,5,k,e)
842 do i = 1, lx * lx * lx
843 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
848 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
849 + dz(k,2) * u(i,1,2,e) &
850 + dz(k,3) * u(i,1,3,e) &
851 + dz(k,4) * u(i,1,4,e) &
852 + dz(k,5) * u(i,1,5,e)
856 do i = 1, lx * lx * lx
857 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
860 do i = 1, lx * lx * lx
861 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
869 integer,
parameter :: lx = 4
870 integer,
intent(in) :: nel
871 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
872 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
873 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
874 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
875 real(kind=
rp),
dimension(lx,lx,lx) :: drst
876 integer :: e, i, j, k
881 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
882 + dx(i,2) * u(2,j,1,e) &
883 + dx(i,3) * u(3,j,1,e) &
884 + dx(i,4) * u(4,j,1,e)
888 do i = 1, lx * lx * lx
889 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
895 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
896 + dy(j,2) * u(i,2,k,e) &
897 + dy(j,3) * u(i,3,k,e) &
898 + dy(j,4) * u(i,4,k,e)
903 do i = 1, lx * lx * lx
904 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
909 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
910 + dz(k,2) * u(i,1,2,e) &
911 + dz(k,3) * u(i,1,3,e) &
912 + dz(k,4) * u(i,1,4,e)
916 do i = 1, lx * lx * lx
917 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
920 do i = 1, lx * lx * lx
921 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
929 integer,
parameter :: lx = 3
930 integer,
intent(in) :: nel
931 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
932 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
933 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
934 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
935 real(kind=
rp),
dimension(lx,lx,lx) :: drst
936 integer :: e, i, j, k
941 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
942 + dx(i,2) * u(2,j,1,e) &
943 + dx(i,3) * u(3,j,1,e)
947 do i = 1, lx * lx * lx
948 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
954 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
955 + dy(j,2) * u(i,2,k,e) &
956 + dy(j,3) * u(i,3,k,e)
961 do i = 1, lx * lx * lx
962 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
967 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
968 + dz(k,2) * u(i,1,2,e) &
969 + dz(k,3) * u(i,1,3,e)
973 do i = 1, lx * lx * lx
974 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
977 do i = 1, lx * lx * lx
978 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
986 integer,
parameter :: lx = 2
987 integer,
intent(in) :: nel
988 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
989 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
990 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
991 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
992 real(kind=
rp),
dimension(lx,lx,lx) :: drst
993 integer :: e, i, j, k
998 du(i,j,1,e) = dx(i,1) * u(1,j,1,e) &
999 + dx(i,2) * u(2,j,1,e)
1003 do i = 1, lx * lx * lx
1004 du(i,1,1,e) = du(i,1,1,e) * dr(i,1,1,e)
1010 drst(i,j,k) = dy(j,1) * u(i,1,k,e) &
1011 + dy(j,2) * u(i,2,k,e)
1016 do i = 1, lx * lx * lx
1017 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * ds(i,1,1,e)
1022 drst(i,1,k) = dz(k,1) * u(i,1,1,e) &
1023 + dz(k,2) * u(i,1,2,e)
1027 do i = 1, lx * lx * lx
1028 du(i,1,1,e) = du(i,1,1,e) + drst(i,1,1) * dt(i,1,1,e)
1031 do i = 1, lx * lx * lx
1032 du(i,1,1,e) = du(i,1,1,e) * jacinv(i,1,1,e)
subroutine cpu_dudxyz_lx4(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx12(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx13(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx10(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx11(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx14(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx7(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx2(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx9(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx3(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx6(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, lx)
subroutine cpu_dudxyz_lx8(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
subroutine cpu_dudxyz_lx5(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel)
integer, parameter, public rp
Global precision used in computations.