47 subroutine sx_cdtp_lx(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd, lx)
48 integer,
intent(in) :: nel, nd, lx
49 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
50 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
51 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
52 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
54 integer :: e, i, j, k, kk, jj
56 call col3(wx, b, x, nd)
58 call col3(ta1, wx, dr, nd)
61 do jj = 1, lx * lx * nel
64 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
70 call col3(ta1, wx, ds, nd)
79 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
81 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
87 call col3(ta1, wx, dt, nd)
96 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
98 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
106 subroutine sx_cdtp_lx14(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
107 integer,
parameter :: lx = 14
108 integer,
intent(in) :: nel, nd
109 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
110 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
111 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
112 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
114 integer :: e, i, j, k, kk, jj
116 call col3(wx, b, x, nd)
118 call col3(ta1, wx, dr, nd)
121 do jj = 1, lx * lx * nel
124 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
130 call col3(ta1, wx, ds, nd)
139 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
141 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
147 call col3(ta1, wx, dt, nd)
156 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
158 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
166 subroutine sx_cdtp_lx13(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
167 integer,
parameter :: lx = 13
168 integer,
intent(in) :: nel, nd
169 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
170 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
171 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
172 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
174 integer :: e, i, j, k, kk, jj
176 call col3(wx, b, x, nd)
178 call col3(ta1, wx, dr, nd)
181 do jj = 1, lx * lx * nel
184 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
190 call col3(ta1, wx, ds, nd)
199 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
201 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
207 call col3(ta1, wx, dt, nd)
216 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
218 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
226 subroutine sx_cdtp_lx12(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
227 integer,
parameter :: lx = 12
228 integer,
intent(in) :: nel, nd
229 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
230 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
231 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
232 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
234 integer :: e, i, j, k, kk, jj
236 call col3(wx, b, x, nd)
238 call col3(ta1, wx, dr, nd)
241 do jj = 1, lx * lx * nel
244 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
250 call col3(ta1, wx, ds, nd)
259 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
261 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
267 call col3(ta1, wx, dt, nd)
276 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
278 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
286 subroutine sx_cdtp_lx11(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
287 integer,
parameter :: lx = 11
288 integer,
intent(in) :: nel, nd
289 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
290 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
291 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
292 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
294 integer :: e, i, j, k, kk, jj
296 call col3(wx, b, x, nd)
298 call col3(ta1, wx, dr, nd)
301 do jj = 1, lx * lx * nel
304 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
310 call col3(ta1, wx, ds, nd)
319 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
321 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
327 call col3(ta1, wx, dt, nd)
336 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
338 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
346 subroutine sx_cdtp_lx10(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
347 integer,
parameter :: lx = 10
348 integer,
intent(in) :: nel, nd
349 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
350 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
351 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
352 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
354 integer :: e, i, j, k, kk, jj
356 call col3(wx, b, x, nd)
358 call col3(ta1, wx, dr, nd)
361 do jj = 1, lx * lx * nel
364 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
370 call col3(ta1, wx, ds, nd)
379 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
381 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
387 call col3(ta1, wx, dt, nd)
396 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
398 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
406 subroutine sx_cdtp_lx9(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
407 integer,
parameter :: lx = 9
408 integer,
intent(in) :: nel, nd
409 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
410 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
411 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
412 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
414 integer :: e, i, j, k, kk, jj
416 call col3(wx, b, x, nd)
418 call col3(ta1, wx, dr, nd)
421 do jj = 1, lx * lx * nel
424 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
430 call col3(ta1, wx, ds, nd)
439 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
441 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
447 call col3(ta1, wx, dt, nd)
456 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
458 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
466 subroutine sx_cdtp_lx8(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
467 integer,
parameter :: lx = 8
468 integer,
intent(in) :: nel, nd
469 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
470 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
471 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
472 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
474 integer :: e, i, j, k, kk, jj
476 call col3(wx, b, x, nd)
478 call col3(ta1, wx, dr, nd)
481 do jj = 1, lx * lx * nel
484 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
490 call col3(ta1, wx, ds, nd)
499 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
501 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
507 call col3(ta1, wx, dt, nd)
516 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
518 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
526 subroutine sx_cdtp_lx7(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
527 integer,
parameter :: lx = 7
528 integer,
intent(in) :: nel, nd
529 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
530 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
531 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
532 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
534 integer :: e, i, j, k, kk, jj
536 call col3(wx, b, x, nd)
538 call col3(ta1, wx, dr, nd)
541 do jj = 1, lx * lx * nel
544 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
550 call col3(ta1, wx, ds, nd)
559 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
561 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
567 call col3(ta1, wx, dt, nd)
576 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
578 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
586 subroutine sx_cdtp_lx6(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
587 integer,
parameter :: lx = 6
588 integer,
intent(in) :: nel, nd
589 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
590 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
591 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
592 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
594 integer :: e, i, j, k, kk, jj
596 call col3(wx, b, x, nd)
598 call col3(ta1, wx, dr, nd)
601 do jj = 1, lx * lx * nel
604 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
610 call col3(ta1, wx, ds, nd)
619 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
621 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
627 call col3(ta1, wx, dt, nd)
636 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
638 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
646 subroutine sx_cdtp_lx5(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
647 integer,
parameter :: lx = 5
648 integer,
intent(in) :: nel, nd
649 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
650 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
651 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
652 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
654 integer :: e, i, j, k, kk, jj
656 call col3(wx, b, x, nd)
658 call col3(ta1, wx, dr, nd)
661 do jj = 1, lx * lx * nel
664 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
670 call col3(ta1, wx, ds, nd)
679 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
681 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
687 call col3(ta1, wx, dt, nd)
696 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
698 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
706 subroutine sx_cdtp_lx4(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
707 integer,
parameter :: lx = 4
708 integer,
intent(in) :: nel, nd
709 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
710 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
711 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
712 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
714 integer :: e, i, j, k, kk, jj
716 call col3(wx, b, x, nd)
718 call col3(ta1, wx, dr, nd)
721 do jj = 1, lx * lx * nel
724 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
730 call col3(ta1, wx, ds, nd)
739 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
741 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
747 call col3(ta1, wx, dt, nd)
756 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
758 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
766 subroutine sx_cdtp_lx3(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
767 integer,
parameter :: lx = 3
768 integer,
intent(in) :: nel, nd
769 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
770 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
771 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
772 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
774 integer :: e, i, j, k, kk, jj
776 call col3(wx, b, x, nd)
778 call col3(ta1, wx, dr, nd)
781 do jj = 1, lx * lx * nel
784 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
790 call col3(ta1, wx, ds, nd)
799 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
801 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
807 call col3(ta1, wx, dt, nd)
816 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
818 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
826 subroutine sx_cdtp_lx2(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
827 integer,
parameter :: lx = 2
828 integer,
intent(in) :: nel, nd
829 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: dtx
830 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: x, dr, ds, dt, jac, b
831 real(kind=
rp),
intent(in) :: dxt(lx,lx), dyt(lx,lx), dzt(lx,lx)
832 real(kind=
rp),
dimension(lx,lx,lx,nel) :: wx, ta1
834 integer :: e, i, j, k, kk, jj
836 call col3(wx, b, x, nd)
838 call col3(ta1, wx, dr, nd)
841 do jj = 1, lx * lx * nel
844 tmp = tmp + dxt(i,kk) * ta1(kk,jj,1,1)
850 call col3(ta1, wx, ds, nd)
859 tmp = tmp + dyt(j, kk) * ta1(i,kk,k,e)
861 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
867 call col3(ta1, wx, dt, nd)
876 tmp = tmp + dzt(k, kk)*ta1(i,j,kk,e)
878 dtx(i,j,k,e) = dtx(i,j,k,e) + tmp
subroutine, public invcol2(a, b, n)
Vector division .
subroutine, public col3(a, b, c, n)
Vector multiplication with 3 vectors .
integer, parameter, public rp
Global precision used in computations.
DT*X kernels for SX-Aurora.
subroutine, public sx_cdtp_lx2(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx8(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx9(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx6(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx12(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx7(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx10(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx11(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx4(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx3(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd, lx)
subroutine, public sx_cdtp_lx14(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx5(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)
subroutine, public sx_cdtp_lx13(dtx, x, dr, ds, dt, dxt, dyt, dzt, B, jac, nel, nd)