61 type(
mesh_t),
intent(in) :: msh
63 type(
coef_t),
intent(in) :: coef
64 real(kind=
rp),
intent(inout) :: w(xh%lx, xh%ly, xh%lz, msh%nelv)
65 real(kind=
rp),
intent(in) :: u(xh%lx, xh%ly, xh%lz, msh%nelv)
68 if (.not.
allocated(coef%compression_inds))
then
69 call this%ax_helm_sx_t%compute(w, u, coef, msh, xh)
73 if (
size(coef%compression_inds) .ne. msh%nelv)
then
74 call neko_error(
'Compressed geometric factors do not match the mesh')
76 m =
size(coef%G11_compr, 4)
81 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
82 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
83 coef%G13_compr, coef%G23_compr, &
84 coef%compression_inds, msh%nelv, m)
87 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
88 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
89 coef%G13_compr, coef%G23_compr, &
90 coef%compression_inds, msh%nelv, m)
93 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
94 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
95 coef%G13_compr, coef%G23_compr, &
96 coef%compression_inds, msh%nelv, m)
99 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
100 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
101 coef%G13_compr, coef%G23_compr, &
102 coef%compression_inds, msh%nelv, m)
105 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
106 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
107 coef%G13_compr, coef%G23_compr, &
108 coef%compression_inds, msh%nelv, m)
111 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
112 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
113 coef%G13_compr, coef%G23_compr, &
114 coef%compression_inds, msh%nelv, m)
117 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
118 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
119 coef%G13_compr, coef%G23_compr, &
120 coef%compression_inds, msh%nelv, m)
123 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
124 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
125 coef%G13_compr, coef%G23_compr, &
126 coef%compression_inds, msh%nelv, m)
129 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
130 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
131 coef%G13_compr, coef%G23_compr, &
132 coef%compression_inds, msh%nelv, m)
135 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
136 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
137 coef%G13_compr, coef%G23_compr, &
138 coef%compression_inds, msh%nelv, m)
141 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
142 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
143 coef%G13_compr, coef%G23_compr, &
144 coef%compression_inds, msh%nelv, m)
147 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
148 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
149 coef%G13_compr, coef%G23_compr, &
150 coef%compression_inds, msh%nelv, m)
153 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
154 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
155 coef%G13_compr, coef%G23_compr, &
156 coef%compression_inds, msh%nelv, m)
159 xh%dyt, xh%dzt, coef%h1, coef%G11_compr, &
160 coef%G22_compr, coef%G33_compr, coef%G12_compr, &
161 coef%G13_compr, coef%G23_compr, &
162 coef%compression_inds, msh%nelv, m, xh%lx)
165 if (coef%ifh2)
call addcol4(w, coef%h2, coef%B, u, coef%dof%size())
170 h1, G11, G22, G33, G12, G13, G23, ind, n, m, lx)
171 integer,
intent(in) :: n, m, lx
172 integer,
intent(in) :: ind(n)
173 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
174 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
175 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
176 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
177 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
178 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
179 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
180 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
181 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
182 real(kind=
rp),
intent(in) :: dx(lx, lx)
183 real(kind=
rp),
intent(in) :: dy(lx, lx)
184 real(kind=
rp),
intent(in) :: dz(lx, lx)
185 real(kind=
rp),
intent(in) :: dxt(lx, lx)
186 real(kind=
rp),
intent(in) :: dyt(lx, lx)
187 real(kind=
rp),
intent(in) :: dzt(lx, lx)
188 integer :: e, c, i, j, k, jj, kk
189 real(kind=
rp) :: ur(lx, lx, lx, n)
190 real(kind=
rp) :: us(lx, lx, lx, n)
191 real(kind=
rp) :: ut(lx, lx, lx, n)
192 real(kind=
rp) :: uur(lx, lx, lx, n)
193 real(kind=
rp) :: uus(lx, lx, lx, n)
194 real(kind=
rp) :: uut(lx, lx, lx, n)
195 real(kind=
rp) :: wr, ws, wt
198 do jj = 1, lx * lx * n
201 wr = wr + dx(i,kk)*u(kk,jj,1,1)
214 ws = ws + dy(j,kk)*u(i,kk,k,e)
229 wt = wt + dz(k,kk)*u(i,j,kk,e)
237 do i = 1, lx * lx * lx
240 uur(i,1,1,e) = h1(i,1,1,e) * &
241 ( g11(i,1,1,c) * ur(i,1,1,e) &
242 + g12(i,1,1,c) * us(i,1,1,e) &
243 + g13(i,1,1,c) * ut(i,1,1,e))
245 uus(i,1,1,e) = h1(i,1,1,e) * &
246 ( g22(i,1,1,c) * us(i,1,1,e) &
247 + g12(i,1,1,c) * ur(i,1,1,e) &
248 + g23(i,1,1,c) * ut(i,1,1,e) )
250 uut(i,1,1,e) = h1(i,1,1,e) * &
251 ( g33(i,1,1,c) * ut(i,1,1,e) &
252 + g13(i,1,1,c) * ur(i,1,1,e) &
253 + g23(i,1,1,c) * us(i,1,1,e))
258 do jj = 1, lx * lx * n
261 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
274 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
276 w(i,j,k,e) = w(i,j,k,e) + ws
289 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
291 w(i,j,k,e) = w(i,j,k,e) + wt
301 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
302 integer,
parameter :: lx = 14
303 integer,
intent(in) :: n, m
304 integer,
intent(in) :: ind(n)
305 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
306 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
307 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
308 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
309 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
310 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
311 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
312 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
313 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
314 real(kind=
rp),
intent(in) :: dx(lx, lx)
315 real(kind=
rp),
intent(in) :: dy(lx, lx)
316 real(kind=
rp),
intent(in) :: dz(lx, lx)
317 real(kind=
rp),
intent(in) :: dxt(lx, lx)
318 real(kind=
rp),
intent(in) :: dyt(lx, lx)
319 real(kind=
rp),
intent(in) :: dzt(lx, lx)
320 integer :: e, c, i, j, k, jj, kk
321 real(kind=
rp) :: ur(lx, lx, lx, n)
322 real(kind=
rp) :: us(lx, lx, lx, n)
323 real(kind=
rp) :: ut(lx, lx, lx, n)
324 real(kind=
rp) :: uur(lx, lx, lx, n)
325 real(kind=
rp) :: uus(lx, lx, lx, n)
326 real(kind=
rp) :: uut(lx, lx, lx, n)
327 real(kind=
rp) :: wr, ws, wt
330 do jj = 1, lx * lx * n
333 wr = wr + dx(i,kk)*u(kk,jj,1,1)
346 ws = ws + dy(j,kk)*u(i,kk,k,e)
361 wt = wt + dz(k,kk)*u(i,j,kk,e)
369 do i = 1, lx * lx * lx
372 uur(i,1,1,e) = h1(i,1,1,e) * &
373 ( g11(i,1,1,c) * ur(i,1,1,e) &
374 + g12(i,1,1,c) * us(i,1,1,e) &
375 + g13(i,1,1,c) * ut(i,1,1,e))
377 uus(i,1,1,e) = h1(i,1,1,e) * &
378 ( g22(i,1,1,c) * us(i,1,1,e) &
379 + g12(i,1,1,c) * ur(i,1,1,e) &
380 + g23(i,1,1,c) * ut(i,1,1,e) )
382 uut(i,1,1,e) = h1(i,1,1,e) * &
383 ( g33(i,1,1,c) * ut(i,1,1,e) &
384 + g13(i,1,1,c) * ur(i,1,1,e) &
385 + g23(i,1,1,c) * us(i,1,1,e))
390 do jj = 1, lx * lx * n
393 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
406 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
408 w(i,j,k,e) = w(i,j,k,e) + ws
421 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
423 w(i,j,k,e) = w(i,j,k,e) + wt
433 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
434 integer,
parameter :: lx = 13
435 integer,
intent(in) :: n, m
436 integer,
intent(in) :: ind(n)
437 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
438 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
439 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
440 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
441 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
442 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
443 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
444 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
445 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
446 real(kind=
rp),
intent(in) :: dx(lx, lx)
447 real(kind=
rp),
intent(in) :: dy(lx, lx)
448 real(kind=
rp),
intent(in) :: dz(lx, lx)
449 real(kind=
rp),
intent(in) :: dxt(lx, lx)
450 real(kind=
rp),
intent(in) :: dyt(lx, lx)
451 real(kind=
rp),
intent(in) :: dzt(lx, lx)
452 integer :: e, c, i, j, k, jj, kk
453 real(kind=
rp) :: ur(lx, lx, lx, n)
454 real(kind=
rp) :: us(lx, lx, lx, n)
455 real(kind=
rp) :: ut(lx, lx, lx, n)
456 real(kind=
rp) :: uur(lx, lx, lx, n)
457 real(kind=
rp) :: uus(lx, lx, lx, n)
458 real(kind=
rp) :: uut(lx, lx, lx, n)
459 real(kind=
rp) :: wr, ws, wt
462 do jj = 1, lx * lx * n
465 wr = wr + dx(i,kk)*u(kk,jj,1,1)
478 ws = ws + dy(j,kk)*u(i,kk,k,e)
493 wt = wt + dz(k,kk)*u(i,j,kk,e)
501 do i = 1, lx * lx * lx
504 uur(i,1,1,e) = h1(i,1,1,e) * &
505 ( g11(i,1,1,c) * ur(i,1,1,e) &
506 + g12(i,1,1,c) * us(i,1,1,e) &
507 + g13(i,1,1,c) * ut(i,1,1,e))
509 uus(i,1,1,e) = h1(i,1,1,e) * &
510 ( g22(i,1,1,c) * us(i,1,1,e) &
511 + g12(i,1,1,c) * ur(i,1,1,e) &
512 + g23(i,1,1,c) * ut(i,1,1,e) )
514 uut(i,1,1,e) = h1(i,1,1,e) * &
515 ( g33(i,1,1,c) * ut(i,1,1,e) &
516 + g13(i,1,1,c) * ur(i,1,1,e) &
517 + g23(i,1,1,c) * us(i,1,1,e))
522 do jj = 1, lx * lx * n
525 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
538 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
540 w(i,j,k,e) = w(i,j,k,e) + ws
553 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
555 w(i,j,k,e) = w(i,j,k,e) + wt
565 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
566 integer,
parameter :: lx = 12
567 integer,
intent(in) :: n, m
568 integer,
intent(in) :: ind(n)
569 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
570 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
571 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
572 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
573 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
574 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
575 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
576 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
577 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
578 real(kind=
rp),
intent(in) :: dx(lx, lx)
579 real(kind=
rp),
intent(in) :: dy(lx, lx)
580 real(kind=
rp),
intent(in) :: dz(lx, lx)
581 real(kind=
rp),
intent(in) :: dxt(lx, lx)
582 real(kind=
rp),
intent(in) :: dyt(lx, lx)
583 real(kind=
rp),
intent(in) :: dzt(lx, lx)
584 integer :: e, c, i, j, k, jj, kk
585 real(kind=
rp) :: ur(lx, lx, lx, n)
586 real(kind=
rp) :: us(lx, lx, lx, n)
587 real(kind=
rp) :: ut(lx, lx, lx, n)
588 real(kind=
rp) :: uur(lx, lx, lx, n)
589 real(kind=
rp) :: uus(lx, lx, lx, n)
590 real(kind=
rp) :: uut(lx, lx, lx, n)
591 real(kind=
rp) :: wr, ws, wt
594 do jj = 1, lx * lx * n
597 wr = wr + dx(i,kk)*u(kk,jj,1,1)
610 ws = ws + dy(j,kk)*u(i,kk,k,e)
625 wt = wt + dz(k,kk)*u(i,j,kk,e)
633 do i = 1, lx * lx * lx
636 uur(i,1,1,e) = h1(i,1,1,e) * &
637 ( g11(i,1,1,c) * ur(i,1,1,e) &
638 + g12(i,1,1,c) * us(i,1,1,e) &
639 + g13(i,1,1,c) * ut(i,1,1,e))
641 uus(i,1,1,e) = h1(i,1,1,e) * &
642 ( g22(i,1,1,c) * us(i,1,1,e) &
643 + g12(i,1,1,c) * ur(i,1,1,e) &
644 + g23(i,1,1,c) * ut(i,1,1,e) )
646 uut(i,1,1,e) = h1(i,1,1,e) * &
647 ( g33(i,1,1,c) * ut(i,1,1,e) &
648 + g13(i,1,1,c) * ur(i,1,1,e) &
649 + g23(i,1,1,c) * us(i,1,1,e))
654 do jj = 1, lx * lx * n
657 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
670 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
672 w(i,j,k,e) = w(i,j,k,e) + ws
685 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
687 w(i,j,k,e) = w(i,j,k,e) + wt
697 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
698 integer,
parameter :: lx = 11
699 integer,
intent(in) :: n, m
700 integer,
intent(in) :: ind(n)
701 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
702 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
703 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
704 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
705 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
706 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
707 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
708 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
709 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
710 real(kind=
rp),
intent(in) :: dx(lx, lx)
711 real(kind=
rp),
intent(in) :: dy(lx, lx)
712 real(kind=
rp),
intent(in) :: dz(lx, lx)
713 real(kind=
rp),
intent(in) :: dxt(lx, lx)
714 real(kind=
rp),
intent(in) :: dyt(lx, lx)
715 real(kind=
rp),
intent(in) :: dzt(lx, lx)
716 integer :: e, c, i, j, k, jj, kk
717 real(kind=
rp) :: ur(lx, lx, lx, n)
718 real(kind=
rp) :: us(lx, lx, lx, n)
719 real(kind=
rp) :: ut(lx, lx, lx, n)
720 real(kind=
rp) :: uur(lx, lx, lx, n)
721 real(kind=
rp) :: uus(lx, lx, lx, n)
722 real(kind=
rp) :: uut(lx, lx, lx, n)
723 real(kind=
rp) :: wr, ws, wt
726 do jj = 1, lx * lx * n
729 wr = wr + dx(i,kk)*u(kk,jj,1,1)
742 ws = ws + dy(j,kk)*u(i,kk,k,e)
757 wt = wt + dz(k,kk)*u(i,j,kk,e)
765 do i = 1, lx * lx * lx
768 uur(i,1,1,e) = h1(i,1,1,e) * &
769 ( g11(i,1,1,c) * ur(i,1,1,e) &
770 + g12(i,1,1,c) * us(i,1,1,e) &
771 + g13(i,1,1,c) * ut(i,1,1,e))
773 uus(i,1,1,e) = h1(i,1,1,e) * &
774 ( g22(i,1,1,c) * us(i,1,1,e) &
775 + g12(i,1,1,c) * ur(i,1,1,e) &
776 + g23(i,1,1,c) * ut(i,1,1,e) )
778 uut(i,1,1,e) = h1(i,1,1,e) * &
779 ( g33(i,1,1,c) * ut(i,1,1,e) &
780 + g13(i,1,1,c) * ur(i,1,1,e) &
781 + g23(i,1,1,c) * us(i,1,1,e))
786 do jj = 1, lx * lx * n
789 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
802 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
804 w(i,j,k,e) = w(i,j,k,e) + ws
817 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
819 w(i,j,k,e) = w(i,j,k,e) + wt
829 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
830 integer,
parameter :: lx = 10
831 integer,
intent(in) :: n, m
832 integer,
intent(in) :: ind(n)
833 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
834 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
835 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
836 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
837 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
838 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
839 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
840 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
841 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
842 real(kind=
rp),
intent(in) :: dx(lx, lx)
843 real(kind=
rp),
intent(in) :: dy(lx, lx)
844 real(kind=
rp),
intent(in) :: dz(lx, lx)
845 real(kind=
rp),
intent(in) :: dxt(lx, lx)
846 real(kind=
rp),
intent(in) :: dyt(lx, lx)
847 real(kind=
rp),
intent(in) :: dzt(lx, lx)
848 integer :: e, c, i, j, k, jj, kk
849 real(kind=
rp) :: ur(lx, lx, lx, n)
850 real(kind=
rp) :: us(lx, lx, lx, n)
851 real(kind=
rp) :: ut(lx, lx, lx, n)
852 real(kind=
rp) :: uur(lx, lx, lx, n)
853 real(kind=
rp) :: uus(lx, lx, lx, n)
854 real(kind=
rp) :: uut(lx, lx, lx, n)
855 real(kind=
rp) :: wr, ws, wt
858 do jj = 1, lx * lx * n
861 wr = wr + dx(i,kk)*u(kk,jj,1,1)
874 ws = ws + dy(j,kk)*u(i,kk,k,e)
889 wt = wt + dz(k,kk)*u(i,j,kk,e)
897 do i = 1, lx * lx * lx
900 uur(i,1,1,e) = h1(i,1,1,e) * &
901 ( g11(i,1,1,c) * ur(i,1,1,e) &
902 + g12(i,1,1,c) * us(i,1,1,e) &
903 + g13(i,1,1,c) * ut(i,1,1,e))
905 uus(i,1,1,e) = h1(i,1,1,e) * &
906 ( g22(i,1,1,c) * us(i,1,1,e) &
907 + g12(i,1,1,c) * ur(i,1,1,e) &
908 + g23(i,1,1,c) * ut(i,1,1,e) )
910 uut(i,1,1,e) = h1(i,1,1,e) * &
911 ( g33(i,1,1,c) * ut(i,1,1,e) &
912 + g13(i,1,1,c) * ur(i,1,1,e) &
913 + g23(i,1,1,c) * us(i,1,1,e))
918 do jj = 1, lx * lx * n
921 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
934 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
936 w(i,j,k,e) = w(i,j,k,e) + ws
949 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
951 w(i,j,k,e) = w(i,j,k,e) + wt
961 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
962 integer,
parameter :: lx = 9
963 integer,
intent(in) :: n, m
964 integer,
intent(in) :: ind(n)
965 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
966 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
967 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
968 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
969 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
970 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
971 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
972 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
973 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
974 real(kind=
rp),
intent(in) :: dx(lx, lx)
975 real(kind=
rp),
intent(in) :: dy(lx, lx)
976 real(kind=
rp),
intent(in) :: dz(lx, lx)
977 real(kind=
rp),
intent(in) :: dxt(lx, lx)
978 real(kind=
rp),
intent(in) :: dyt(lx, lx)
979 real(kind=
rp),
intent(in) :: dzt(lx, lx)
980 integer :: e, c, i, j, k, jj, kk
981 real(kind=
rp) :: ur(lx, lx, lx, n)
982 real(kind=
rp) :: us(lx, lx, lx, n)
983 real(kind=
rp) :: ut(lx, lx, lx, n)
984 real(kind=
rp) :: uur(lx, lx, lx, n)
985 real(kind=
rp) :: uus(lx, lx, lx, n)
986 real(kind=
rp) :: uut(lx, lx, lx, n)
987 real(kind=
rp) :: wr, ws, wt
990 do jj = 1, lx * lx * n
993 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1006 ws = ws + dy(j,kk)*u(i,kk,k,e)
1021 wt = wt + dz(k,kk)*u(i,j,kk,e)
1029 do i = 1, lx * lx * lx
1032 uur(i,1,1,e) = h1(i,1,1,e) * &
1033 ( g11(i,1,1,c) * ur(i,1,1,e) &
1034 + g12(i,1,1,c) * us(i,1,1,e) &
1035 + g13(i,1,1,c) * ut(i,1,1,e))
1037 uus(i,1,1,e) = h1(i,1,1,e) * &
1038 ( g22(i,1,1,c) * us(i,1,1,e) &
1039 + g12(i,1,1,c) * ur(i,1,1,e) &
1040 + g23(i,1,1,c) * ut(i,1,1,e) )
1042 uut(i,1,1,e) = h1(i,1,1,e) * &
1043 ( g33(i,1,1,c) * ut(i,1,1,e) &
1044 + g13(i,1,1,c) * ur(i,1,1,e) &
1045 + g23(i,1,1,c) * us(i,1,1,e))
1050 do jj = 1, lx * lx * n
1053 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
1066 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
1068 w(i,j,k,e) = w(i,j,k,e) + ws
1081 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
1083 w(i,j,k,e) = w(i,j,k,e) + wt
1093 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1094 integer,
parameter :: lx = 8
1095 integer,
intent(in) :: n, m
1096 integer,
intent(in) :: ind(n)
1097 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1098 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1099 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1100 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1101 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1102 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1103 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1104 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1105 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1106 real(kind=
rp),
intent(in) :: dx(lx, lx)
1107 real(kind=
rp),
intent(in) :: dy(lx, lx)
1108 real(kind=
rp),
intent(in) :: dz(lx, lx)
1109 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1110 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1111 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1112 integer :: e, c, i, j, k, jj, kk
1113 real(kind=
rp) :: ur(lx, lx, lx, n)
1114 real(kind=
rp) :: us(lx, lx, lx, n)
1115 real(kind=
rp) :: ut(lx, lx, lx, n)
1116 real(kind=
rp) :: uur(lx, lx, lx, n)
1117 real(kind=
rp) :: uus(lx, lx, lx, n)
1118 real(kind=
rp) :: uut(lx, lx, lx, n)
1119 real(kind=
rp) :: wr, ws, wt
1122 do jj = 1, lx * lx * n
1125 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1138 ws = ws + dy(j,kk)*u(i,kk,k,e)
1153 wt = wt + dz(k,kk)*u(i,j,kk,e)
1161 do i = 1, lx * lx * lx
1164 uur(i,1,1,e) = h1(i,1,1,e) * &
1165 ( g11(i,1,1,c) * ur(i,1,1,e) &
1166 + g12(i,1,1,c) * us(i,1,1,e) &
1167 + g13(i,1,1,c) * ut(i,1,1,e))
1169 uus(i,1,1,e) = h1(i,1,1,e) * &
1170 ( g22(i,1,1,c) * us(i,1,1,e) &
1171 + g12(i,1,1,c) * ur(i,1,1,e) &
1172 + g23(i,1,1,c) * ut(i,1,1,e) )
1174 uut(i,1,1,e) = h1(i,1,1,e) * &
1175 ( g33(i,1,1,c) * ut(i,1,1,e) &
1176 + g13(i,1,1,c) * ur(i,1,1,e) &
1177 + g23(i,1,1,c) * us(i,1,1,e))
1182 do jj = 1, lx * lx * n
1185 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
1198 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
1200 w(i,j,k,e) = w(i,j,k,e) + ws
1213 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
1215 w(i,j,k,e) = w(i,j,k,e) + wt
1225 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1226 integer,
parameter :: lx = 7
1227 integer,
intent(in) :: n, m
1228 integer,
intent(in) :: ind(n)
1229 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1230 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1231 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1232 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1233 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1234 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1235 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1236 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1237 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1238 real(kind=
rp),
intent(in) :: dx(lx, lx)
1239 real(kind=
rp),
intent(in) :: dy(lx, lx)
1240 real(kind=
rp),
intent(in) :: dz(lx, lx)
1241 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1242 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1243 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1244 integer :: e, c, i, j, k, jj, kk
1245 real(kind=
rp) :: ur(lx, lx, lx, n)
1246 real(kind=
rp) :: us(lx, lx, lx, n)
1247 real(kind=
rp) :: ut(lx, lx, lx, n)
1248 real(kind=
rp) :: uur(lx, lx, lx, n)
1249 real(kind=
rp) :: uus(lx, lx, lx, n)
1250 real(kind=
rp) :: uut(lx, lx, lx, n)
1251 real(kind=
rp) :: wr, ws, wt
1254 do jj = 1, lx * lx * n
1257 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1270 ws = ws + dy(j,kk)*u(i,kk,k,e)
1285 wt = wt + dz(k,kk)*u(i,j,kk,e)
1293 do i = 1, lx * lx * lx
1296 uur(i,1,1,e) = h1(i,1,1,e) * &
1297 ( g11(i,1,1,c) * ur(i,1,1,e) &
1298 + g12(i,1,1,c) * us(i,1,1,e) &
1299 + g13(i,1,1,c) * ut(i,1,1,e))
1301 uus(i,1,1,e) = h1(i,1,1,e) * &
1302 ( g22(i,1,1,c) * us(i,1,1,e) &
1303 + g12(i,1,1,c) * ur(i,1,1,e) &
1304 + g23(i,1,1,c) * ut(i,1,1,e) )
1306 uut(i,1,1,e) = h1(i,1,1,e) * &
1307 ( g33(i,1,1,c) * ut(i,1,1,e) &
1308 + g13(i,1,1,c) * ur(i,1,1,e) &
1309 + g23(i,1,1,c) * us(i,1,1,e))
1314 do jj = 1, lx * lx * n
1317 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
1330 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
1332 w(i,j,k,e) = w(i,j,k,e) + ws
1345 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
1347 w(i,j,k,e) = w(i,j,k,e) + wt
1357 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1358 integer,
parameter :: lx = 6
1359 integer,
intent(in) :: n, m
1360 integer,
intent(in) :: ind(n)
1361 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1362 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1363 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1364 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1365 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1366 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1367 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1368 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1369 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1370 real(kind=
rp),
intent(in) :: dx(lx, lx)
1371 real(kind=
rp),
intent(in) :: dy(lx, lx)
1372 real(kind=
rp),
intent(in) :: dz(lx, lx)
1373 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1374 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1375 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1376 integer :: e, c, i, j, k, jj, kk
1377 real(kind=
rp) :: ur(lx, lx, lx, n)
1378 real(kind=
rp) :: us(lx, lx, lx, n)
1379 real(kind=
rp) :: ut(lx, lx, lx, n)
1380 real(kind=
rp) :: uur(lx, lx, lx, n)
1381 real(kind=
rp) :: uus(lx, lx, lx, n)
1382 real(kind=
rp) :: uut(lx, lx, lx, n)
1383 real(kind=
rp) :: wr, ws, wt
1386 do jj = 1, lx * lx * n
1389 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1402 ws = ws + dy(j,kk)*u(i,kk,k,e)
1417 wt = wt + dz(k,kk)*u(i,j,kk,e)
1425 do i = 1, lx * lx * lx
1428 uur(i,1,1,e) = h1(i,1,1,e) * &
1429 ( g11(i,1,1,c) * ur(i,1,1,e) &
1430 + g12(i,1,1,c) * us(i,1,1,e) &
1431 + g13(i,1,1,c) * ut(i,1,1,e))
1433 uus(i,1,1,e) = h1(i,1,1,e) * &
1434 ( g22(i,1,1,c) * us(i,1,1,e) &
1435 + g12(i,1,1,c) * ur(i,1,1,e) &
1436 + g23(i,1,1,c) * ut(i,1,1,e) )
1438 uut(i,1,1,e) = h1(i,1,1,e) * &
1439 ( g33(i,1,1,c) * ut(i,1,1,e) &
1440 + g13(i,1,1,c) * ur(i,1,1,e) &
1441 + g23(i,1,1,c) * us(i,1,1,e))
1446 do jj = 1, lx * lx * n
1449 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
1462 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
1464 w(i,j,k,e) = w(i,j,k,e) + ws
1477 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
1479 w(i,j,k,e) = w(i,j,k,e) + wt
1489 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1490 integer,
parameter :: lx = 5
1491 integer,
intent(in) :: n, m
1492 integer,
intent(in) :: ind(n)
1493 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1494 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1495 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1496 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1497 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1498 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1499 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1500 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1501 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1502 real(kind=
rp),
intent(in) :: dx(lx, lx)
1503 real(kind=
rp),
intent(in) :: dy(lx, lx)
1504 real(kind=
rp),
intent(in) :: dz(lx, lx)
1505 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1506 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1507 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1508 integer :: e, c, i, j, k, jj, kk
1509 real(kind=
rp) :: ur(lx, lx, lx, n)
1510 real(kind=
rp) :: us(lx, lx, lx, n)
1511 real(kind=
rp) :: ut(lx, lx, lx, n)
1512 real(kind=
rp) :: uur(lx, lx, lx, n)
1513 real(kind=
rp) :: uus(lx, lx, lx, n)
1514 real(kind=
rp) :: uut(lx, lx, lx, n)
1515 real(kind=
rp) :: wr, ws, wt
1518 do jj = 1, lx * lx * n
1521 wr = wr + dx(i,kk)*u(kk,jj,1,1)
1534 ws = ws + dy(j,kk)*u(i,kk,k,e)
1549 wt = wt + dz(k,kk)*u(i,j,kk,e)
1557 do i = 1, lx * lx * lx
1560 uur(i,1,1,e) = h1(i,1,1,e) * &
1561 ( g11(i,1,1,c) * ur(i,1,1,e) &
1562 + g12(i,1,1,c) * us(i,1,1,e) &
1563 + g13(i,1,1,c) * ut(i,1,1,e))
1565 uus(i,1,1,e) = h1(i,1,1,e) * &
1566 ( g22(i,1,1,c) * us(i,1,1,e) &
1567 + g12(i,1,1,c) * ur(i,1,1,e) &
1568 + g23(i,1,1,c) * ut(i,1,1,e) )
1570 uut(i,1,1,e) = h1(i,1,1,e) * &
1571 ( g33(i,1,1,c) * ut(i,1,1,e) &
1572 + g13(i,1,1,c) * ur(i,1,1,e) &
1573 + g23(i,1,1,c) * us(i,1,1,e))
1578 do jj = 1, lx * lx * n
1581 wr = wr + dxt(i,kk) * uur(kk,jj,1,1)
1594 ws = ws + dyt(j, kk)*uus(i,kk,k,e)
1596 w(i,j,k,e) = w(i,j,k,e) + ws
1609 wt = wt + dzt(k, kk)*uut(i,j,kk,e)
1611 w(i,j,k,e) = w(i,j,k,e) + wt
1621 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1622 integer,
parameter :: lx = 4
1623 integer,
intent(in) :: n, m
1624 integer,
intent(in) :: ind(n)
1625 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1626 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1627 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1628 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1629 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1630 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1631 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1632 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1633 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1634 real(kind=
rp),
intent(in) :: dx(lx, lx)
1635 real(kind=
rp),
intent(in) :: dy(lx, lx)
1636 real(kind=
rp),
intent(in) :: dz(lx, lx)
1637 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1638 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1639 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1640 integer :: e, c, i, j, k, jj
1641 real(kind=
rp) :: ur(lx, lx, lx, n)
1642 real(kind=
rp) :: us(lx, lx, lx, n)
1643 real(kind=
rp) :: ut(lx, lx, lx, n)
1644 real(kind=
rp) :: uur(lx, lx, lx, n)
1645 real(kind=
rp) :: uus(lx, lx, lx, n)
1646 real(kind=
rp) :: uut(lx, lx, lx, n)
1649 do jj = 1, lx * lx * n
1650 ur(i,jj,1,1) = dx(i,1)*u(1,jj,1,1) &
1651 + dx(i,2)*u(2,jj,1,1) &
1652 + dx(i,3)*u(3,jj,1,1) &
1653 + dx(i,4)*u(4,jj,1,1)
1662 us(i,j,k,e) = dy(j,1) * u(i,1,k,e) &
1663 + dy(j,2) * u(i,2,k,e) &
1664 + dy(j,3) * u(i,3,k,e) &
1665 + dy(j,4) * u(i,4,k,e)
1677 ut(i,j,k,e) = dz(k,1) * u(i,j,1,e) &
1678 + dz(k,2) * u(i,j,2,e) &
1679 + dz(k,3) * u(i,j,3,e) &
1680 + dz(k,4) * u(i,j,4,e)
1686 do i = 1, lx * lx * lx
1689 uur(i,1,1,e) = h1(i,1,1,e) * &
1690 ( g11(i,1,1,c) * ur(i,1,1,e) &
1691 + g12(i,1,1,c) * us(i,1,1,e) &
1692 + g13(i,1,1,c) * ut(i,1,1,e))
1694 uus(i,1,1,e) = h1(i,1,1,e) * &
1695 ( g22(i,1,1,c) * us(i,1,1,e) &
1696 + g12(i,1,1,c) * ur(i,1,1,e) &
1697 + g23(i,1,1,c) * ut(i,1,1,e) )
1699 uut(i,1,1,e) = h1(i,1,1,e) * &
1700 ( g33(i,1,1,c) * ut(i,1,1,e) &
1701 + g13(i,1,1,c) * ur(i,1,1,e) &
1702 + g23(i,1,1,c) * us(i,1,1,e))
1707 do jj = 1, lx * lx * n
1708 w(i,jj,1,1) = dxt(i,1) * uur(1,jj,1,1) &
1709 + dxt(i,2) * uur(2,jj,1,1) &
1710 + dxt(i,3) * uur(3,jj,1,1) &
1711 + dxt(i,4) * uur(4,jj,1,1)
1719 w(i,j,k,e) = w(i,j,k,e) + dyt(j,1) * uus(i,1,k,e) &
1720 + dyt(j,2) * uus(i,2,k,e) &
1721 + dyt(j,3) * uus(i,3,k,e) &
1722 + dyt(j,4) * uus(i,4,k,e)
1732 w(i,j,k,e) = w(i,j,k,e) + dzt(k,1) * uut(i,j,1,e) &
1733 + dzt(k,2) * uut(i,j,2,e) &
1734 + dzt(k,3) * uut(i,j,3,e) &
1735 + dzt(k,4) * uut(i,j,4,e)
1744 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1745 integer,
parameter :: lx = 3
1746 integer,
intent(in) :: n, m
1747 integer,
intent(in) :: ind(n)
1748 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1749 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1750 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1751 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1752 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1753 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1754 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1755 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1756 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1757 real(kind=
rp),
intent(in) :: dx(lx, lx)
1758 real(kind=
rp),
intent(in) :: dy(lx, lx)
1759 real(kind=
rp),
intent(in) :: dz(lx, lx)
1760 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1761 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1762 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1763 integer :: e, c, i, j, k, jj
1764 real(kind=
rp) :: ur(lx, lx, lx, n)
1765 real(kind=
rp) :: us(lx, lx, lx, n)
1766 real(kind=
rp) :: ut(lx, lx, lx, n)
1767 real(kind=
rp) :: uur(lx, lx, lx, n)
1768 real(kind=
rp) :: uus(lx, lx, lx, n)
1769 real(kind=
rp) :: uut(lx, lx, lx, n)
1772 do jj = 1, lx * lx * n
1773 ur(i,jj,1,1) = dx(i,1)*u(1,jj,1,1) &
1774 + dx(i,2)*u(2,jj,1,1) &
1775 + dx(i,3)*u(3,jj,1,1)
1784 us(i,j,k,e) = dy(j,1) * u(i,1,k,e) &
1785 + dy(j,2) * u(i,2,k,e) &
1786 + dy(j,3) * u(i,3,k,e)
1798 ut(i,j,k,e) = dz(k,1) * u(i,j,1,e) &
1799 + dz(k,2) * u(i,j,2,e) &
1800 + dz(k,3) * u(i,j,3,e)
1806 do i = 1, lx * lx * lx
1809 uur(i,1,1,e) = h1(i,1,1,e) * &
1810 ( g11(i,1,1,c) * ur(i,1,1,e) &
1811 + g12(i,1,1,c) * us(i,1,1,e) &
1812 + g13(i,1,1,c) * ut(i,1,1,e))
1814 uus(i,1,1,e) = h1(i,1,1,e) * &
1815 ( g22(i,1,1,c) * us(i,1,1,e) &
1816 + g12(i,1,1,c) * ur(i,1,1,e) &
1817 + g23(i,1,1,c) * ut(i,1,1,e) )
1819 uut(i,1,1,e) = h1(i,1,1,e) * &
1820 ( g33(i,1,1,c) * ut(i,1,1,e) &
1821 + g13(i,1,1,c) * ur(i,1,1,e) &
1822 + g23(i,1,1,c) * us(i,1,1,e))
1827 do jj = 1, lx * lx * n
1828 w(i,jj,1,1) = dxt(i,1) * uur(1,jj,1,1) &
1829 + dxt(i,2) * uur(2,jj,1,1) &
1830 + dxt(i,3) * uur(3,jj,1,1)
1838 w(i,j,k,e) = w(i,j,k,e) + dyt(j,1) * uus(i,1,k,e) &
1839 + dyt(j,2) * uus(i,2,k,e) &
1840 + dyt(j,3) * uus(i,3,k,e)
1850 w(i,j,k,e) = w(i,j,k,e) + dzt(k,1) * uut(i,j,1,e) &
1851 + dzt(k,2) * uut(i,j,2,e) &
1852 + dzt(k,3) * uut(i,j,3,e)
1861 h1, G11, G22, G33, G12, G13, G23, ind, n, m)
1862 integer,
parameter :: lx = 2
1863 integer,
intent(in) :: n, m
1864 integer,
intent(in) :: ind(n)
1865 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1866 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1867 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1868 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, m)
1869 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, m)
1870 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, m)
1871 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, m)
1872 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, m)
1873 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, m)
1874 real(kind=
rp),
intent(in) :: dx(lx, lx)
1875 real(kind=
rp),
intent(in) :: dy(lx, lx)
1876 real(kind=
rp),
intent(in) :: dz(lx, lx)
1877 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1878 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1879 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1880 integer :: e, c, i, j, k, jj
1881 real(kind=
rp) :: ur(lx, lx, lx, n)
1882 real(kind=
rp) :: us(lx, lx, lx, n)
1883 real(kind=
rp) :: ut(lx, lx, lx, n)
1884 real(kind=
rp) :: uur(lx, lx, lx, n)
1885 real(kind=
rp) :: uus(lx, lx, lx, n)
1886 real(kind=
rp) :: uut(lx, lx, lx, n)
1889 do jj = 1, lx * lx * n
1890 ur(i,jj,1,1) = dx(i,1) * u(1,jj,1,1) &
1891 + dx(i,2) * u(2,jj,1,1)
1899 us(i,j,k,e) = dy(j,1) * u(i,1,k,e) &
1900 + dy(j,2) * u(i,2,k,e)
1910 ut(i,j,k,e) = dz(k,1) * u(i,j,1,e) &
1911 + dz(k,2) * u(i,j,2,e)
1917 do i = 1, lx * lx * lx
1920 uur(i,1,1,e) = h1(i,1,1,e) * &
1921 ( g11(i,1,1,c) * ur(i,1,1,e) &
1922 + g12(i,1,1,c) * us(i,1,1,e) &
1923 + g13(i,1,1,c) * ut(i,1,1,e))
1925 uus(i,1,1,e) = h1(i,1,1,e) * &
1926 ( g22(i,1,1,c) * us(i,1,1,e) &
1927 + g12(i,1,1,c) * ur(i,1,1,e) &
1928 + g23(i,1,1,c) * ut(i,1,1,e) )
1930 uut(i,1,1,e) = h1(i,1,1,e) * &
1931 ( g33(i,1,1,c) * ut(i,1,1,e) &
1932 + g13(i,1,1,c) * ur(i,1,1,e) &
1933 + g23(i,1,1,c) * us(i,1,1,e))
1938 do jj = 1, lx * lx * n
1939 w(i,jj,1,1) = dxt(i,1) * uur(1,jj,1,1) &
1940 + dxt(i,2) * uur(2,jj,1,1)
1948 w(i,j,k,e) = w(i,j,k,e) + dyt(j,1) * uus(i,1,k,e) &
1949 + dyt(j,2) * uus(i,2,k,e)
1959 w(i,j,k,e) = w(i,j,k,e) + dzt(k,1) * uut(i,j,1,e) &
1960 + dzt(k,2) * uut(i,j,2,e)