47 subroutine sx_dudxyz_lx(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd, lx)
48 integer,
intent(in) :: nel, nd, lx
49 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
50 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
51 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
52 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
53 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
55 integer :: i, j, jj, kk
56 real(kind=
rp) :: wr, ws, wt
62 wr = wr + dx(i,kk)*u(kk,jj,1,1)
68 call col2 (du, dr, nd)
77 ws = ws + dy(j,kk)*u(i,kk,k,e)
94 wt = wt + dz(k,kk)*u(i,j,kk,e)
103 call col2 (du, jacinv, nd)
106 subroutine sx_dudxyz_lx14(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
107 integer,
parameter :: lx = 14
108 integer,
intent(in) :: nel, nd
109 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
110 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
111 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
112 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
113 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
115 integer :: i, j, jj, kk
116 real(kind=
rp) :: wr, ws, wt
122 wr = wr + dx(i,kk)*u(kk,jj,1,1)
128 call col2 (du, dr, nd)
137 ws = ws + dy(j,kk)*u(i,kk,k,e)
154 wt = wt + dz(k,kk)*u(i,j,kk,e)
163 call col2 (du, jacinv, nd)
166 subroutine sx_dudxyz_lx13(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
167 integer,
parameter :: lx = 13
168 integer,
intent(in) :: nel, nd
169 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
170 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
171 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
172 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
173 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
175 integer :: i, j, jj, kk
176 real(kind=
rp) :: wr, ws, wt
182 wr = wr + dx(i,kk)*u(kk,jj,1,1)
188 call col2 (du, dr, nd)
197 ws = ws + dy(j,kk)*u(i,kk,k,e)
214 wt = wt + dz(k,kk)*u(i,j,kk,e)
223 call col2 (du, jacinv, nd)
226 subroutine sx_dudxyz_lx12(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
227 integer,
parameter :: lx = 12
228 integer,
intent(in) :: nel, nd
229 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
230 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
231 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
232 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
233 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
235 integer :: i, j, jj, kk
236 real(kind=
rp) :: wr, ws, wt
242 wr = wr + dx(i,kk)*u(kk,jj,1,1)
248 call col2 (du, dr, nd)
257 ws = ws + dy(j,kk)*u(i,kk,k,e)
274 wt = wt + dz(k,kk)*u(i,j,kk,e)
283 call col2 (du, jacinv, nd)
286 subroutine sx_dudxyz_lx11(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
287 integer,
parameter :: lx = 11
288 integer,
intent(in) :: nel, nd
289 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
290 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
291 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
292 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
293 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
295 integer :: i, j, jj, kk
296 real(kind=
rp) :: wr, ws, wt
302 wr = wr + dx(i,kk)*u(kk,jj,1,1)
308 call col2 (du, dr, nd)
317 ws = ws + dy(j,kk)*u(i,kk,k,e)
334 wt = wt + dz(k,kk)*u(i,j,kk,e)
343 call col2 (du, jacinv, nd)
346 subroutine sx_dudxyz_lx10(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
347 integer,
parameter :: lx = 10
348 integer,
intent(in) :: nel, nd
349 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
350 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
351 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
352 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
353 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
355 integer :: i, j, jj, kk
356 real(kind=
rp) :: wr, ws, wt
362 wr = wr + dx(i,kk)*u(kk,jj,1,1)
368 call col2 (du, dr, nd)
377 ws = ws + dy(j,kk)*u(i,kk,k,e)
394 wt = wt + dz(k,kk)*u(i,j,kk,e)
403 call col2 (du, jacinv, nd)
406 subroutine sx_dudxyz_lx9(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
407 integer,
parameter :: lx = 9
408 integer,
intent(in) :: nel, nd
409 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
410 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
411 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
412 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
413 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
415 integer :: i, j, jj, kk
416 real(kind=
rp) :: wr, ws, wt
422 wr = wr + dx(i,kk)*u(kk,jj,1,1)
428 call col2 (du, dr, nd)
437 ws = ws + dy(j,kk)*u(i,kk,k,e)
454 wt = wt + dz(k,kk)*u(i,j,kk,e)
463 call col2 (du, jacinv, nd)
466 subroutine sx_dudxyz_lx8(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
467 integer,
parameter :: lx = 8
468 integer,
intent(in) :: nel, nd
469 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
470 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
471 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
472 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
473 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
475 integer :: i, j, jj, kk
476 real(kind=
rp) :: wr, ws, wt
482 wr = wr + dx(i,kk)*u(kk,jj,1,1)
488 call col2 (du, dr, nd)
497 ws = ws + dy(j,kk)*u(i,kk,k,e)
514 wt = wt + dz(k,kk)*u(i,j,kk,e)
523 call col2 (du, jacinv, nd)
526 subroutine sx_dudxyz_lx7(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
527 integer,
parameter :: lx = 7
528 integer,
intent(in) :: nel, nd
529 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
530 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
531 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
532 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
533 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
535 integer :: i, j, jj, kk
536 real(kind=
rp) :: wr, ws, wt
542 wr = wr + dx(i,kk)*u(kk,jj,1,1)
548 call col2 (du, dr, nd)
557 ws = ws + dy(j,kk)*u(i,kk,k,e)
574 wt = wt + dz(k,kk)*u(i,j,kk,e)
583 call col2 (du, jacinv, nd)
586 subroutine sx_dudxyz_lx6(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
587 integer,
parameter :: lx = 6
588 integer,
intent(in) :: nel, nd
589 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
590 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
591 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
592 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
593 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
595 integer :: i, j, jj, kk
596 real(kind=
rp) :: wr, ws, wt
602 wr = wr + dx(i,kk)*u(kk,jj,1,1)
608 call col2 (du, dr, nd)
617 ws = ws + dy(j,kk)*u(i,kk,k,e)
634 wt = wt + dz(k,kk)*u(i,j,kk,e)
643 call col2 (du, jacinv, nd)
646 subroutine sx_dudxyz_lx5(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
647 integer,
parameter :: lx = 5
648 integer,
intent(in) :: nel, nd
649 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
650 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
651 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
652 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
653 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
655 integer :: i, j, jj, kk
656 real(kind=
rp) :: wr, ws, wt
662 wr = wr + dx(i,kk)*u(kk,jj,1,1)
668 call col2 (du, dr, nd)
677 ws = ws + dy(j,kk)*u(i,kk,k,e)
694 wt = wt + dz(k,kk)*u(i,j,kk,e)
703 call col2 (du, jacinv, nd)
706 subroutine sx_dudxyz_lx4(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
707 integer,
parameter :: lx = 4
708 integer,
intent(in) :: nel, nd
709 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
710 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
711 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
712 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
713 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
715 integer :: i, j, jj, kk
716 real(kind=
rp) :: wr, ws, wt
722 wr = wr + dx(i,kk)*u(kk,jj,1,1)
728 call col2 (du, dr, nd)
737 ws = ws + dy(j,kk)*u(i,kk,k,e)
754 wt = wt + dz(k,kk)*u(i,j,kk,e)
763 call col2 (du, jacinv, nd)
766 subroutine sx_dudxyz_lx3(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
767 integer,
parameter :: lx = 3
768 integer,
intent(in) :: nel, nd
769 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
770 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
771 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
772 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
773 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
775 integer :: i, j, jj, kk
776 real(kind=
rp) :: wr, ws, wt
782 wr = wr + dx(i,kk)*u(kk,jj,1,1)
788 call col2 (du, dr, nd)
797 ws = ws + dy(j,kk)*u(i,kk,k,e)
814 wt = wt + dz(k,kk)*u(i,j,kk,e)
823 call col2 (du, jacinv, nd)
826 subroutine sx_dudxyz_lx2(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
827 integer,
parameter :: lx = 2
828 integer,
intent(in) :: nel, nd
829 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(inout) :: du
830 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: u, dr, ds, dt
831 real(kind=
rp),
dimension(lx,lx,lx,nel),
intent(in) :: jacinv
832 real(kind=
rp),
dimension(lx,lx),
intent(in) :: dx, dy, dz
833 real(kind=
rp),
dimension(lx,lx,lx,nel) :: drst
835 integer :: i, j, jj, kk
836 real(kind=
rp) :: wr, ws, wt
842 wr = wr + dx(i,kk)*u(kk,jj,1,1)
848 call col2 (du, dr, nd)
857 ws = ws + dy(j,kk)*u(i,kk,k,e)
874 wt = wt + dz(k,kk)*u(i,j,kk,e)
883 call col2 (du, jacinv, nd)
subroutine, public addcol3(a, b, c, n)
Returns .
subroutine, public col2(a, b, n)
Vector multiplication .
integer, parameter, public rp
Global precision used in computations.
Derivative kernels for SX-Aurora.
subroutine, public sx_dudxyz_lx8(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx4(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx12(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd, lx)
subroutine, public sx_dudxyz_lx3(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx6(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx7(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx13(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx2(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx14(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx10(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx11(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx5(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)
subroutine, public sx_dudxyz_lx9(du, u, dr, ds, dt, dx, dy, dz, jacinv, nel, nd)