41 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n, lx)
42 integer,
intent(in) :: n, lx
43 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
44 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
45 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
46 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
47 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
48 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
49 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
50 real(kind=
rp) :: ur(lx,lx,lx, n)
51 real(kind=
rp) :: us(lx,lx,lx, n)
52 real(kind=
rp) :: ut(lx,lx,lx, n)
53 real(kind=
rp) :: wr, ws, wt
54 integer :: e, i, j, k, jj, kk
57 do jj = 1, lx * lx * n
60 wr = wr + dx(i,kk)*u(kk,jj,1,1)
73 ws = ws + dy(j,kk)*u(i,kk,k,e)
88 wt = wt + dz(k,kk)*u(i,j,kk,e)
96 do i = 1, lx * lx * lx
98 ux(i,1,1,e) = w3(i,1,1) * &
99 ( drdx(i,1,1,e) * ur(i,1,1,e) &
100 + dsdx(i,1,1,e) * us(i,1,1,e) &
101 + dtdx(i,1,1,e) * ut(i,1,1,e))
103 uy(i,1,1,e) = w3(i,1,1) * &
104 ( dsdy(i,1,1,e) * us(i,1,1,e) &
105 + drdy(i,1,1,e) * ur(i,1,1,e) &
106 + dtdy(i,1,1,e) * ut(i,1,1,e) )
108 uz(i,1,1,e) = w3(i,1,1) * &
109 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
110 + drdz(i,1,1,e) * ur(i,1,1,e) &
111 + dsdz(i,1,1,e) * us(i,1,1,e))
117 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
118 integer,
parameter :: lx = 18
119 integer,
intent(in) :: n
120 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
121 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
122 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
123 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
124 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
125 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
126 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
127 real(kind=
rp) :: ur(lx,lx,lx, n)
128 real(kind=
rp) :: us(lx,lx,lx, n)
129 real(kind=
rp) :: ut(lx,lx,lx, n)
130 real(kind=
rp) :: wr, ws, wt
131 integer :: e, i, j, k, jj, kk
134 do jj = 1, lx * lx * n
137 wr = wr + dx(i,kk)*u(kk,jj,1,1)
150 ws = ws + dy(j,kk)*u(i,kk,k,e)
165 wt = wt + dz(k,kk)*u(i,j,kk,e)
173 do i = 1, lx * lx * lx
175 ux(i,1,1,e) = w3(i,1,1) * &
176 ( drdx(i,1,1,e) * ur(i,1,1,e) &
177 + dsdx(i,1,1,e) * us(i,1,1,e) &
178 + dtdx(i,1,1,e) * ut(i,1,1,e))
180 uy(i,1,1,e) = w3(i,1,1) * &
181 ( dsdy(i,1,1,e) * us(i,1,1,e) &
182 + drdy(i,1,1,e) * ur(i,1,1,e) &
183 + dtdy(i,1,1,e) * ut(i,1,1,e) )
185 uz(i,1,1,e) = w3(i,1,1) * &
186 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
187 + drdz(i,1,1,e) * ur(i,1,1,e) &
188 + dsdz(i,1,1,e) * us(i,1,1,e))
194 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
195 integer,
parameter :: lx = 17
196 integer,
intent(in) :: n
197 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
198 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
199 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
200 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
201 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
202 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
203 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
204 real(kind=
rp) :: ur(lx,lx,lx, n)
205 real(kind=
rp) :: us(lx,lx,lx, n)
206 real(kind=
rp) :: ut(lx,lx,lx, n)
207 real(kind=
rp) :: wr, ws, wt
208 integer :: e, i, j, k, jj, kk
211 do jj = 1, lx * lx * n
214 wr = wr + dx(i,kk)*u(kk,jj,1,1)
227 ws = ws + dy(j,kk)*u(i,kk,k,e)
242 wt = wt + dz(k,kk)*u(i,j,kk,e)
250 do i = 1, lx * lx * lx
252 ux(i,1,1,e) = w3(i,1,1) * &
253 ( drdx(i,1,1,e) * ur(i,1,1,e) &
254 + dsdx(i,1,1,e) * us(i,1,1,e) &
255 + dtdx(i,1,1,e) * ut(i,1,1,e))
257 uy(i,1,1,e) = w3(i,1,1) * &
258 ( dsdy(i,1,1,e) * us(i,1,1,e) &
259 + drdy(i,1,1,e) * ur(i,1,1,e) &
260 + dtdy(i,1,1,e) * ut(i,1,1,e) )
262 uz(i,1,1,e) = w3(i,1,1) * &
263 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
264 + drdz(i,1,1,e) * ur(i,1,1,e) &
265 + dsdz(i,1,1,e) * us(i,1,1,e))
271 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
272 integer,
parameter :: lx = 16
273 integer,
intent(in) :: n
274 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
275 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
276 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
277 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
278 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
279 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
280 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
281 real(kind=
rp) :: ur(lx,lx,lx, n)
282 real(kind=
rp) :: us(lx,lx,lx, n)
283 real(kind=
rp) :: ut(lx,lx,lx, n)
284 real(kind=
rp) :: wr, ws, wt
285 integer :: e, i, j, k, jj, kk
288 do jj = 1, lx * lx * n
291 wr = wr + dx(i,kk)*u(kk,jj,1,1)
304 ws = ws + dy(j,kk)*u(i,kk,k,e)
319 wt = wt + dz(k,kk)*u(i,j,kk,e)
327 do i = 1, lx * lx * lx
329 ux(i,1,1,e) = w3(i,1,1) * &
330 ( drdx(i,1,1,e) * ur(i,1,1,e) &
331 + dsdx(i,1,1,e) * us(i,1,1,e) &
332 + dtdx(i,1,1,e) * ut(i,1,1,e))
334 uy(i,1,1,e) = w3(i,1,1) * &
335 ( dsdy(i,1,1,e) * us(i,1,1,e) &
336 + drdy(i,1,1,e) * ur(i,1,1,e) &
337 + dtdy(i,1,1,e) * ut(i,1,1,e) )
339 uz(i,1,1,e) = w3(i,1,1) * &
340 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
341 + drdz(i,1,1,e) * ur(i,1,1,e) &
342 + dsdz(i,1,1,e) * us(i,1,1,e))
348 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
349 integer,
parameter :: lx = 15
350 integer,
intent(in) :: n
351 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
352 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
353 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
354 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
355 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
356 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
357 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
358 real(kind=
rp) :: ur(lx,lx,lx, n)
359 real(kind=
rp) :: us(lx,lx,lx, n)
360 real(kind=
rp) :: ut(lx,lx,lx, n)
361 real(kind=
rp) :: wr, ws, wt
362 integer :: e, i, j, k, jj, kk
365 do jj = 1, lx * lx * n
368 wr = wr + dx(i,kk)*u(kk,jj,1,1)
381 ws = ws + dy(j,kk)*u(i,kk,k,e)
396 wt = wt + dz(k,kk)*u(i,j,kk,e)
404 do i = 1, lx * lx * lx
406 ux(i,1,1,e) = w3(i,1,1) * &
407 ( drdx(i,1,1,e) * ur(i,1,1,e) &
408 + dsdx(i,1,1,e) * us(i,1,1,e) &
409 + dtdx(i,1,1,e) * ut(i,1,1,e))
411 uy(i,1,1,e) = w3(i,1,1) * &
412 ( dsdy(i,1,1,e) * us(i,1,1,e) &
413 + drdy(i,1,1,e) * ur(i,1,1,e) &
414 + dtdy(i,1,1,e) * ut(i,1,1,e) )
416 uz(i,1,1,e) = w3(i,1,1) * &
417 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
418 + drdz(i,1,1,e) * ur(i,1,1,e) &
419 + dsdz(i,1,1,e) * us(i,1,1,e))
425 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
426 integer,
parameter :: lx = 14
427 integer,
intent(in) :: n
428 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
429 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
430 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
431 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
432 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
433 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
434 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
435 real(kind=
rp) :: ur(lx,lx,lx, n)
436 real(kind=
rp) :: us(lx,lx,lx, n)
437 real(kind=
rp) :: ut(lx,lx,lx, n)
438 real(kind=
rp) :: wr, ws, wt
439 integer :: e, i, j, k, jj, kk
442 do jj = 1, lx * lx * n
445 wr = wr + dx(i,kk)*u(kk,jj,1,1)
458 ws = ws + dy(j,kk)*u(i,kk,k,e)
473 wt = wt + dz(k,kk)*u(i,j,kk,e)
481 do i = 1, lx * lx * lx
483 ux(i,1,1,e) = w3(i,1,1) * &
484 ( drdx(i,1,1,e) * ur(i,1,1,e) &
485 + dsdx(i,1,1,e) * us(i,1,1,e) &
486 + dtdx(i,1,1,e) * ut(i,1,1,e))
488 uy(i,1,1,e) = w3(i,1,1) * &
489 ( dsdy(i,1,1,e) * us(i,1,1,e) &
490 + drdy(i,1,1,e) * ur(i,1,1,e) &
491 + dtdy(i,1,1,e) * ut(i,1,1,e) )
493 uz(i,1,1,e) = w3(i,1,1) * &
494 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
495 + drdz(i,1,1,e) * ur(i,1,1,e) &
496 + dsdz(i,1,1,e) * us(i,1,1,e))
502 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
503 integer,
parameter :: lx = 13
504 integer,
intent(in) :: n
505 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
506 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
507 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
508 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
509 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
510 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
511 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
512 real(kind=
rp) :: ur(lx,lx,lx, n)
513 real(kind=
rp) :: us(lx,lx,lx, n)
514 real(kind=
rp) :: ut(lx,lx,lx, n)
515 real(kind=
rp) :: wr, ws, wt
516 integer :: e, i, j, k, jj, kk
519 do jj = 1, lx * lx * n
522 wr = wr + dx(i,kk)*u(kk,jj,1,1)
535 ws = ws + dy(j,kk)*u(i,kk,k,e)
550 wt = wt + dz(k,kk)*u(i,j,kk,e)
558 do i = 1, lx * lx * lx
560 ux(i,1,1,e) = w3(i,1,1) * &
561 ( drdx(i,1,1,e) * ur(i,1,1,e) &
562 + dsdx(i,1,1,e) * us(i,1,1,e) &
563 + dtdx(i,1,1,e) * ut(i,1,1,e))
565 uy(i,1,1,e) = w3(i,1,1) * &
566 ( dsdy(i,1,1,e) * us(i,1,1,e) &
567 + drdy(i,1,1,e) * ur(i,1,1,e) &
568 + dtdy(i,1,1,e) * ut(i,1,1,e) )
570 uz(i,1,1,e) = w3(i,1,1) * &
571 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
572 + drdz(i,1,1,e) * ur(i,1,1,e) &
573 + dsdz(i,1,1,e) * us(i,1,1,e))
579 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
580 integer,
parameter :: lx = 12
581 integer,
intent(in) :: n
582 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
583 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
584 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
585 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
586 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
587 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
588 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
589 real(kind=
rp) :: ur(lx,lx,lx, n)
590 real(kind=
rp) :: us(lx,lx,lx, n)
591 real(kind=
rp) :: ut(lx,lx,lx, n)
592 real(kind=
rp) :: wr, ws, wt
593 integer :: e, i, j, k, jj, kk
596 do jj = 1, lx * lx * n
599 wr = wr + dx(i,kk)*u(kk,jj,1,1)
612 ws = ws + dy(j,kk)*u(i,kk,k,e)
627 wt = wt + dz(k,kk)*u(i,j,kk,e)
635 do i = 1, lx * lx * lx
637 ux(i,1,1,e) = w3(i,1,1) * &
638 ( drdx(i,1,1,e) * ur(i,1,1,e) &
639 + dsdx(i,1,1,e) * us(i,1,1,e) &
640 + dtdx(i,1,1,e) * ut(i,1,1,e))
642 uy(i,1,1,e) = w3(i,1,1) * &
643 ( dsdy(i,1,1,e) * us(i,1,1,e) &
644 + drdy(i,1,1,e) * ur(i,1,1,e) &
645 + dtdy(i,1,1,e) * ut(i,1,1,e) )
647 uz(i,1,1,e) = w3(i,1,1) * &
648 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
649 + drdz(i,1,1,e) * ur(i,1,1,e) &
650 + dsdz(i,1,1,e) * us(i,1,1,e))
656 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
657 integer,
parameter :: lx = 11
658 integer,
intent(in) :: n
659 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
660 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
661 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
662 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
663 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
664 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
665 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
666 real(kind=
rp) :: ur(lx,lx,lx, n)
667 real(kind=
rp) :: us(lx,lx,lx, n)
668 real(kind=
rp) :: ut(lx,lx,lx, n)
669 real(kind=
rp) :: wr, ws, wt
670 integer :: e, i, j, k, jj, kk
673 do jj = 1, lx * lx * n
676 wr = wr + dx(i,kk)*u(kk,jj,1,1)
689 ws = ws + dy(j,kk)*u(i,kk,k,e)
704 wt = wt + dz(k,kk)*u(i,j,kk,e)
712 do i = 1, lx * lx * lx
714 ux(i,1,1,e) = w3(i,1,1) * &
715 ( drdx(i,1,1,e) * ur(i,1,1,e) &
716 + dsdx(i,1,1,e) * us(i,1,1,e) &
717 + dtdx(i,1,1,e) * ut(i,1,1,e))
719 uy(i,1,1,e) = w3(i,1,1) * &
720 ( dsdy(i,1,1,e) * us(i,1,1,e) &
721 + drdy(i,1,1,e) * ur(i,1,1,e) &
722 + dtdy(i,1,1,e) * ut(i,1,1,e) )
724 uz(i,1,1,e) = w3(i,1,1) * &
725 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
726 + drdz(i,1,1,e) * ur(i,1,1,e) &
727 + dsdz(i,1,1,e) * us(i,1,1,e))
733 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
734 integer,
parameter :: lx = 10
735 integer,
intent(in) :: n
736 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
737 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
738 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
739 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
740 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
741 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
742 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
743 real(kind=
rp) :: ur(lx,lx,lx, n)
744 real(kind=
rp) :: us(lx,lx,lx, n)
745 real(kind=
rp) :: ut(lx,lx,lx, n)
746 real(kind=
rp) :: wr, ws, wt
747 integer :: e, i, j, k, jj, kk
750 do jj = 1, lx * lx * n
753 wr = wr + dx(i,kk)*u(kk,jj,1,1)
766 ws = ws + dy(j,kk)*u(i,kk,k,e)
781 wt = wt + dz(k,kk)*u(i,j,kk,e)
789 do i = 1, lx * lx * lx
791 ux(i,1,1,e) = w3(i,1,1) * &
792 ( drdx(i,1,1,e) * ur(i,1,1,e) &
793 + dsdx(i,1,1,e) * us(i,1,1,e) &
794 + dtdx(i,1,1,e) * ut(i,1,1,e))
796 uy(i,1,1,e) = w3(i,1,1) * &
797 ( dsdy(i,1,1,e) * us(i,1,1,e) &
798 + drdy(i,1,1,e) * ur(i,1,1,e) &
799 + dtdy(i,1,1,e) * ut(i,1,1,e) )
801 uz(i,1,1,e) = w3(i,1,1) * &
802 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
803 + drdz(i,1,1,e) * ur(i,1,1,e) &
804 + dsdz(i,1,1,e) * us(i,1,1,e))
810 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
811 integer,
parameter :: lx = 9
812 integer,
intent(in) :: n
813 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
814 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
815 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
816 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
817 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
818 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
819 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
820 real(kind=
rp) :: ur(lx,lx,lx, n)
821 real(kind=
rp) :: us(lx,lx,lx, n)
822 real(kind=
rp) :: ut(lx,lx,lx, n)
823 real(kind=
rp) :: wr, ws, wt
824 integer :: e, i, j, k, jj, kk
827 do jj = 1, lx * lx * n
830 wr = wr + dx(i,kk)*u(kk,jj,1,1)
843 ws = ws + dy(j,kk)*u(i,kk,k,e)
858 wt = wt + dz(k,kk)*u(i,j,kk,e)
866 do i = 1, lx * lx * lx
868 ux(i,1,1,e) = w3(i,1,1) * &
869 ( drdx(i,1,1,e) * ur(i,1,1,e) &
870 + dsdx(i,1,1,e) * us(i,1,1,e) &
871 + dtdx(i,1,1,e) * ut(i,1,1,e))
873 uy(i,1,1,e) = w3(i,1,1) * &
874 ( dsdy(i,1,1,e) * us(i,1,1,e) &
875 + drdy(i,1,1,e) * ur(i,1,1,e) &
876 + dtdy(i,1,1,e) * ut(i,1,1,e) )
878 uz(i,1,1,e) = w3(i,1,1) * &
879 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
880 + drdz(i,1,1,e) * ur(i,1,1,e) &
881 + dsdz(i,1,1,e) * us(i,1,1,e))
887 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
888 integer,
parameter :: lx = 8
889 integer,
intent(in) :: n
890 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
891 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
892 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
893 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
894 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
895 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
896 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
897 real(kind=
rp) :: ur(lx,lx,lx, n)
898 real(kind=
rp) :: us(lx,lx,lx, n)
899 real(kind=
rp) :: ut(lx,lx,lx, n)
900 real(kind=
rp) :: wr, ws, wt
901 integer :: e, i, j, k, jj, kk
904 do jj = 1, lx * lx * n
907 wr = wr + dx(i,kk)*u(kk,jj,1,1)
920 ws = ws + dy(j,kk)*u(i,kk,k,e)
935 wt = wt + dz(k,kk)*u(i,j,kk,e)
943 do i = 1, lx * lx * lx
945 ux(i,1,1,e) = w3(i,1,1) * &
946 ( drdx(i,1,1,e) * ur(i,1,1,e) &
947 + dsdx(i,1,1,e) * us(i,1,1,e) &
948 + dtdx(i,1,1,e) * ut(i,1,1,e))
950 uy(i,1,1,e) = w3(i,1,1) * &
951 ( dsdy(i,1,1,e) * us(i,1,1,e) &
952 + drdy(i,1,1,e) * ur(i,1,1,e) &
953 + dtdy(i,1,1,e) * ut(i,1,1,e) )
955 uz(i,1,1,e) = w3(i,1,1) * &
956 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
957 + drdz(i,1,1,e) * ur(i,1,1,e) &
958 + dsdz(i,1,1,e) * us(i,1,1,e))
964 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
965 integer,
parameter :: lx = 7
966 integer,
intent(in) :: n
967 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
968 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
969 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
970 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
971 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
972 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
973 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
974 real(kind=
rp) :: ur(lx,lx,lx, n)
975 real(kind=
rp) :: us(lx,lx,lx, n)
976 real(kind=
rp) :: ut(lx,lx,lx, n)
977 real(kind=
rp) :: wr, ws, wt
978 integer :: e, i, j, k, jj, kk
981 do jj = 1, lx * lx * n
984 wr = wr + dx(i,kk)*u(kk,jj,1,1)
997 ws = ws + dy(j,kk)*u(i,kk,k,e)
1012 wt = wt + dz(k,kk)*u(i,j,kk,e)
1020 do i = 1, lx * lx * lx
1022 ux(i,1,1,e) = w3(i,1,1) * &
1023 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1024 + dsdx(i,1,1,e) * us(i,1,1,e) &
1025 + dtdx(i,1,1,e) * ut(i,1,1,e))
1027 uy(i,1,1,e) = w3(i,1,1) * &
1028 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1029 + drdy(i,1,1,e) * ur(i,1,1,e) &
1030 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1032 uz(i,1,1,e) = w3(i,1,1) * &
1033 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1034 + drdz(i,1,1,e) * ur(i,1,1,e) &
1035 + dsdz(i,1,1,e) * us(i,1,1,e))
1041 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
1042 integer,
parameter :: lx = 6
1043 integer,
intent(in) :: n
1044 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
1045 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
1046 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
1047 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
1048 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
1049 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
1050 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
1051 real(kind=
rp) :: ur(lx,lx,lx, n)
1052 real(kind=
rp) :: us(lx,lx,lx, n)
1053 real(kind=
rp) :: ut(lx,lx,lx, n)
1054 real(kind=
rp) :: wr, ws, wt
1055 integer :: e, i, j, k, jj, kk
1058 do jj = 1, lx * lx * n
1061 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1074 ws = ws + dy(j,kk)*u(i,kk,k,e)
1089 wt = wt + dz(k,kk)*u(i,j,kk,e)
1097 do i = 1, lx * lx * lx
1099 ux(i,1,1,e) = w3(i,1,1) * &
1100 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1101 + dsdx(i,1,1,e) * us(i,1,1,e) &
1102 + dtdx(i,1,1,e) * ut(i,1,1,e))
1104 uy(i,1,1,e) = w3(i,1,1) * &
1105 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1106 + drdy(i,1,1,e) * ur(i,1,1,e) &
1107 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1109 uz(i,1,1,e) = w3(i,1,1) * &
1110 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1111 + drdz(i,1,1,e) * ur(i,1,1,e) &
1112 + dsdz(i,1,1,e) * us(i,1,1,e))
1118 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
1119 integer,
parameter :: lx = 5
1120 integer,
intent(in) :: n
1121 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
1122 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
1123 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
1124 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
1125 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
1126 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
1127 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
1128 real(kind=
rp) :: ur(lx,lx,lx, n)
1129 real(kind=
rp) :: us(lx,lx,lx, n)
1130 real(kind=
rp) :: ut(lx,lx,lx, n)
1131 real(kind=
rp) :: wr, ws, wt
1132 integer :: e, i, j, k, jj, kk
1135 do jj = 1, lx * lx * n
1138 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1151 ws = ws + dy(j,kk)*u(i,kk,k,e)
1166 wt = wt + dz(k,kk)*u(i,j,kk,e)
1174 do i = 1, lx * lx * lx
1176 ux(i,1,1,e) = w3(i,1,1) * &
1177 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1178 + dsdx(i,1,1,e) * us(i,1,1,e) &
1179 + dtdx(i,1,1,e) * ut(i,1,1,e))
1181 uy(i,1,1,e) = w3(i,1,1) * &
1182 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1183 + drdy(i,1,1,e) * ur(i,1,1,e) &
1184 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1186 uz(i,1,1,e) = w3(i,1,1) * &
1187 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1188 + drdz(i,1,1,e) * ur(i,1,1,e) &
1189 + dsdz(i,1,1,e) * us(i,1,1,e))
1195 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
1196 integer,
parameter :: lx = 4
1197 integer,
intent(in) :: n
1198 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
1199 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
1200 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
1201 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
1202 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
1203 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
1204 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
1205 real(kind=
rp) :: ur(lx,lx,lx, n)
1206 real(kind=
rp) :: us(lx,lx,lx, n)
1207 real(kind=
rp) :: ut(lx,lx,lx, n)
1208 real(kind=
rp) :: wr, ws, wt
1209 integer :: e, i, j, k, jj, kk
1212 do jj = 1, lx * lx * n
1215 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1228 ws = ws + dy(j,kk)*u(i,kk,k,e)
1243 wt = wt + dz(k,kk)*u(i,j,kk,e)
1251 do i = 1, lx * lx * lx
1253 ux(i,1,1,e) = w3(i,1,1) * &
1254 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1255 + dsdx(i,1,1,e) * us(i,1,1,e) &
1256 + dtdx(i,1,1,e) * ut(i,1,1,e))
1258 uy(i,1,1,e) = w3(i,1,1) * &
1259 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1260 + drdy(i,1,1,e) * ur(i,1,1,e) &
1261 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1263 uz(i,1,1,e) = w3(i,1,1) * &
1264 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1265 + drdz(i,1,1,e) * ur(i,1,1,e) &
1266 + dsdz(i,1,1,e) * us(i,1,1,e))
1272 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
1273 integer,
parameter :: lx = 3
1274 integer,
intent(in) :: n
1275 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
1276 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
1277 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
1278 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
1279 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
1280 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
1281 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
1282 real(kind=
rp) :: ur(lx,lx,lx, n)
1283 real(kind=
rp) :: us(lx,lx,lx, n)
1284 real(kind=
rp) :: ut(lx,lx,lx, n)
1285 real(kind=
rp) :: wr, ws, wt
1286 integer :: e, i, j, k, jj, kk
1289 do jj = 1, lx * lx * n
1292 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1305 ws = ws + dy(j,kk)*u(i,kk,k,e)
1320 wt = wt + dz(k,kk)*u(i,j,kk,e)
1328 do i = 1, lx * lx * lx
1330 ux(i,1,1,e) = w3(i,1,1) * &
1331 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1332 + dsdx(i,1,1,e) * us(i,1,1,e) &
1333 + dtdx(i,1,1,e) * ut(i,1,1,e))
1335 uy(i,1,1,e) = w3(i,1,1) * &
1336 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1337 + drdy(i,1,1,e) * ur(i,1,1,e) &
1338 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1340 uz(i,1,1,e) = w3(i,1,1) * &
1341 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1342 + drdz(i,1,1,e) * ur(i,1,1,e) &
1343 + dsdz(i,1,1,e) * us(i,1,1,e))
1349 drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
1350 integer,
parameter :: lx = 2
1351 integer,
intent(in) :: n
1352 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(inout) :: ux, uy, uz
1353 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: u
1354 real(kind=
rp),
dimension(lx, lx),
intent(in) :: dx, dy, dz
1355 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdx, dsdx, dtdx
1356 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdy, dsdy, dtdy
1357 real(kind=
rp),
dimension(lx,lx,lx,n),
intent(in) :: drdz, dsdz, dtdz
1358 real(kind=
rp),
dimension(lx,lx,lx),
intent(in) :: w3
1359 real(kind=
rp) :: ur(lx,lx,lx, n)
1360 real(kind=
rp) :: us(lx,lx,lx, n)
1361 real(kind=
rp) :: ut(lx,lx,lx, n)
1362 real(kind=
rp) :: wr, ws, wt
1363 integer :: e, i, j, k, jj, kk
1366 do jj = 1, lx * lx * n
1369 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1382 ws = ws + dy(j,kk)*u(i,kk,k,e)
1397 wt = wt + dz(k,kk)*u(i,j,kk,e)
1405 do i = 1, lx * lx * lx
1407 ux(i,1,1,e) = w3(i,1,1) * &
1408 ( drdx(i,1,1,e) * ur(i,1,1,e) &
1409 + dsdx(i,1,1,e) * us(i,1,1,e) &
1410 + dtdx(i,1,1,e) * ut(i,1,1,e))
1412 uy(i,1,1,e) = w3(i,1,1) * &
1413 ( dsdy(i,1,1,e) * us(i,1,1,e) &
1414 + drdy(i,1,1,e) * ur(i,1,1,e) &
1415 + dtdy(i,1,1,e) * ut(i,1,1,e) )
1417 uz(i,1,1,e) = w3(i,1,1) * &
1418 ( dtdz(i,1,1,e) * ut(i,1,1,e) &
1419 + drdz(i,1,1,e) * ur(i,1,1,e) &
1420 + dsdz(i,1,1,e) * us(i,1,1,e))
integer, parameter, public rp
Global precision used in computations.
Gradient kernels for SX-Aurora.
subroutine sx_opgrad_lx8(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx14(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx12(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx4(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx11(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx2(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx15(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx5(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx6(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx13(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx16(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx17(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx7(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n, lx)
subroutine sx_opgrad_lx3(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx18(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx9(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)
subroutine sx_opgrad_lx10(ux, uy, uz, u, dx, dy, dz, drdx, dsdx, dtdx, drdy, dsdy, dtdy, drdz, dsdz, dtdz, w3, n)