67 type(
mesh_t),
intent(in) :: msh
69 type(
coef_t),
intent(in) :: coef
70 real(kind=
rp),
intent(in) :: u(xh%lx, xh%ly, xh%lz, msh%nelv)
71 real(kind=
rp),
intent(in) :: v(xh%lx, xh%ly, xh%lz, msh%nelv)
72 real(kind=
rp),
intent(in) :: w(xh%lx, xh%ly, xh%lz, msh%nelv)
73 real(kind=
rp),
intent(inout) :: au(xh%lx, xh%ly, xh%lz, msh%nelv)
74 real(kind=
rp),
intent(inout) :: av(xh%lx, xh%ly, xh%lz, msh%nelv)
75 real(kind=
rp),
intent(inout) :: aw(xh%lx, xh%ly, xh%lz, msh%nelv)
81 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
82 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
83 coef%dtdx, coef%dtdy, coef%dtdz, &
84 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
87 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
88 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
89 coef%dtdx, coef%dtdy, coef%dtdz, &
90 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
93 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
94 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
95 coef%dtdx, coef%dtdy, coef%dtdz, &
96 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
99 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
100 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
101 coef%dtdx, coef%dtdy, coef%dtdz, &
102 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
105 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
106 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
107 coef%dtdx, coef%dtdy, coef%dtdz, &
108 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
111 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
112 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
113 coef%dtdx, coef%dtdy, coef%dtdz, &
114 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
117 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
118 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
119 coef%dtdx, coef%dtdy, coef%dtdz, &
120 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
123 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
124 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
125 coef%dtdx, coef%dtdy, coef%dtdz, &
126 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
129 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
130 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
131 coef%dtdx, coef%dtdy, coef%dtdz, &
132 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
135 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
136 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
137 coef%dtdx, coef%dtdy, coef%dtdz, &
138 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
141 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
142 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
143 coef%dtdx, coef%dtdy, coef%dtdz, &
144 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
147 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
148 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
149 coef%dtdx, coef%dtdy, coef%dtdz, &
150 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
153 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
154 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
155 coef%dtdx, coef%dtdy, coef%dtdz, &
156 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv)
159 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
160 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
161 coef%dtdx, coef%dtdy, coef%dtdz, &
162 coef%B, coef%ifh2, coef%jacinv, xh%w3, msh%nelv, xh%lx)
168 subroutine ax_helm_stress_lx(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, &
169 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
170 B, ifh2, jacinv, weights3, n, lx)
172 integer,
intent(in) :: n, lx
173 logical,
intent(in) :: ifh2
174 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
175 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
176 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
177 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
178 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
179 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
180 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
181 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
182 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
183 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
184 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
185 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
186 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
187 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
188 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
189 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
190 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
191 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
192 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
193 real(kind=
rp),
intent(in) :: dx(lx, lx)
194 real(kind=
rp),
intent(in) :: dy(lx, lx)
195 real(kind=
rp),
intent(in) :: dz(lx, lx)
196 real(kind=
rp),
intent(in) :: dxt(lx, lx)
197 real(kind=
rp),
intent(in) :: dyt(lx, lx)
198 real(kind=
rp),
intent(in) :: dzt(lx, lx)
199 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
201 real(kind=
rp) :: wur(lx, lx, lx)
202 real(kind=
rp) :: wus(lx, lx, lx)
203 real(kind=
rp) :: wut(lx, lx, lx)
204 real(kind=
rp) :: wvr(lx, lx, lx)
205 real(kind=
rp) :: wvs(lx, lx, lx)
206 real(kind=
rp) :: wvt(lx, lx, lx)
207 real(kind=
rp) :: wwr(lx, lx, lx)
208 real(kind=
rp) :: wws(lx, lx, lx)
209 real(kind=
rp) :: wwt(lx, lx, lx)
211 integer :: e, i, j, k, l
212 real(kind=
rp) :: dj, t1, t2, t3
213 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
214 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
225 t1 = t1 + dx(i,k) * u(k,j,1,e)
226 t2 = t2 + dx(i,k) * v(k,j,1,e)
227 t3 = t3 + dx(i,k) * w(k,j,1,e)
242 t1 = t1 + dy(j,l) * u(i,l,k,e)
243 t2 = t2 + dy(j,l) * v(i,l,k,e)
244 t3 = t3 + dy(j,l) * w(i,l,k,e)
259 t1 = t1 + dz(k,l) * u(i,1,l,e)
260 t2 = t2 + dz(k,l) * v(i,1,l,e)
261 t3 = t3 + dz(k,l) * w(i,1,l,e)
271 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
272 + wut(i,1,1) * dtdx(i,1,1,e)
273 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
274 + wut(i,1,1) * dtdy(i,1,1,e)
275 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
276 + wut(i,1,1) * dtdz(i,1,1,e)
278 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
279 + wvt(i,1,1) * dtdx(i,1,1,e)
280 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
281 + wvt(i,1,1) * dtdy(i,1,1,e)
282 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
283 + wvt(i,1,1) * dtdz(i,1,1,e)
285 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
286 + wwt(i,1,1) * dtdx(i,1,1,e)
287 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
288 + wwt(i,1,1) * dtdy(i,1,1,e)
289 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
290 + wwt(i,1,1) * dtdz(i,1,1,e)
292 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
300 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
301 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
302 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
304 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
305 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
306 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
308 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
309 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
310 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
319 t1 = t1 + dxt(i,k) * wur(k,j,1)
320 t2 = t2 + dxt(i,k) * wvr(k,j,1)
321 t3 = t3 + dxt(i,k) * wwr(k,j,1)
336 t1 = t1 + dyt(j,l) * wus(i,l,k)
337 t2 = t2 + dyt(j,l) * wvs(i,l,k)
338 t3 = t3 + dyt(j,l) * wws(i,l,k)
340 au(i,j,k,e) = au(i,j,k,e) + t1
341 av(i,j,k,e) = av(i,j,k,e) + t2
342 aw(i,j,k,e) = aw(i,j,k,e) + t3
354 t1 = t1 + dzt(k,l) * wut(i,1,l)
355 t2 = t2 + dzt(k,l) * wvt(i,1,l)
356 t3 = t3 + dzt(k,l) * wwt(i,1,l)
358 au(i,1,k,e) = au(i,1,k,e) + t1 &
359 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
360 av(i,1,k,e) = av(i,1,k,e) + t2 &
361 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
362 aw(i,1,k,e) = aw(i,1,k,e) + t3 &
363 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
373 t1 = t1 + dzt(k,l) * wut(i,1,l)
374 t2 = t2 + dzt(k,l) * wvt(i,1,l)
375 t3 = t3 + dzt(k,l) * wwt(i,1,l)
377 au(i,1,k,e) = au(i,1,k,e) + t1
378 av(i,1,k,e) = av(i,1,k,e) + t2
379 aw(i,1,k,e) = aw(i,1,k,e) + t3
389 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
390 B, ifh2, jacinv, weights3, n)
391 integer,
parameter :: lx = 14
392 integer,
intent(in) :: n
393 logical,
intent(in) :: ifh2
394 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
395 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
396 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
397 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
398 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
399 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
400 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
401 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
402 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
403 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
404 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
405 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
406 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
407 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
408 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
409 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
410 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
411 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
412 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
413 real(kind=
rp),
intent(in) :: dx(lx, lx)
414 real(kind=
rp),
intent(in) :: dy(lx, lx)
415 real(kind=
rp),
intent(in) :: dz(lx, lx)
416 real(kind=
rp),
intent(in) :: dxt(lx, lx)
417 real(kind=
rp),
intent(in) :: dyt(lx, lx)
418 real(kind=
rp),
intent(in) :: dzt(lx, lx)
419 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
421 real(kind=
rp) :: wur(lx, lx, lx)
422 real(kind=
rp) :: wus(lx, lx, lx)
423 real(kind=
rp) :: wut(lx, lx, lx)
424 real(kind=
rp) :: wvr(lx, lx, lx)
425 real(kind=
rp) :: wvs(lx, lx, lx)
426 real(kind=
rp) :: wvt(lx, lx, lx)
427 real(kind=
rp) :: wwr(lx, lx, lx)
428 real(kind=
rp) :: wws(lx, lx, lx)
429 real(kind=
rp) :: wwt(lx, lx, lx)
431 integer :: e, i, j, k, l
433 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
434 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
441 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
442 + dx(i,2) * u(2,j,1,e) &
443 + dx(i,3) * u(3,j,1,e) &
444 + dx(i,4) * u(4,j,1,e) &
445 + dx(i,5) * u(5,j,1,e) &
446 + dx(i,6) * u(6,j,1,e) &
447 + dx(i,7) * u(7,j,1,e) &
448 + dx(i,8) * u(8,j,1,e) &
449 + dx(i,9) * u(9,j,1,e) &
450 + dx(i,10) * u(10,j,1,e) &
451 + dx(i,11) * u(11,j,1,e) &
452 + dx(i,12) * u(12,j,1,e) &
453 + dx(i,13) * u(13,j,1,e) &
454 + dx(i,14) * u(14,j,1,e)
456 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
457 + dx(i,2) * v(2,j,1,e) &
458 + dx(i,3) * v(3,j,1,e) &
459 + dx(i,4) * v(4,j,1,e) &
460 + dx(i,5) * v(5,j,1,e) &
461 + dx(i,6) * v(6,j,1,e) &
462 + dx(i,7) * v(7,j,1,e) &
463 + dx(i,8) * v(8,j,1,e) &
464 + dx(i,9) * v(9,j,1,e) &
465 + dx(i,10) * v(10,j,1,e) &
466 + dx(i,11) * v(11,j,1,e) &
467 + dx(i,12) * v(12,j,1,e) &
468 + dx(i,13) * v(13,j,1,e) &
469 + dx(i,14) * v(14,j,1,e)
471 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
472 + dx(i,2) * w(2,j,1,e) &
473 + dx(i,3) * w(3,j,1,e) &
474 + dx(i,4) * w(4,j,1,e) &
475 + dx(i,5) * w(5,j,1,e) &
476 + dx(i,6) * w(6,j,1,e) &
477 + dx(i,7) * w(7,j,1,e) &
478 + dx(i,8) * w(8,j,1,e) &
479 + dx(i,9) * w(9,j,1,e) &
480 + dx(i,10) * w(10,j,1,e) &
481 + dx(i,11) * w(11,j,1,e) &
482 + dx(i,12) * w(12,j,1,e) &
483 + dx(i,13) * w(13,j,1,e) &
484 + dx(i,14) * w(14,j,1,e)
491 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
492 + dy(j,2) * u(i,2,k,e) &
493 + dy(j,3) * u(i,3,k,e) &
494 + dy(j,4) * u(i,4,k,e) &
495 + dy(j,5) * u(i,5,k,e) &
496 + dy(j,6) * u(i,6,k,e) &
497 + dy(j,7) * u(i,7,k,e) &
498 + dy(j,8) * u(i,8,k,e) &
499 + dy(j,9) * u(i,9,k,e) &
500 + dy(j,10) * u(i,10,k,e) &
501 + dy(j,11) * u(i,11,k,e) &
502 + dy(j,12) * u(i,12,k,e) &
503 + dy(j,13) * u(i,13,k,e) &
504 + dy(j,14) * u(i,14,k,e)
507 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
508 + dy(j,2) * v(i,2,k,e) &
509 + dy(j,3) * v(i,3,k,e) &
510 + dy(j,4) * v(i,4,k,e) &
511 + dy(j,5) * v(i,5,k,e) &
512 + dy(j,6) * v(i,6,k,e) &
513 + dy(j,7) * v(i,7,k,e) &
514 + dy(j,8) * v(i,8,k,e) &
515 + dy(j,9) * v(i,9,k,e) &
516 + dy(j,10) * v(i,10,k,e) &
517 + dy(j,11) * v(i,11,k,e) &
518 + dy(j,12) * v(i,12,k,e) &
519 + dy(j,13) * v(i,13,k,e) &
520 + dy(j,14) * v(i,14,k,e)
522 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
523 + dy(j,2) * w(i,2,k,e) &
524 + dy(j,3) * w(i,3,k,e) &
525 + dy(j,4) * w(i,4,k,e) &
526 + dy(j,5) * w(i,5,k,e) &
527 + dy(j,6) * w(i,6,k,e) &
528 + dy(j,7) * w(i,7,k,e) &
529 + dy(j,8) * w(i,8,k,e) &
530 + dy(j,9) * w(i,9,k,e) &
531 + dy(j,10) * w(i,10,k,e) &
532 + dy(j,11) * w(i,11,k,e) &
533 + dy(j,12) * w(i,12,k,e) &
534 + dy(j,13) * w(i,13,k,e) &
535 + dy(j,14) * w(i,14,k,e)
542 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
543 + dz(k,2) * u(i,1,2,e) &
544 + dz(k,3) * u(i,1,3,e) &
545 + dz(k,4) * u(i,1,4,e) &
546 + dz(k,5) * u(i,1,5,e) &
547 + dz(k,6) * u(i,1,6,e) &
548 + dz(k,7) * u(i,1,7,e) &
549 + dz(k,8) * u(i,1,8,e) &
550 + dz(k,9) * u(i,1,9,e) &
551 + dz(k,10) * u(i,1,10,e) &
552 + dz(k,11) * u(i,1,11,e) &
553 + dz(k,12) * u(i,1,12,e) &
554 + dz(k,13) * u(i,1,13,e) &
555 + dz(k,14) * u(i,1,14,e)
557 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
558 + dz(k,2) * v(i,1,2,e) &
559 + dz(k,3) * v(i,1,3,e) &
560 + dz(k,4) * v(i,1,4,e) &
561 + dz(k,5) * v(i,1,5,e) &
562 + dz(k,6) * v(i,1,6,e) &
563 + dz(k,7) * v(i,1,7,e) &
564 + dz(k,8) * v(i,1,8,e) &
565 + dz(k,9) * v(i,1,9,e) &
566 + dz(k,10) * v(i,1,10,e) &
567 + dz(k,11) * v(i,1,11,e) &
568 + dz(k,12) * v(i,1,12,e) &
569 + dz(k,13) * v(i,1,13,e) &
570 + dz(k,14) * v(i,1,14,e)
572 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
573 + dz(k,2) * w(i,1,2,e) &
574 + dz(k,3) * w(i,1,3,e) &
575 + dz(k,4) * w(i,1,4,e) &
576 + dz(k,5) * w(i,1,5,e) &
577 + dz(k,6) * w(i,1,6,e) &
578 + dz(k,7) * w(i,1,7,e) &
579 + dz(k,8) * w(i,1,8,e) &
580 + dz(k,9) * w(i,1,9,e) &
581 + dz(k,10) * w(i,1,10,e) &
582 + dz(k,11) * w(i,1,11,e) &
583 + dz(k,12) * w(i,1,12,e) &
584 + dz(k,13) * w(i,1,13,e) &
585 + dz(k,14) * w(i,1,14,e)
591 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
592 + wut(i,1,1) * dtdx(i,1,1,e)
593 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
594 + wut(i,1,1) * dtdy(i,1,1,e)
595 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
596 + wut(i,1,1) * dtdz(i,1,1,e)
598 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
599 + wvt(i,1,1) * dtdx(i,1,1,e)
600 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
601 + wvt(i,1,1) * dtdy(i,1,1,e)
602 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
603 + wvt(i,1,1) * dtdz(i,1,1,e)
605 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
606 + wwt(i,1,1) * dtdx(i,1,1,e)
607 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
608 + wwt(i,1,1) * dtdy(i,1,1,e)
609 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
610 + wwt(i,1,1) * dtdz(i,1,1,e)
612 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
620 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
621 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
622 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
624 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
625 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
626 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
628 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
629 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
630 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
635 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
636 + dxt(i,2) * wur(2,j,1) &
637 + dxt(i,3) * wur(3,j,1) &
638 + dxt(i,4) * wur(4,j,1) &
639 + dxt(i,5) * wur(5,j,1) &
640 + dxt(i,6) * wur(6,j,1) &
641 + dxt(i,7) * wur(7,j,1) &
642 + dxt(i,8) * wur(8,j,1) &
643 + dxt(i,9) * wur(9,j,1) &
644 + dxt(i,10) * wur(10,j,1) &
645 + dxt(i,11) * wur(11,j,1) &
646 + dxt(i,12) * wur(12,j,1) &
647 + dxt(i,13) * wur(13,j,1) &
648 + dxt(i,14) * wur(14,j,1)
650 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
651 + dxt(i,2) * wvr(2,j,1) &
652 + dxt(i,3) * wvr(3,j,1) &
653 + dxt(i,4) * wvr(4,j,1) &
654 + dxt(i,5) * wvr(5,j,1) &
655 + dxt(i,6) * wvr(6,j,1) &
656 + dxt(i,7) * wvr(7,j,1) &
657 + dxt(i,8) * wvr(8,j,1) &
658 + dxt(i,9) * wvr(9,j,1) &
659 + dxt(i,10) * wvr(10,j,1) &
660 + dxt(i,11) * wvr(11,j,1) &
661 + dxt(i,12) * wvr(12,j,1) &
662 + dxt(i,13) * wvr(13,j,1) &
663 + dxt(i,14) * wvr(14,j,1)
665 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
666 + dxt(i,2) * wwr(2,j,1) &
667 + dxt(i,3) * wwr(3,j,1) &
668 + dxt(i,4) * wwr(4,j,1) &
669 + dxt(i,5) * wwr(5,j,1) &
670 + dxt(i,6) * wwr(6,j,1) &
671 + dxt(i,7) * wwr(7,j,1) &
672 + dxt(i,8) * wwr(8,j,1) &
673 + dxt(i,9) * wwr(9,j,1) &
674 + dxt(i,10) * wwr(10,j,1) &
675 + dxt(i,11) * wwr(11,j,1) &
676 + dxt(i,12) * wwr(12,j,1) &
677 + dxt(i,13) * wwr(13,j,1) &
678 + dxt(i,14) * wwr(14,j,1)
686 au(i,j,k,e) = au(i,j,k,e) &
687 + dyt(j,1) * wus(i,1,k) &
688 + dyt(j,2) * wus(i,2,k) &
689 + dyt(j,3) * wus(i,3,k) &
690 + dyt(j,4) * wus(i,4,k) &
691 + dyt(j,5) * wus(i,5,k) &
692 + dyt(j,6) * wus(i,6,k) &
693 + dyt(j,7) * wus(i,7,k) &
694 + dyt(j,8) * wus(i,8,k) &
695 + dyt(j,9) * wus(i,9,k) &
696 + dyt(j,10) * wus(i,10,k) &
697 + dyt(j,11) * wus(i,11,k) &
698 + dyt(j,12) * wus(i,12,k) &
699 + dyt(j,13) * wus(i,13,k) &
700 + dyt(j,14) * wus(i,14,k)
702 av(i,j,k,e) = av(i,j,k,e) &
703 + dyt(j,1) * wvs(i,1,k) &
704 + dyt(j,2) * wvs(i,2,k) &
705 + dyt(j,3) * wvs(i,3,k) &
706 + dyt(j,4) * wvs(i,4,k) &
707 + dyt(j,5) * wvs(i,5,k) &
708 + dyt(j,6) * wvs(i,6,k) &
709 + dyt(j,7) * wvs(i,7,k) &
710 + dyt(j,8) * wvs(i,8,k) &
711 + dyt(j,9) * wvs(i,9,k) &
712 + dyt(j,10) * wvs(i,10,k) &
713 + dyt(j,11) * wvs(i,11,k) &
714 + dyt(j,12) * wvs(i,12,k) &
715 + dyt(j,13) * wvs(i,13,k) &
716 + dyt(j,14) * wvs(i,14,k)
718 aw(i,j,k,e) = aw(i,j,k,e) &
719 + dyt(j,1) * wws(i,1,k) &
720 + dyt(j,2) * wws(i,2,k) &
721 + dyt(j,3) * wws(i,3,k) &
722 + dyt(j,4) * wws(i,4,k) &
723 + dyt(j,5) * wws(i,5,k) &
724 + dyt(j,6) * wws(i,6,k) &
725 + dyt(j,7) * wws(i,7,k) &
726 + dyt(j,8) * wws(i,8,k) &
727 + dyt(j,9) * wws(i,9,k) &
728 + dyt(j,10) * wws(i,10,k) &
729 + dyt(j,11) * wws(i,11,k) &
730 + dyt(j,12) * wws(i,12,k) &
731 + dyt(j,13) * wws(i,13,k) &
732 + dyt(j,14) * wws(i,14,k)
740 au(i,1,k,e) = au(i,1,k,e) &
741 + dzt(k,1) * wut(i,1,1) &
742 + dzt(k,2) * wut(i,1,2) &
743 + dzt(k,3) * wut(i,1,3) &
744 + dzt(k,4) * wut(i,1,4) &
745 + dzt(k,5) * wut(i,1,5) &
746 + dzt(k,6) * wut(i,1,6) &
747 + dzt(k,7) * wut(i,1,7) &
748 + dzt(k,8) * wut(i,1,8) &
749 + dzt(k,9) * wut(i,1,9) &
750 + dzt(k,10) * wut(i,1,10) &
751 + dzt(k,11) * wut(i,1,11) &
752 + dzt(k,12) * wut(i,1,12) &
753 + dzt(k,13) * wut(i,1,13) &
754 + dzt(k,14) * wut(i,1,14) &
755 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
757 av(i,1,k,e) = av(i,1,k,e) &
758 + dzt(k,1) * wvt(i,1,1) &
759 + dzt(k,2) * wvt(i,1,2) &
760 + dzt(k,3) * wvt(i,1,3) &
761 + dzt(k,4) * wvt(i,1,4) &
762 + dzt(k,5) * wvt(i,1,5) &
763 + dzt(k,6) * wvt(i,1,6) &
764 + dzt(k,7) * wvt(i,1,7) &
765 + dzt(k,8) * wvt(i,1,8) &
766 + dzt(k,9) * wvt(i,1,9) &
767 + dzt(k,10) * wvt(i,1,10) &
768 + dzt(k,11) * wvt(i,1,11) &
769 + dzt(k,12) * wvt(i,1,12) &
770 + dzt(k,13) * wvt(i,1,13) &
771 + dzt(k,14) * wvt(i,1,14) &
772 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
774 aw(i,1,k,e) = aw(i,1,k,e) &
775 + dzt(k,1) * wwt(i,1,1) &
776 + dzt(k,2) * wwt(i,1,2) &
777 + dzt(k,3) * wwt(i,1,3) &
778 + dzt(k,4) * wwt(i,1,4) &
779 + dzt(k,5) * wwt(i,1,5) &
780 + dzt(k,6) * wwt(i,1,6) &
781 + dzt(k,7) * wwt(i,1,7) &
782 + dzt(k,8) * wwt(i,1,8) &
783 + dzt(k,9) * wwt(i,1,9) &
784 + dzt(k,10) * wwt(i,1,10) &
785 + dzt(k,11) * wwt(i,1,11) &
786 + dzt(k,12) * wwt(i,1,12) &
787 + dzt(k,13) * wwt(i,1,13) &
788 + dzt(k,14) * wwt(i,1,14) &
789 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
795 au(i,1,k,e) = au(i,1,k,e) &
796 + dzt(k,1) * wut(i,1,1) &
797 + dzt(k,2) * wut(i,1,2) &
798 + dzt(k,3) * wut(i,1,3) &
799 + dzt(k,4) * wut(i,1,4) &
800 + dzt(k,5) * wut(i,1,5) &
801 + dzt(k,6) * wut(i,1,6) &
802 + dzt(k,7) * wut(i,1,7) &
803 + dzt(k,8) * wut(i,1,8) &
804 + dzt(k,9) * wut(i,1,9) &
805 + dzt(k,10) * wut(i,1,10) &
806 + dzt(k,11) * wut(i,1,11) &
807 + dzt(k,12) * wut(i,1,12) &
808 + dzt(k,13) * wut(i,1,13) &
809 + dzt(k,14) * wut(i,1,14)
811 av(i,1,k,e) = av(i,1,k,e) &
812 + dzt(k,1) * wvt(i,1,1) &
813 + dzt(k,2) * wvt(i,1,2) &
814 + dzt(k,3) * wvt(i,1,3) &
815 + dzt(k,4) * wvt(i,1,4) &
816 + dzt(k,5) * wvt(i,1,5) &
817 + dzt(k,6) * wvt(i,1,6) &
818 + dzt(k,7) * wvt(i,1,7) &
819 + dzt(k,8) * wvt(i,1,8) &
820 + dzt(k,9) * wvt(i,1,9) &
821 + dzt(k,10) * wvt(i,1,10) &
822 + dzt(k,11) * wvt(i,1,11) &
823 + dzt(k,12) * wvt(i,1,12) &
824 + dzt(k,13) * wvt(i,1,13) &
825 + dzt(k,14) * wvt(i,1,14)
827 aw(i,1,k,e) = aw(i,1,k,e) &
828 + dzt(k,1) * wwt(i,1,1) &
829 + dzt(k,2) * wwt(i,1,2) &
830 + dzt(k,3) * wwt(i,1,3) &
831 + dzt(k,4) * wwt(i,1,4) &
832 + dzt(k,5) * wwt(i,1,5) &
833 + dzt(k,6) * wwt(i,1,6) &
834 + dzt(k,7) * wwt(i,1,7) &
835 + dzt(k,8) * wwt(i,1,8) &
836 + dzt(k,9) * wwt(i,1,9) &
837 + dzt(k,10) * wwt(i,1,10) &
838 + dzt(k,11) * wwt(i,1,11) &
839 + dzt(k,12) * wwt(i,1,12) &
840 + dzt(k,13) * wwt(i,1,13) &
841 + dzt(k,14) * wwt(i,1,14)
850 subroutine ax_helm_stress_lx13(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
851 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
852 B, ifh2, jacinv, weights3, n)
853 integer,
parameter :: lx = 13
854 integer,
intent(in) :: n
855 logical,
intent(in) :: ifh2
856 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
857 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
858 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
859 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
860 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
861 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
862 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
863 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
864 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
865 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
866 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
867 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
868 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
869 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
870 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
871 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
872 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
873 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
874 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
875 real(kind=
rp),
intent(in) :: dx(lx, lx)
876 real(kind=
rp),
intent(in) :: dy(lx, lx)
877 real(kind=
rp),
intent(in) :: dz(lx, lx)
878 real(kind=
rp),
intent(in) :: dxt(lx, lx)
879 real(kind=
rp),
intent(in) :: dyt(lx, lx)
880 real(kind=
rp),
intent(in) :: dzt(lx, lx)
881 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
883 real(kind=
rp) :: wur(lx, lx, lx)
884 real(kind=
rp) :: wus(lx, lx, lx)
885 real(kind=
rp) :: wut(lx, lx, lx)
886 real(kind=
rp) :: wvr(lx, lx, lx)
887 real(kind=
rp) :: wvs(lx, lx, lx)
888 real(kind=
rp) :: wvt(lx, lx, lx)
889 real(kind=
rp) :: wwr(lx, lx, lx)
890 real(kind=
rp) :: wws(lx, lx, lx)
891 real(kind=
rp) :: wwt(lx, lx, lx)
893 integer :: e, i, j, k, l
895 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
896 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
903 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
904 + dx(i,2) * u(2,j,1,e) &
905 + dx(i,3) * u(3,j,1,e) &
906 + dx(i,4) * u(4,j,1,e) &
907 + dx(i,5) * u(5,j,1,e) &
908 + dx(i,6) * u(6,j,1,e) &
909 + dx(i,7) * u(7,j,1,e) &
910 + dx(i,8) * u(8,j,1,e) &
911 + dx(i,9) * u(9,j,1,e) &
912 + dx(i,10) * u(10,j,1,e) &
913 + dx(i,11) * u(11,j,1,e) &
914 + dx(i,12) * u(12,j,1,e) &
915 + dx(i,13) * u(13,j,1,e)
917 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
918 + dx(i,2) * v(2,j,1,e) &
919 + dx(i,3) * v(3,j,1,e) &
920 + dx(i,4) * v(4,j,1,e) &
921 + dx(i,5) * v(5,j,1,e) &
922 + dx(i,6) * v(6,j,1,e) &
923 + dx(i,7) * v(7,j,1,e) &
924 + dx(i,8) * v(8,j,1,e) &
925 + dx(i,9) * v(9,j,1,e) &
926 + dx(i,10) * v(10,j,1,e) &
927 + dx(i,11) * v(11,j,1,e) &
928 + dx(i,12) * v(12,j,1,e) &
929 + dx(i,13) * v(13,j,1,e)
931 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
932 + dx(i,2) * w(2,j,1,e) &
933 + dx(i,3) * w(3,j,1,e) &
934 + dx(i,4) * w(4,j,1,e) &
935 + dx(i,5) * w(5,j,1,e) &
936 + dx(i,6) * w(6,j,1,e) &
937 + dx(i,7) * w(7,j,1,e) &
938 + dx(i,8) * w(8,j,1,e) &
939 + dx(i,9) * w(9,j,1,e) &
940 + dx(i,10) * w(10,j,1,e) &
941 + dx(i,11) * w(11,j,1,e) &
942 + dx(i,12) * w(12,j,1,e) &
943 + dx(i,13) * w(13,j,1,e)
950 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
951 + dy(j,2) * u(i,2,k,e) &
952 + dy(j,3) * u(i,3,k,e) &
953 + dy(j,4) * u(i,4,k,e) &
954 + dy(j,5) * u(i,5,k,e) &
955 + dy(j,6) * u(i,6,k,e) &
956 + dy(j,7) * u(i,7,k,e) &
957 + dy(j,8) * u(i,8,k,e) &
958 + dy(j,9) * u(i,9,k,e) &
959 + dy(j,10) * u(i,10,k,e) &
960 + dy(j,11) * u(i,11,k,e) &
961 + dy(j,12) * u(i,12,k,e) &
962 + dy(j,13) * u(i,13,k,e)
965 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
966 + dy(j,2) * v(i,2,k,e) &
967 + dy(j,3) * v(i,3,k,e) &
968 + dy(j,4) * v(i,4,k,e) &
969 + dy(j,5) * v(i,5,k,e) &
970 + dy(j,6) * v(i,6,k,e) &
971 + dy(j,7) * v(i,7,k,e) &
972 + dy(j,8) * v(i,8,k,e) &
973 + dy(j,9) * v(i,9,k,e) &
974 + dy(j,10) * v(i,10,k,e) &
975 + dy(j,11) * v(i,11,k,e) &
976 + dy(j,12) * v(i,12,k,e) &
977 + dy(j,13) * v(i,13,k,e)
979 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
980 + dy(j,2) * w(i,2,k,e) &
981 + dy(j,3) * w(i,3,k,e) &
982 + dy(j,4) * w(i,4,k,e) &
983 + dy(j,5) * w(i,5,k,e) &
984 + dy(j,6) * w(i,6,k,e) &
985 + dy(j,7) * w(i,7,k,e) &
986 + dy(j,8) * w(i,8,k,e) &
987 + dy(j,9) * w(i,9,k,e) &
988 + dy(j,10) * w(i,10,k,e) &
989 + dy(j,11) * w(i,11,k,e) &
990 + dy(j,12) * w(i,12,k,e) &
991 + dy(j,13) * w(i,13,k,e)
998 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
999 + dz(k,2) * u(i,1,2,e) &
1000 + dz(k,3) * u(i,1,3,e) &
1001 + dz(k,4) * u(i,1,4,e) &
1002 + dz(k,5) * u(i,1,5,e) &
1003 + dz(k,6) * u(i,1,6,e) &
1004 + dz(k,7) * u(i,1,7,e) &
1005 + dz(k,8) * u(i,1,8,e) &
1006 + dz(k,9) * u(i,1,9,e) &
1007 + dz(k,10) * u(i,1,10,e) &
1008 + dz(k,11) * u(i,1,11,e) &
1009 + dz(k,12) * u(i,1,12,e) &
1010 + dz(k,13) * u(i,1,13,e)
1012 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
1013 + dz(k,2) * v(i,1,2,e) &
1014 + dz(k,3) * v(i,1,3,e) &
1015 + dz(k,4) * v(i,1,4,e) &
1016 + dz(k,5) * v(i,1,5,e) &
1017 + dz(k,6) * v(i,1,6,e) &
1018 + dz(k,7) * v(i,1,7,e) &
1019 + dz(k,8) * v(i,1,8,e) &
1020 + dz(k,9) * v(i,1,9,e) &
1021 + dz(k,10) * v(i,1,10,e) &
1022 + dz(k,11) * v(i,1,11,e) &
1023 + dz(k,12) * v(i,1,12,e) &
1024 + dz(k,13) * v(i,1,13,e)
1026 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
1027 + dz(k,2) * w(i,1,2,e) &
1028 + dz(k,3) * w(i,1,3,e) &
1029 + dz(k,4) * w(i,1,4,e) &
1030 + dz(k,5) * w(i,1,5,e) &
1031 + dz(k,6) * w(i,1,6,e) &
1032 + dz(k,7) * w(i,1,7,e) &
1033 + dz(k,8) * w(i,1,8,e) &
1034 + dz(k,9) * w(i,1,9,e) &
1035 + dz(k,10) * w(i,1,10,e) &
1036 + dz(k,11) * w(i,1,11,e) &
1037 + dz(k,12) * w(i,1,12,e) &
1038 + dz(k,13) * w(i,1,13,e)
1044 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
1045 + wut(i,1,1) * dtdx(i,1,1,e)
1046 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
1047 + wut(i,1,1) * dtdy(i,1,1,e)
1048 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
1049 + wut(i,1,1) * dtdz(i,1,1,e)
1051 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
1052 + wvt(i,1,1) * dtdx(i,1,1,e)
1053 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
1054 + wvt(i,1,1) * dtdy(i,1,1,e)
1055 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
1056 + wvt(i,1,1) * dtdz(i,1,1,e)
1058 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
1059 + wwt(i,1,1) * dtdx(i,1,1,e)
1060 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
1061 + wwt(i,1,1) * dtdy(i,1,1,e)
1062 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
1063 + wwt(i,1,1) * dtdz(i,1,1,e)
1065 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
1073 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
1074 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1075 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1077 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1078 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1079 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1081 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
1082 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
1083 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
1088 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1089 + dxt(i,2) * wur(2,j,1) &
1090 + dxt(i,3) * wur(3,j,1) &
1091 + dxt(i,4) * wur(4,j,1) &
1092 + dxt(i,5) * wur(5,j,1) &
1093 + dxt(i,6) * wur(6,j,1) &
1094 + dxt(i,7) * wur(7,j,1) &
1095 + dxt(i,8) * wur(8,j,1) &
1096 + dxt(i,9) * wur(9,j,1) &
1097 + dxt(i,10) * wur(10,j,1) &
1098 + dxt(i,11) * wur(11,j,1) &
1099 + dxt(i,12) * wur(12,j,1) &
1100 + dxt(i,13) * wur(13,j,1)
1102 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1103 + dxt(i,2) * wvr(2,j,1) &
1104 + dxt(i,3) * wvr(3,j,1) &
1105 + dxt(i,4) * wvr(4,j,1) &
1106 + dxt(i,5) * wvr(5,j,1) &
1107 + dxt(i,6) * wvr(6,j,1) &
1108 + dxt(i,7) * wvr(7,j,1) &
1109 + dxt(i,8) * wvr(8,j,1) &
1110 + dxt(i,9) * wvr(9,j,1) &
1111 + dxt(i,10) * wvr(10,j,1) &
1112 + dxt(i,11) * wvr(11,j,1) &
1113 + dxt(i,12) * wvr(12,j,1) &
1114 + dxt(i,13) * wvr(13,j,1)
1116 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1117 + dxt(i,2) * wwr(2,j,1) &
1118 + dxt(i,3) * wwr(3,j,1) &
1119 + dxt(i,4) * wwr(4,j,1) &
1120 + dxt(i,5) * wwr(5,j,1) &
1121 + dxt(i,6) * wwr(6,j,1) &
1122 + dxt(i,7) * wwr(7,j,1) &
1123 + dxt(i,8) * wwr(8,j,1) &
1124 + dxt(i,9) * wwr(9,j,1) &
1125 + dxt(i,10) * wwr(10,j,1) &
1126 + dxt(i,11) * wwr(11,j,1) &
1127 + dxt(i,12) * wwr(12,j,1) &
1128 + dxt(i,13) * wwr(13,j,1)
1135 au(i,j,k,e) = au(i,j,k,e) &
1136 + dyt(j,1) * wus(i,1,k) &
1137 + dyt(j,2) * wus(i,2,k) &
1138 + dyt(j,3) * wus(i,3,k) &
1139 + dyt(j,4) * wus(i,4,k) &
1140 + dyt(j,5) * wus(i,5,k) &
1141 + dyt(j,6) * wus(i,6,k) &
1142 + dyt(j,7) * wus(i,7,k) &
1143 + dyt(j,8) * wus(i,8,k) &
1144 + dyt(j,9) * wus(i,9,k) &
1145 + dyt(j,10) * wus(i,10,k) &
1146 + dyt(j,11) * wus(i,11,k) &
1147 + dyt(j,12) * wus(i,12,k) &
1148 + dyt(j,13) * wus(i,13,k)
1150 av(i,j,k,e) = av(i,j,k,e) &
1151 + dyt(j,1) * wvs(i,1,k) &
1152 + dyt(j,2) * wvs(i,2,k) &
1153 + dyt(j,3) * wvs(i,3,k) &
1154 + dyt(j,4) * wvs(i,4,k) &
1155 + dyt(j,5) * wvs(i,5,k) &
1156 + dyt(j,6) * wvs(i,6,k) &
1157 + dyt(j,7) * wvs(i,7,k) &
1158 + dyt(j,8) * wvs(i,8,k) &
1159 + dyt(j,9) * wvs(i,9,k) &
1160 + dyt(j,10) * wvs(i,10,k) &
1161 + dyt(j,11) * wvs(i,11,k) &
1162 + dyt(j,12) * wvs(i,12,k) &
1163 + dyt(j,13) * wvs(i,13,k)
1165 aw(i,j,k,e) = aw(i,j,k,e) &
1166 + dyt(j,1) * wws(i,1,k) &
1167 + dyt(j,2) * wws(i,2,k) &
1168 + dyt(j,3) * wws(i,3,k) &
1169 + dyt(j,4) * wws(i,4,k) &
1170 + dyt(j,5) * wws(i,5,k) &
1171 + dyt(j,6) * wws(i,6,k) &
1172 + dyt(j,7) * wws(i,7,k) &
1173 + dyt(j,8) * wws(i,8,k) &
1174 + dyt(j,9) * wws(i,9,k) &
1175 + dyt(j,10) * wws(i,10,k) &
1176 + dyt(j,11) * wws(i,11,k) &
1177 + dyt(j,12) * wws(i,12,k) &
1178 + dyt(j,13) * wws(i,13,k)
1186 au(i,1,k,e) = au(i,1,k,e) &
1187 + dzt(k,1) * wut(i,1,1) &
1188 + dzt(k,2) * wut(i,1,2) &
1189 + dzt(k,3) * wut(i,1,3) &
1190 + dzt(k,4) * wut(i,1,4) &
1191 + dzt(k,5) * wut(i,1,5) &
1192 + dzt(k,6) * wut(i,1,6) &
1193 + dzt(k,7) * wut(i,1,7) &
1194 + dzt(k,8) * wut(i,1,8) &
1195 + dzt(k,9) * wut(i,1,9) &
1196 + dzt(k,10) * wut(i,1,10) &
1197 + dzt(k,11) * wut(i,1,11) &
1198 + dzt(k,12) * wut(i,1,12) &
1199 + dzt(k,13) * wut(i,1,13) &
1200 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
1202 av(i,1,k,e) = av(i,1,k,e) &
1203 + dzt(k,1) * wvt(i,1,1) &
1204 + dzt(k,2) * wvt(i,1,2) &
1205 + dzt(k,3) * wvt(i,1,3) &
1206 + dzt(k,4) * wvt(i,1,4) &
1207 + dzt(k,5) * wvt(i,1,5) &
1208 + dzt(k,6) * wvt(i,1,6) &
1209 + dzt(k,7) * wvt(i,1,7) &
1210 + dzt(k,8) * wvt(i,1,8) &
1211 + dzt(k,9) * wvt(i,1,9) &
1212 + dzt(k,10) * wvt(i,1,10) &
1213 + dzt(k,11) * wvt(i,1,11) &
1214 + dzt(k,12) * wvt(i,1,12) &
1215 + dzt(k,13) * wvt(i,1,13) &
1216 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
1218 aw(i,1,k,e) = aw(i,1,k,e) &
1219 + dzt(k,1) * wwt(i,1,1) &
1220 + dzt(k,2) * wwt(i,1,2) &
1221 + dzt(k,3) * wwt(i,1,3) &
1222 + dzt(k,4) * wwt(i,1,4) &
1223 + dzt(k,5) * wwt(i,1,5) &
1224 + dzt(k,6) * wwt(i,1,6) &
1225 + dzt(k,7) * wwt(i,1,7) &
1226 + dzt(k,8) * wwt(i,1,8) &
1227 + dzt(k,9) * wwt(i,1,9) &
1228 + dzt(k,10) * wwt(i,1,10) &
1229 + dzt(k,11) * wwt(i,1,11) &
1230 + dzt(k,12) * wwt(i,1,12) &
1231 + dzt(k,13) * wwt(i,1,13) &
1232 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
1238 au(i,1,k,e) = au(i,1,k,e) &
1239 + dzt(k,1) * wut(i,1,1) &
1240 + dzt(k,2) * wut(i,1,2) &
1241 + dzt(k,3) * wut(i,1,3) &
1242 + dzt(k,4) * wut(i,1,4) &
1243 + dzt(k,5) * wut(i,1,5) &
1244 + dzt(k,6) * wut(i,1,6) &
1245 + dzt(k,7) * wut(i,1,7) &
1246 + dzt(k,8) * wut(i,1,8) &
1247 + dzt(k,9) * wut(i,1,9) &
1248 + dzt(k,10) * wut(i,1,10) &
1249 + dzt(k,11) * wut(i,1,11) &
1250 + dzt(k,12) * wut(i,1,12) &
1251 + dzt(k,13) * wut(i,1,13)
1253 av(i,1,k,e) = av(i,1,k,e) &
1254 + dzt(k,1) * wvt(i,1,1) &
1255 + dzt(k,2) * wvt(i,1,2) &
1256 + dzt(k,3) * wvt(i,1,3) &
1257 + dzt(k,4) * wvt(i,1,4) &
1258 + dzt(k,5) * wvt(i,1,5) &
1259 + dzt(k,6) * wvt(i,1,6) &
1260 + dzt(k,7) * wvt(i,1,7) &
1261 + dzt(k,8) * wvt(i,1,8) &
1262 + dzt(k,9) * wvt(i,1,9) &
1263 + dzt(k,10) * wvt(i,1,10) &
1264 + dzt(k,11) * wvt(i,1,11) &
1265 + dzt(k,12) * wvt(i,1,12) &
1266 + dzt(k,13) * wvt(i,1,13)
1268 aw(i,1,k,e) = aw(i,1,k,e) &
1269 + dzt(k,1) * wwt(i,1,1) &
1270 + dzt(k,2) * wwt(i,1,2) &
1271 + dzt(k,3) * wwt(i,1,3) &
1272 + dzt(k,4) * wwt(i,1,4) &
1273 + dzt(k,5) * wwt(i,1,5) &
1274 + dzt(k,6) * wwt(i,1,6) &
1275 + dzt(k,7) * wwt(i,1,7) &
1276 + dzt(k,8) * wwt(i,1,8) &
1277 + dzt(k,9) * wwt(i,1,9) &
1278 + dzt(k,10) * wwt(i,1,10) &
1279 + dzt(k,11) * wwt(i,1,11) &
1280 + dzt(k,12) * wwt(i,1,12) &
1281 + dzt(k,13) * wwt(i,1,13)
1290 subroutine ax_helm_stress_lx12(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
1291 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
1292 B, ifh2, jacinv, weights3, n)
1293 integer,
parameter :: lx = 12
1294 integer,
intent(in) :: n
1295 logical,
intent(in) :: ifh2
1296 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1297 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
1298 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
1299 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
1300 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
1301 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
1302 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1303 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
1304 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
1305 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
1306 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
1307 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
1308 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
1309 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
1310 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
1311 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
1312 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
1313 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
1314 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
1315 real(kind=
rp),
intent(in) :: dx(lx, lx)
1316 real(kind=
rp),
intent(in) :: dy(lx, lx)
1317 real(kind=
rp),
intent(in) :: dz(lx, lx)
1318 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1319 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1320 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1321 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
1323 real(kind=
rp) :: wur(lx, lx, lx)
1324 real(kind=
rp) :: wus(lx, lx, lx)
1325 real(kind=
rp) :: wut(lx, lx, lx)
1326 real(kind=
rp) :: wvr(lx, lx, lx)
1327 real(kind=
rp) :: wvs(lx, lx, lx)
1328 real(kind=
rp) :: wvt(lx, lx, lx)
1329 real(kind=
rp) :: wwr(lx, lx, lx)
1330 real(kind=
rp) :: wws(lx, lx, lx)
1331 real(kind=
rp) :: wwt(lx, lx, lx)
1333 integer :: e, i, j, k, l
1335 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
1336 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
1343 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1344 + dx(i,2) * u(2,j,1,e) &
1345 + dx(i,3) * u(3,j,1,e) &
1346 + dx(i,4) * u(4,j,1,e) &
1347 + dx(i,5) * u(5,j,1,e) &
1348 + dx(i,6) * u(6,j,1,e) &
1349 + dx(i,7) * u(7,j,1,e) &
1350 + dx(i,8) * u(8,j,1,e) &
1351 + dx(i,9) * u(9,j,1,e) &
1352 + dx(i,10) * u(10,j,1,e) &
1353 + dx(i,11) * u(11,j,1,e) &
1354 + dx(i,12) * u(12,j,1,e)
1356 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
1357 + dx(i,2) * v(2,j,1,e) &
1358 + dx(i,3) * v(3,j,1,e) &
1359 + dx(i,4) * v(4,j,1,e) &
1360 + dx(i,5) * v(5,j,1,e) &
1361 + dx(i,6) * v(6,j,1,e) &
1362 + dx(i,7) * v(7,j,1,e) &
1363 + dx(i,8) * v(8,j,1,e) &
1364 + dx(i,9) * v(9,j,1,e) &
1365 + dx(i,10) * v(10,j,1,e) &
1366 + dx(i,11) * v(11,j,1,e) &
1367 + dx(i,12) * v(12,j,1,e)
1369 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
1370 + dx(i,2) * w(2,j,1,e) &
1371 + dx(i,3) * w(3,j,1,e) &
1372 + dx(i,4) * w(4,j,1,e) &
1373 + dx(i,5) * w(5,j,1,e) &
1374 + dx(i,6) * w(6,j,1,e) &
1375 + dx(i,7) * w(7,j,1,e) &
1376 + dx(i,8) * w(8,j,1,e) &
1377 + dx(i,9) * w(9,j,1,e) &
1378 + dx(i,10) * w(10,j,1,e) &
1379 + dx(i,11) * w(11,j,1,e) &
1380 + dx(i,12) * w(12,j,1,e)
1387 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1388 + dy(j,2) * u(i,2,k,e) &
1389 + dy(j,3) * u(i,3,k,e) &
1390 + dy(j,4) * u(i,4,k,e) &
1391 + dy(j,5) * u(i,5,k,e) &
1392 + dy(j,6) * u(i,6,k,e) &
1393 + dy(j,7) * u(i,7,k,e) &
1394 + dy(j,8) * u(i,8,k,e) &
1395 + dy(j,9) * u(i,9,k,e) &
1396 + dy(j,10) * u(i,10,k,e) &
1397 + dy(j,11) * u(i,11,k,e) &
1398 + dy(j,12) * u(i,12,k,e)
1401 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
1402 + dy(j,2) * v(i,2,k,e) &
1403 + dy(j,3) * v(i,3,k,e) &
1404 + dy(j,4) * v(i,4,k,e) &
1405 + dy(j,5) * v(i,5,k,e) &
1406 + dy(j,6) * v(i,6,k,e) &
1407 + dy(j,7) * v(i,7,k,e) &
1408 + dy(j,8) * v(i,8,k,e) &
1409 + dy(j,9) * v(i,9,k,e) &
1410 + dy(j,10) * v(i,10,k,e) &
1411 + dy(j,11) * v(i,11,k,e) &
1412 + dy(j,12) * v(i,12,k,e)
1414 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
1415 + dy(j,2) * w(i,2,k,e) &
1416 + dy(j,3) * w(i,3,k,e) &
1417 + dy(j,4) * w(i,4,k,e) &
1418 + dy(j,5) * w(i,5,k,e) &
1419 + dy(j,6) * w(i,6,k,e) &
1420 + dy(j,7) * w(i,7,k,e) &
1421 + dy(j,8) * w(i,8,k,e) &
1422 + dy(j,9) * w(i,9,k,e) &
1423 + dy(j,10) * w(i,10,k,e) &
1424 + dy(j,11) * w(i,11,k,e) &
1425 + dy(j,12) * w(i,12,k,e)
1432 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1433 + dz(k,2) * u(i,1,2,e) &
1434 + dz(k,3) * u(i,1,3,e) &
1435 + dz(k,4) * u(i,1,4,e) &
1436 + dz(k,5) * u(i,1,5,e) &
1437 + dz(k,6) * u(i,1,6,e) &
1438 + dz(k,7) * u(i,1,7,e) &
1439 + dz(k,8) * u(i,1,8,e) &
1440 + dz(k,9) * u(i,1,9,e) &
1441 + dz(k,10) * u(i,1,10,e) &
1442 + dz(k,11) * u(i,1,11,e) &
1443 + dz(k,12) * u(i,1,12,e)
1445 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
1446 + dz(k,2) * v(i,1,2,e) &
1447 + dz(k,3) * v(i,1,3,e) &
1448 + dz(k,4) * v(i,1,4,e) &
1449 + dz(k,5) * v(i,1,5,e) &
1450 + dz(k,6) * v(i,1,6,e) &
1451 + dz(k,7) * v(i,1,7,e) &
1452 + dz(k,8) * v(i,1,8,e) &
1453 + dz(k,9) * v(i,1,9,e) &
1454 + dz(k,10) * v(i,1,10,e) &
1455 + dz(k,11) * v(i,1,11,e) &
1456 + dz(k,12) * v(i,1,12,e)
1458 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
1459 + dz(k,2) * w(i,1,2,e) &
1460 + dz(k,3) * w(i,1,3,e) &
1461 + dz(k,4) * w(i,1,4,e) &
1462 + dz(k,5) * w(i,1,5,e) &
1463 + dz(k,6) * w(i,1,6,e) &
1464 + dz(k,7) * w(i,1,7,e) &
1465 + dz(k,8) * w(i,1,8,e) &
1466 + dz(k,9) * w(i,1,9,e) &
1467 + dz(k,10) * w(i,1,10,e) &
1468 + dz(k,11) * w(i,1,11,e) &
1469 + dz(k,12) * w(i,1,12,e)
1475 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
1476 + wut(i,1,1) * dtdx(i,1,1,e)
1477 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
1478 + wut(i,1,1) * dtdy(i,1,1,e)
1479 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
1480 + wut(i,1,1) * dtdz(i,1,1,e)
1482 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
1483 + wvt(i,1,1) * dtdx(i,1,1,e)
1484 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
1485 + wvt(i,1,1) * dtdy(i,1,1,e)
1486 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
1487 + wvt(i,1,1) * dtdz(i,1,1,e)
1489 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
1490 + wwt(i,1,1) * dtdx(i,1,1,e)
1491 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
1492 + wwt(i,1,1) * dtdy(i,1,1,e)
1493 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
1494 + wwt(i,1,1) * dtdz(i,1,1,e)
1496 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
1504 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
1505 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1506 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1508 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1509 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1510 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1512 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
1513 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
1514 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
1519 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1520 + dxt(i,2) * wur(2,j,1) &
1521 + dxt(i,3) * wur(3,j,1) &
1522 + dxt(i,4) * wur(4,j,1) &
1523 + dxt(i,5) * wur(5,j,1) &
1524 + dxt(i,6) * wur(6,j,1) &
1525 + dxt(i,7) * wur(7,j,1) &
1526 + dxt(i,8) * wur(8,j,1) &
1527 + dxt(i,9) * wur(9,j,1) &
1528 + dxt(i,10) * wur(10,j,1) &
1529 + dxt(i,11) * wur(11,j,1) &
1530 + dxt(i,12) * wur(12,j,1)
1532 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1533 + dxt(i,2) * wvr(2,j,1) &
1534 + dxt(i,3) * wvr(3,j,1) &
1535 + dxt(i,4) * wvr(4,j,1) &
1536 + dxt(i,5) * wvr(5,j,1) &
1537 + dxt(i,6) * wvr(6,j,1) &
1538 + dxt(i,7) * wvr(7,j,1) &
1539 + dxt(i,8) * wvr(8,j,1) &
1540 + dxt(i,9) * wvr(9,j,1) &
1541 + dxt(i,10) * wvr(10,j,1) &
1542 + dxt(i,11) * wvr(11,j,1) &
1543 + dxt(i,12) * wvr(12,j,1)
1545 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1546 + dxt(i,2) * wwr(2,j,1) &
1547 + dxt(i,3) * wwr(3,j,1) &
1548 + dxt(i,4) * wwr(4,j,1) &
1549 + dxt(i,5) * wwr(5,j,1) &
1550 + dxt(i,6) * wwr(6,j,1) &
1551 + dxt(i,7) * wwr(7,j,1) &
1552 + dxt(i,8) * wwr(8,j,1) &
1553 + dxt(i,9) * wwr(9,j,1) &
1554 + dxt(i,10) * wwr(10,j,1) &
1555 + dxt(i,11) * wwr(11,j,1) &
1556 + dxt(i,12) * wwr(12,j,1)
1563 au(i,j,k,e) = au(i,j,k,e) &
1564 + dyt(j,1) * wus(i,1,k) &
1565 + dyt(j,2) * wus(i,2,k) &
1566 + dyt(j,3) * wus(i,3,k) &
1567 + dyt(j,4) * wus(i,4,k) &
1568 + dyt(j,5) * wus(i,5,k) &
1569 + dyt(j,6) * wus(i,6,k) &
1570 + dyt(j,7) * wus(i,7,k) &
1571 + dyt(j,8) * wus(i,8,k) &
1572 + dyt(j,9) * wus(i,9,k) &
1573 + dyt(j,10) * wus(i,10,k) &
1574 + dyt(j,11) * wus(i,11,k) &
1575 + dyt(j,12) * wus(i,12,k)
1577 av(i,j,k,e) = av(i,j,k,e) &
1578 + dyt(j,1) * wvs(i,1,k) &
1579 + dyt(j,2) * wvs(i,2,k) &
1580 + dyt(j,3) * wvs(i,3,k) &
1581 + dyt(j,4) * wvs(i,4,k) &
1582 + dyt(j,5) * wvs(i,5,k) &
1583 + dyt(j,6) * wvs(i,6,k) &
1584 + dyt(j,7) * wvs(i,7,k) &
1585 + dyt(j,8) * wvs(i,8,k) &
1586 + dyt(j,9) * wvs(i,9,k) &
1587 + dyt(j,10) * wvs(i,10,k) &
1588 + dyt(j,11) * wvs(i,11,k) &
1589 + dyt(j,12) * wvs(i,12,k)
1591 aw(i,j,k,e) = aw(i,j,k,e) &
1592 + dyt(j,1) * wws(i,1,k) &
1593 + dyt(j,2) * wws(i,2,k) &
1594 + dyt(j,3) * wws(i,3,k) &
1595 + dyt(j,4) * wws(i,4,k) &
1596 + dyt(j,5) * wws(i,5,k) &
1597 + dyt(j,6) * wws(i,6,k) &
1598 + dyt(j,7) * wws(i,7,k) &
1599 + dyt(j,8) * wws(i,8,k) &
1600 + dyt(j,9) * wws(i,9,k) &
1601 + dyt(j,10) * wws(i,10,k) &
1602 + dyt(j,11) * wws(i,11,k) &
1603 + dyt(j,12) * wws(i,12,k)
1611 au(i,1,k,e) = au(i,1,k,e) &
1612 + dzt(k,1) * wut(i,1,1) &
1613 + dzt(k,2) * wut(i,1,2) &
1614 + dzt(k,3) * wut(i,1,3) &
1615 + dzt(k,4) * wut(i,1,4) &
1616 + dzt(k,5) * wut(i,1,5) &
1617 + dzt(k,6) * wut(i,1,6) &
1618 + dzt(k,7) * wut(i,1,7) &
1619 + dzt(k,8) * wut(i,1,8) &
1620 + dzt(k,9) * wut(i,1,9) &
1621 + dzt(k,10) * wut(i,1,10) &
1622 + dzt(k,11) * wut(i,1,11) &
1623 + dzt(k,12) * wut(i,1,12) &
1624 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
1626 av(i,1,k,e) = av(i,1,k,e) &
1627 + dzt(k,1) * wvt(i,1,1) &
1628 + dzt(k,2) * wvt(i,1,2) &
1629 + dzt(k,3) * wvt(i,1,3) &
1630 + dzt(k,4) * wvt(i,1,4) &
1631 + dzt(k,5) * wvt(i,1,5) &
1632 + dzt(k,6) * wvt(i,1,6) &
1633 + dzt(k,7) * wvt(i,1,7) &
1634 + dzt(k,8) * wvt(i,1,8) &
1635 + dzt(k,9) * wvt(i,1,9) &
1636 + dzt(k,10) * wvt(i,1,10) &
1637 + dzt(k,11) * wvt(i,1,11) &
1638 + dzt(k,12) * wvt(i,1,12) &
1639 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
1641 aw(i,1,k,e) = aw(i,1,k,e) &
1642 + dzt(k,1) * wwt(i,1,1) &
1643 + dzt(k,2) * wwt(i,1,2) &
1644 + dzt(k,3) * wwt(i,1,3) &
1645 + dzt(k,4) * wwt(i,1,4) &
1646 + dzt(k,5) * wwt(i,1,5) &
1647 + dzt(k,6) * wwt(i,1,6) &
1648 + dzt(k,7) * wwt(i,1,7) &
1649 + dzt(k,8) * wwt(i,1,8) &
1650 + dzt(k,9) * wwt(i,1,9) &
1651 + dzt(k,10) * wwt(i,1,10) &
1652 + dzt(k,11) * wwt(i,1,11) &
1653 + dzt(k,12) * wwt(i,1,12) &
1654 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
1660 au(i,1,k,e) = au(i,1,k,e) &
1661 + dzt(k,1) * wut(i,1,1) &
1662 + dzt(k,2) * wut(i,1,2) &
1663 + dzt(k,3) * wut(i,1,3) &
1664 + dzt(k,4) * wut(i,1,4) &
1665 + dzt(k,5) * wut(i,1,5) &
1666 + dzt(k,6) * wut(i,1,6) &
1667 + dzt(k,7) * wut(i,1,7) &
1668 + dzt(k,8) * wut(i,1,8) &
1669 + dzt(k,9) * wut(i,1,9) &
1670 + dzt(k,10) * wut(i,1,10) &
1671 + dzt(k,11) * wut(i,1,11) &
1672 + dzt(k,12) * wut(i,1,12)
1674 av(i,1,k,e) = av(i,1,k,e) &
1675 + dzt(k,1) * wvt(i,1,1) &
1676 + dzt(k,2) * wvt(i,1,2) &
1677 + dzt(k,3) * wvt(i,1,3) &
1678 + dzt(k,4) * wvt(i,1,4) &
1679 + dzt(k,5) * wvt(i,1,5) &
1680 + dzt(k,6) * wvt(i,1,6) &
1681 + dzt(k,7) * wvt(i,1,7) &
1682 + dzt(k,8) * wvt(i,1,8) &
1683 + dzt(k,9) * wvt(i,1,9) &
1684 + dzt(k,10) * wvt(i,1,10) &
1685 + dzt(k,11) * wvt(i,1,11) &
1686 + dzt(k,12) * wvt(i,1,12)
1688 aw(i,1,k,e) = aw(i,1,k,e) &
1689 + dzt(k,1) * wwt(i,1,1) &
1690 + dzt(k,2) * wwt(i,1,2) &
1691 + dzt(k,3) * wwt(i,1,3) &
1692 + dzt(k,4) * wwt(i,1,4) &
1693 + dzt(k,5) * wwt(i,1,5) &
1694 + dzt(k,6) * wwt(i,1,6) &
1695 + dzt(k,7) * wwt(i,1,7) &
1696 + dzt(k,8) * wwt(i,1,8) &
1697 + dzt(k,9) * wwt(i,1,9) &
1698 + dzt(k,10) * wwt(i,1,10) &
1699 + dzt(k,11) * wwt(i,1,11) &
1700 + dzt(k,12) * wwt(i,1,12)
1711 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
1712 B, ifh2, jacinv, weights3, n)
1713 integer,
parameter :: lx = 11
1714 integer,
intent(in) :: n
1715 logical,
intent(in) :: ifh2
1716 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1717 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
1718 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
1719 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
1720 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
1721 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
1722 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1723 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
1724 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
1725 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
1726 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
1727 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
1728 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
1729 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
1730 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
1731 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
1732 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
1733 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
1734 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
1735 real(kind=
rp),
intent(in) :: dx(lx, lx)
1736 real(kind=
rp),
intent(in) :: dy(lx, lx)
1737 real(kind=
rp),
intent(in) :: dz(lx, lx)
1738 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1739 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1740 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1741 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
1743 real(kind=
rp) :: wur(lx, lx, lx)
1744 real(kind=
rp) :: wus(lx, lx, lx)
1745 real(kind=
rp) :: wut(lx, lx, lx)
1746 real(kind=
rp) :: wvr(lx, lx, lx)
1747 real(kind=
rp) :: wvs(lx, lx, lx)
1748 real(kind=
rp) :: wvt(lx, lx, lx)
1749 real(kind=
rp) :: wwr(lx, lx, lx)
1750 real(kind=
rp) :: wws(lx, lx, lx)
1751 real(kind=
rp) :: wwt(lx, lx, lx)
1753 integer :: e, i, j, k, l
1755 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
1756 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
1763 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1764 + dx(i,2) * u(2,j,1,e) &
1765 + dx(i,3) * u(3,j,1,e) &
1766 + dx(i,4) * u(4,j,1,e) &
1767 + dx(i,5) * u(5,j,1,e) &
1768 + dx(i,6) * u(6,j,1,e) &
1769 + dx(i,7) * u(7,j,1,e) &
1770 + dx(i,8) * u(8,j,1,e) &
1771 + dx(i,9) * u(9,j,1,e) &
1772 + dx(i,10) * u(10,j,1,e) &
1773 + dx(i,11) * u(11,j,1,e)
1775 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
1776 + dx(i,2) * v(2,j,1,e) &
1777 + dx(i,3) * v(3,j,1,e) &
1778 + dx(i,4) * v(4,j,1,e) &
1779 + dx(i,5) * v(5,j,1,e) &
1780 + dx(i,6) * v(6,j,1,e) &
1781 + dx(i,7) * v(7,j,1,e) &
1782 + dx(i,8) * v(8,j,1,e) &
1783 + dx(i,9) * v(9,j,1,e) &
1784 + dx(i,10) * v(10,j,1,e) &
1785 + dx(i,11) * v(11,j,1,e)
1787 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
1788 + dx(i,2) * w(2,j,1,e) &
1789 + dx(i,3) * w(3,j,1,e) &
1790 + dx(i,4) * w(4,j,1,e) &
1791 + dx(i,5) * w(5,j,1,e) &
1792 + dx(i,6) * w(6,j,1,e) &
1793 + dx(i,7) * w(7,j,1,e) &
1794 + dx(i,8) * w(8,j,1,e) &
1795 + dx(i,9) * w(9,j,1,e) &
1796 + dx(i,10) * w(10,j,1,e) &
1797 + dx(i,11) * w(11,j,1,e)
1804 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1805 + dy(j,2) * u(i,2,k,e) &
1806 + dy(j,3) * u(i,3,k,e) &
1807 + dy(j,4) * u(i,4,k,e) &
1808 + dy(j,5) * u(i,5,k,e) &
1809 + dy(j,6) * u(i,6,k,e) &
1810 + dy(j,7) * u(i,7,k,e) &
1811 + dy(j,8) * u(i,8,k,e) &
1812 + dy(j,9) * u(i,9,k,e) &
1813 + dy(j,10) * u(i,10,k,e) &
1814 + dy(j,11) * u(i,11,k,e)
1816 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
1817 + dy(j,2) * v(i,2,k,e) &
1818 + dy(j,3) * v(i,3,k,e) &
1819 + dy(j,4) * v(i,4,k,e) &
1820 + dy(j,5) * v(i,5,k,e) &
1821 + dy(j,6) * v(i,6,k,e) &
1822 + dy(j,7) * v(i,7,k,e) &
1823 + dy(j,8) * v(i,8,k,e) &
1824 + dy(j,9) * v(i,9,k,e) &
1825 + dy(j,10) * v(i,10,k,e) &
1826 + dy(j,11) * v(i,11,k,e)
1828 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
1829 + dy(j,2) * w(i,2,k,e) &
1830 + dy(j,3) * w(i,3,k,e) &
1831 + dy(j,4) * w(i,4,k,e) &
1832 + dy(j,5) * w(i,5,k,e) &
1833 + dy(j,6) * w(i,6,k,e) &
1834 + dy(j,7) * w(i,7,k,e) &
1835 + dy(j,8) * w(i,8,k,e) &
1836 + dy(j,9) * w(i,9,k,e) &
1837 + dy(j,10) * w(i,10,k,e) &
1838 + dy(j,11) * w(i,11,k,e)
1845 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1846 + dz(k,2) * u(i,1,2,e) &
1847 + dz(k,3) * u(i,1,3,e) &
1848 + dz(k,4) * u(i,1,4,e) &
1849 + dz(k,5) * u(i,1,5,e) &
1850 + dz(k,6) * u(i,1,6,e) &
1851 + dz(k,7) * u(i,1,7,e) &
1852 + dz(k,8) * u(i,1,8,e) &
1853 + dz(k,9) * u(i,1,9,e) &
1854 + dz(k,10) * u(i,1,10,e) &
1855 + dz(k,11) * u(i,1,11,e)
1857 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
1858 + dz(k,2) * v(i,1,2,e) &
1859 + dz(k,3) * v(i,1,3,e) &
1860 + dz(k,4) * v(i,1,4,e) &
1861 + dz(k,5) * v(i,1,5,e) &
1862 + dz(k,6) * v(i,1,6,e) &
1863 + dz(k,7) * v(i,1,7,e) &
1864 + dz(k,8) * v(i,1,8,e) &
1865 + dz(k,9) * v(i,1,9,e) &
1866 + dz(k,10) * v(i,1,10,e) &
1867 + dz(k,11) * v(i,1,11,e)
1869 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
1870 + dz(k,2) * w(i,1,2,e) &
1871 + dz(k,3) * w(i,1,3,e) &
1872 + dz(k,4) * w(i,1,4,e) &
1873 + dz(k,5) * w(i,1,5,e) &
1874 + dz(k,6) * w(i,1,6,e) &
1875 + dz(k,7) * w(i,1,7,e) &
1876 + dz(k,8) * w(i,1,8,e) &
1877 + dz(k,9) * w(i,1,9,e) &
1878 + dz(k,10) * w(i,1,10,e) &
1879 + dz(k,11) * w(i,1,11,e)
1885 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
1886 + wut(i,1,1) * dtdx(i,1,1,e)
1887 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
1888 + wut(i,1,1) * dtdy(i,1,1,e)
1889 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
1890 + wut(i,1,1) * dtdz(i,1,1,e)
1892 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
1893 + wvt(i,1,1) * dtdx(i,1,1,e)
1894 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
1895 + wvt(i,1,1) * dtdy(i,1,1,e)
1896 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
1897 + wvt(i,1,1) * dtdz(i,1,1,e)
1899 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
1900 + wwt(i,1,1) * dtdx(i,1,1,e)
1901 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
1902 + wwt(i,1,1) * dtdy(i,1,1,e)
1903 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
1904 + wwt(i,1,1) * dtdz(i,1,1,e)
1906 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
1914 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
1915 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1916 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1918 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1919 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1920 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1922 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
1923 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
1924 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
1929 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1930 + dxt(i,2) * wur(2,j,1) &
1931 + dxt(i,3) * wur(3,j,1) &
1932 + dxt(i,4) * wur(4,j,1) &
1933 + dxt(i,5) * wur(5,j,1) &
1934 + dxt(i,6) * wur(6,j,1) &
1935 + dxt(i,7) * wur(7,j,1) &
1936 + dxt(i,8) * wur(8,j,1) &
1937 + dxt(i,9) * wur(9,j,1) &
1938 + dxt(i,10) * wur(10,j,1) &
1939 + dxt(i,11) * wur(11,j,1)
1941 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1942 + dxt(i,2) * wvr(2,j,1) &
1943 + dxt(i,3) * wvr(3,j,1) &
1944 + dxt(i,4) * wvr(4,j,1) &
1945 + dxt(i,5) * wvr(5,j,1) &
1946 + dxt(i,6) * wvr(6,j,1) &
1947 + dxt(i,7) * wvr(7,j,1) &
1948 + dxt(i,8) * wvr(8,j,1) &
1949 + dxt(i,9) * wvr(9,j,1) &
1950 + dxt(i,10) * wvr(10,j,1) &
1951 + dxt(i,11) * wvr(11,j,1)
1953 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1954 + dxt(i,2) * wwr(2,j,1) &
1955 + dxt(i,3) * wwr(3,j,1) &
1956 + dxt(i,4) * wwr(4,j,1) &
1957 + dxt(i,5) * wwr(5,j,1) &
1958 + dxt(i,6) * wwr(6,j,1) &
1959 + dxt(i,7) * wwr(7,j,1) &
1960 + dxt(i,8) * wwr(8,j,1) &
1961 + dxt(i,9) * wwr(9,j,1) &
1962 + dxt(i,10) * wwr(10,j,1) &
1963 + dxt(i,11) * wwr(11,j,1)
1970 au(i,j,k,e) = au(i,j,k,e) &
1971 + dyt(j,1) * wus(i,1,k) &
1972 + dyt(j,2) * wus(i,2,k) &
1973 + dyt(j,3) * wus(i,3,k) &
1974 + dyt(j,4) * wus(i,4,k) &
1975 + dyt(j,5) * wus(i,5,k) &
1976 + dyt(j,6) * wus(i,6,k) &
1977 + dyt(j,7) * wus(i,7,k) &
1978 + dyt(j,8) * wus(i,8,k) &
1979 + dyt(j,9) * wus(i,9,k) &
1980 + dyt(j,10) * wus(i,10,k) &
1981 + dyt(j,11) * wus(i,11,k)
1983 av(i,j,k,e) = av(i,j,k,e) &
1984 + dyt(j,1) * wvs(i,1,k) &
1985 + dyt(j,2) * wvs(i,2,k) &
1986 + dyt(j,3) * wvs(i,3,k) &
1987 + dyt(j,4) * wvs(i,4,k) &
1988 + dyt(j,5) * wvs(i,5,k) &
1989 + dyt(j,6) * wvs(i,6,k) &
1990 + dyt(j,7) * wvs(i,7,k) &
1991 + dyt(j,8) * wvs(i,8,k) &
1992 + dyt(j,9) * wvs(i,9,k) &
1993 + dyt(j,10) * wvs(i,10,k) &
1994 + dyt(j,11) * wvs(i,11,k)
1996 aw(i,j,k,e) = aw(i,j,k,e) &
1997 + dyt(j,1) * wws(i,1,k) &
1998 + dyt(j,2) * wws(i,2,k) &
1999 + dyt(j,3) * wws(i,3,k) &
2000 + dyt(j,4) * wws(i,4,k) &
2001 + dyt(j,5) * wws(i,5,k) &
2002 + dyt(j,6) * wws(i,6,k) &
2003 + dyt(j,7) * wws(i,7,k) &
2004 + dyt(j,8) * wws(i,8,k) &
2005 + dyt(j,9) * wws(i,9,k) &
2006 + dyt(j,10) * wws(i,10,k) &
2007 + dyt(j,11) * wws(i,11,k)
2015 au(i,1,k,e) = au(i,1,k,e) &
2016 + dzt(k,1) * wut(i,1,1) &
2017 + dzt(k,2) * wut(i,1,2) &
2018 + dzt(k,3) * wut(i,1,3) &
2019 + dzt(k,4) * wut(i,1,4) &
2020 + dzt(k,5) * wut(i,1,5) &
2021 + dzt(k,6) * wut(i,1,6) &
2022 + dzt(k,7) * wut(i,1,7) &
2023 + dzt(k,8) * wut(i,1,8) &
2024 + dzt(k,9) * wut(i,1,9) &
2025 + dzt(k,10) * wut(i,1,10) &
2026 + dzt(k,11) * wut(i,1,11) &
2027 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
2029 av(i,1,k,e) = av(i,1,k,e) &
2030 + dzt(k,1) * wvt(i,1,1) &
2031 + dzt(k,2) * wvt(i,1,2) &
2032 + dzt(k,3) * wvt(i,1,3) &
2033 + dzt(k,4) * wvt(i,1,4) &
2034 + dzt(k,5) * wvt(i,1,5) &
2035 + dzt(k,6) * wvt(i,1,6) &
2036 + dzt(k,7) * wvt(i,1,7) &
2037 + dzt(k,8) * wvt(i,1,8) &
2038 + dzt(k,9) * wvt(i,1,9) &
2039 + dzt(k,10) * wvt(i,1,10) &
2040 + dzt(k,11) * wvt(i,1,11) &
2041 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
2043 aw(i,1,k,e) = aw(i,1,k,e) &
2044 + dzt(k,1) * wwt(i,1,1) &
2045 + dzt(k,2) * wwt(i,1,2) &
2046 + dzt(k,3) * wwt(i,1,3) &
2047 + dzt(k,4) * wwt(i,1,4) &
2048 + dzt(k,5) * wwt(i,1,5) &
2049 + dzt(k,6) * wwt(i,1,6) &
2050 + dzt(k,7) * wwt(i,1,7) &
2051 + dzt(k,8) * wwt(i,1,8) &
2052 + dzt(k,9) * wwt(i,1,9) &
2053 + dzt(k,10) * wwt(i,1,10) &
2054 + dzt(k,11) * wwt(i,1,11) &
2055 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
2061 au(i,1,k,e) = au(i,1,k,e) &
2062 + dzt(k,1) * wut(i,1,1) &
2063 + dzt(k,2) * wut(i,1,2) &
2064 + dzt(k,3) * wut(i,1,3) &
2065 + dzt(k,4) * wut(i,1,4) &
2066 + dzt(k,5) * wut(i,1,5) &
2067 + dzt(k,6) * wut(i,1,6) &
2068 + dzt(k,7) * wut(i,1,7) &
2069 + dzt(k,8) * wut(i,1,8) &
2070 + dzt(k,9) * wut(i,1,9) &
2071 + dzt(k,10) * wut(i,1,10) &
2072 + dzt(k,11) * wut(i,1,11)
2074 av(i,1,k,e) = av(i,1,k,e) &
2075 + dzt(k,1) * wvt(i,1,1) &
2076 + dzt(k,2) * wvt(i,1,2) &
2077 + dzt(k,3) * wvt(i,1,3) &
2078 + dzt(k,4) * wvt(i,1,4) &
2079 + dzt(k,5) * wvt(i,1,5) &
2080 + dzt(k,6) * wvt(i,1,6) &
2081 + dzt(k,7) * wvt(i,1,7) &
2082 + dzt(k,8) * wvt(i,1,8) &
2083 + dzt(k,9) * wvt(i,1,9) &
2084 + dzt(k,10) * wvt(i,1,10) &
2085 + dzt(k,11) * wvt(i,1,11)
2087 aw(i,1,k,e) = aw(i,1,k,e) &
2088 + dzt(k,1) * wwt(i,1,1) &
2089 + dzt(k,2) * wwt(i,1,2) &
2090 + dzt(k,3) * wwt(i,1,3) &
2091 + dzt(k,4) * wwt(i,1,4) &
2092 + dzt(k,5) * wwt(i,1,5) &
2093 + dzt(k,6) * wwt(i,1,6) &
2094 + dzt(k,7) * wwt(i,1,7) &
2095 + dzt(k,8) * wwt(i,1,8) &
2096 + dzt(k,9) * wwt(i,1,9) &
2097 + dzt(k,10) * wwt(i,1,10) &
2098 + dzt(k,11) * wwt(i,1,11)
2109 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2110 B, ifh2, jacinv, weights3, n)
2111 integer,
parameter :: lx = 10
2112 integer,
intent(in) :: n
2113 logical,
intent(in) :: ifh2
2114 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
2115 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
2116 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
2117 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2118 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2119 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2120 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2121 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2122 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
2123 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2124 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2125 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2126 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2127 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2128 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2129 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2130 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2131 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2132 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
2133 real(kind=
rp),
intent(in) :: dx(lx, lx)
2134 real(kind=
rp),
intent(in) :: dy(lx, lx)
2135 real(kind=
rp),
intent(in) :: dz(lx, lx)
2136 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2137 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2138 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2139 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2141 real(kind=
rp) :: wur(lx, lx, lx)
2142 real(kind=
rp) :: wus(lx, lx, lx)
2143 real(kind=
rp) :: wut(lx, lx, lx)
2144 real(kind=
rp) :: wvr(lx, lx, lx)
2145 real(kind=
rp) :: wvs(lx, lx, lx)
2146 real(kind=
rp) :: wvt(lx, lx, lx)
2147 real(kind=
rp) :: wwr(lx, lx, lx)
2148 real(kind=
rp) :: wws(lx, lx, lx)
2149 real(kind=
rp) :: wwt(lx, lx, lx)
2151 integer :: e, i, j, k, l
2153 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
2154 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2161 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2162 + dx(i,2) * u(2,j,1,e) &
2163 + dx(i,3) * u(3,j,1,e) &
2164 + dx(i,4) * u(4,j,1,e) &
2165 + dx(i,5) * u(5,j,1,e) &
2166 + dx(i,6) * u(6,j,1,e) &
2167 + dx(i,7) * u(7,j,1,e) &
2168 + dx(i,8) * u(8,j,1,e) &
2169 + dx(i,9) * u(9,j,1,e) &
2170 + dx(i,10) * u(10,j,1,e)
2172 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2173 + dx(i,2) * v(2,j,1,e) &
2174 + dx(i,3) * v(3,j,1,e) &
2175 + dx(i,4) * v(4,j,1,e) &
2176 + dx(i,5) * v(5,j,1,e) &
2177 + dx(i,6) * v(6,j,1,e) &
2178 + dx(i,7) * v(7,j,1,e) &
2179 + dx(i,8) * v(8,j,1,e) &
2180 + dx(i,9) * v(9,j,1,e) &
2181 + dx(i,10) * v(10,j,1,e)
2183 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2184 + dx(i,2) * w(2,j,1,e) &
2185 + dx(i,3) * w(3,j,1,e) &
2186 + dx(i,4) * w(4,j,1,e) &
2187 + dx(i,5) * w(5,j,1,e) &
2188 + dx(i,6) * w(6,j,1,e) &
2189 + dx(i,7) * w(7,j,1,e) &
2190 + dx(i,8) * w(8,j,1,e) &
2191 + dx(i,9) * w(9,j,1,e) &
2192 + dx(i,10) * w(10,j,1,e)
2199 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2200 + dy(j,2) * u(i,2,k,e) &
2201 + dy(j,3) * u(i,3,k,e) &
2202 + dy(j,4) * u(i,4,k,e) &
2203 + dy(j,5) * u(i,5,k,e) &
2204 + dy(j,6) * u(i,6,k,e) &
2205 + dy(j,7) * u(i,7,k,e) &
2206 + dy(j,8) * u(i,8,k,e) &
2207 + dy(j,9) * u(i,9,k,e) &
2208 + dy(j,10) * u(i,10,k,e)
2210 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2211 + dy(j,2) * v(i,2,k,e) &
2212 + dy(j,3) * v(i,3,k,e) &
2213 + dy(j,4) * v(i,4,k,e) &
2214 + dy(j,5) * v(i,5,k,e) &
2215 + dy(j,6) * v(i,6,k,e) &
2216 + dy(j,7) * v(i,7,k,e) &
2217 + dy(j,8) * v(i,8,k,e) &
2218 + dy(j,9) * v(i,9,k,e) &
2219 + dy(j,10) * v(i,10,k,e)
2221 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2222 + dy(j,2) * w(i,2,k,e) &
2223 + dy(j,3) * w(i,3,k,e) &
2224 + dy(j,4) * w(i,4,k,e) &
2225 + dy(j,5) * w(i,5,k,e) &
2226 + dy(j,6) * w(i,6,k,e) &
2227 + dy(j,7) * w(i,7,k,e) &
2228 + dy(j,8) * w(i,8,k,e) &
2229 + dy(j,9) * w(i,9,k,e) &
2230 + dy(j,10) * w(i,10,k,e)
2237 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2238 + dz(k,2) * u(i,1,2,e) &
2239 + dz(k,3) * u(i,1,3,e) &
2240 + dz(k,4) * u(i,1,4,e) &
2241 + dz(k,5) * u(i,1,5,e) &
2242 + dz(k,6) * u(i,1,6,e) &
2243 + dz(k,7) * u(i,1,7,e) &
2244 + dz(k,8) * u(i,1,8,e) &
2245 + dz(k,9) * u(i,1,9,e) &
2246 + dz(k,10) * u(i,1,10,e)
2248 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2249 + dz(k,2) * v(i,1,2,e) &
2250 + dz(k,3) * v(i,1,3,e) &
2251 + dz(k,4) * v(i,1,4,e) &
2252 + dz(k,5) * v(i,1,5,e) &
2253 + dz(k,6) * v(i,1,6,e) &
2254 + dz(k,7) * v(i,1,7,e) &
2255 + dz(k,8) * v(i,1,8,e) &
2256 + dz(k,9) * v(i,1,9,e) &
2257 + dz(k,10) * v(i,1,10,e)
2259 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2260 + dz(k,2) * w(i,1,2,e) &
2261 + dz(k,3) * w(i,1,3,e) &
2262 + dz(k,4) * w(i,1,4,e) &
2263 + dz(k,5) * w(i,1,5,e) &
2264 + dz(k,6) * w(i,1,6,e) &
2265 + dz(k,7) * w(i,1,7,e) &
2266 + dz(k,8) * w(i,1,8,e) &
2267 + dz(k,9) * w(i,1,9,e) &
2268 + dz(k,10) * w(i,1,10,e)
2274 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2275 + wut(i,1,1) * dtdx(i,1,1,e)
2276 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2277 + wut(i,1,1) * dtdy(i,1,1,e)
2278 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2279 + wut(i,1,1) * dtdz(i,1,1,e)
2281 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2282 + wvt(i,1,1) * dtdx(i,1,1,e)
2283 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2284 + wvt(i,1,1) * dtdy(i,1,1,e)
2285 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2286 + wvt(i,1,1) * dtdz(i,1,1,e)
2288 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2289 + wwt(i,1,1) * dtdx(i,1,1,e)
2290 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2291 + wwt(i,1,1) * dtdy(i,1,1,e)
2292 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2293 + wwt(i,1,1) * dtdz(i,1,1,e)
2295 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2303 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2304 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2305 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2307 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2308 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2309 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2311 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
2312 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
2313 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
2318 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
2319 + dxt(i,2) * wur(2,j,1) &
2320 + dxt(i,3) * wur(3,j,1) &
2321 + dxt(i,4) * wur(4,j,1) &
2322 + dxt(i,5) * wur(5,j,1) &
2323 + dxt(i,6) * wur(6,j,1) &
2324 + dxt(i,7) * wur(7,j,1) &
2325 + dxt(i,8) * wur(8,j,1) &
2326 + dxt(i,9) * wur(9,j,1) &
2327 + dxt(i,10) * wur(10,j,1)
2329 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
2330 + dxt(i,2) * wvr(2,j,1) &
2331 + dxt(i,3) * wvr(3,j,1) &
2332 + dxt(i,4) * wvr(4,j,1) &
2333 + dxt(i,5) * wvr(5,j,1) &
2334 + dxt(i,6) * wvr(6,j,1) &
2335 + dxt(i,7) * wvr(7,j,1) &
2336 + dxt(i,8) * wvr(8,j,1) &
2337 + dxt(i,9) * wvr(9,j,1) &
2338 + dxt(i,10) * wvr(10,j,1)
2340 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
2341 + dxt(i,2) * wwr(2,j,1) &
2342 + dxt(i,3) * wwr(3,j,1) &
2343 + dxt(i,4) * wwr(4,j,1) &
2344 + dxt(i,5) * wwr(5,j,1) &
2345 + dxt(i,6) * wwr(6,j,1) &
2346 + dxt(i,7) * wwr(7,j,1) &
2347 + dxt(i,8) * wwr(8,j,1) &
2348 + dxt(i,9) * wwr(9,j,1) &
2349 + dxt(i,10) * wwr(10,j,1)
2356 au(i,j,k,e) = au(i,j,k,e) &
2357 + dyt(j,1) * wus(i,1,k) &
2358 + dyt(j,2) * wus(i,2,k) &
2359 + dyt(j,3) * wus(i,3,k) &
2360 + dyt(j,4) * wus(i,4,k) &
2361 + dyt(j,5) * wus(i,5,k) &
2362 + dyt(j,6) * wus(i,6,k) &
2363 + dyt(j,7) * wus(i,7,k) &
2364 + dyt(j,8) * wus(i,8,k) &
2365 + dyt(j,9) * wus(i,9,k) &
2366 + dyt(j,10) * wus(i,10,k)
2368 av(i,j,k,e) = av(i,j,k,e) &
2369 + dyt(j,1) * wvs(i,1,k) &
2370 + dyt(j,2) * wvs(i,2,k) &
2371 + dyt(j,3) * wvs(i,3,k) &
2372 + dyt(j,4) * wvs(i,4,k) &
2373 + dyt(j,5) * wvs(i,5,k) &
2374 + dyt(j,6) * wvs(i,6,k) &
2375 + dyt(j,7) * wvs(i,7,k) &
2376 + dyt(j,8) * wvs(i,8,k) &
2377 + dyt(j,9) * wvs(i,9,k) &
2378 + dyt(j,10) * wvs(i,10,k)
2380 aw(i,j,k,e) = aw(i,j,k,e) &
2381 + dyt(j,1) * wws(i,1,k) &
2382 + dyt(j,2) * wws(i,2,k) &
2383 + dyt(j,3) * wws(i,3,k) &
2384 + dyt(j,4) * wws(i,4,k) &
2385 + dyt(j,5) * wws(i,5,k) &
2386 + dyt(j,6) * wws(i,6,k) &
2387 + dyt(j,7) * wws(i,7,k) &
2388 + dyt(j,8) * wws(i,8,k) &
2389 + dyt(j,9) * wws(i,9,k) &
2390 + dyt(j,10) * wws(i,10,k)
2398 au(i,1,k,e) = au(i,1,k,e) &
2399 + dzt(k,1) * wut(i,1,1) &
2400 + dzt(k,2) * wut(i,1,2) &
2401 + dzt(k,3) * wut(i,1,3) &
2402 + dzt(k,4) * wut(i,1,4) &
2403 + dzt(k,5) * wut(i,1,5) &
2404 + dzt(k,6) * wut(i,1,6) &
2405 + dzt(k,7) * wut(i,1,7) &
2406 + dzt(k,8) * wut(i,1,8) &
2407 + dzt(k,9) * wut(i,1,9) &
2408 + dzt(k,10) * wut(i,1,10) &
2409 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
2411 av(i,1,k,e) = av(i,1,k,e) &
2412 + dzt(k,1) * wvt(i,1,1) &
2413 + dzt(k,2) * wvt(i,1,2) &
2414 + dzt(k,3) * wvt(i,1,3) &
2415 + dzt(k,4) * wvt(i,1,4) &
2416 + dzt(k,5) * wvt(i,1,5) &
2417 + dzt(k,6) * wvt(i,1,6) &
2418 + dzt(k,7) * wvt(i,1,7) &
2419 + dzt(k,8) * wvt(i,1,8) &
2420 + dzt(k,9) * wvt(i,1,9) &
2421 + dzt(k,10) * wvt(i,1,10) &
2422 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
2424 aw(i,1,k,e) = aw(i,1,k,e) &
2425 + dzt(k,1) * wwt(i,1,1) &
2426 + dzt(k,2) * wwt(i,1,2) &
2427 + dzt(k,3) * wwt(i,1,3) &
2428 + dzt(k,4) * wwt(i,1,4) &
2429 + dzt(k,5) * wwt(i,1,5) &
2430 + dzt(k,6) * wwt(i,1,6) &
2431 + dzt(k,7) * wwt(i,1,7) &
2432 + dzt(k,8) * wwt(i,1,8) &
2433 + dzt(k,9) * wwt(i,1,9) &
2434 + dzt(k,10) * wwt(i,1,10) &
2435 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
2441 au(i,1,k,e) = au(i,1,k,e) &
2442 + dzt(k,1) * wut(i,1,1) &
2443 + dzt(k,2) * wut(i,1,2) &
2444 + dzt(k,3) * wut(i,1,3) &
2445 + dzt(k,4) * wut(i,1,4) &
2446 + dzt(k,5) * wut(i,1,5) &
2447 + dzt(k,6) * wut(i,1,6) &
2448 + dzt(k,7) * wut(i,1,7) &
2449 + dzt(k,8) * wut(i,1,8) &
2450 + dzt(k,9) * wut(i,1,9) &
2451 + dzt(k,10) * wut(i,1,10)
2453 av(i,1,k,e) = av(i,1,k,e) &
2454 + dzt(k,1) * wvt(i,1,1) &
2455 + dzt(k,2) * wvt(i,1,2) &
2456 + dzt(k,3) * wvt(i,1,3) &
2457 + dzt(k,4) * wvt(i,1,4) &
2458 + dzt(k,5) * wvt(i,1,5) &
2459 + dzt(k,6) * wvt(i,1,6) &
2460 + dzt(k,7) * wvt(i,1,7) &
2461 + dzt(k,8) * wvt(i,1,8) &
2462 + dzt(k,9) * wvt(i,1,9) &
2463 + dzt(k,10) * wvt(i,1,10)
2465 aw(i,1,k,e) = aw(i,1,k,e) &
2466 + dzt(k,1) * wwt(i,1,1) &
2467 + dzt(k,2) * wwt(i,1,2) &
2468 + dzt(k,3) * wwt(i,1,3) &
2469 + dzt(k,4) * wwt(i,1,4) &
2470 + dzt(k,5) * wwt(i,1,5) &
2471 + dzt(k,6) * wwt(i,1,6) &
2472 + dzt(k,7) * wwt(i,1,7) &
2473 + dzt(k,8) * wwt(i,1,8) &
2474 + dzt(k,9) * wwt(i,1,9) &
2475 + dzt(k,10) * wwt(i,1,10)
2484 subroutine ax_helm_stress_lx9(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
2485 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2486 B, ifh2, jacinv, weights3, n)
2487 integer,
parameter :: lx = 9
2488 integer,
intent(in) :: n
2489 logical,
intent(in) :: ifh2
2490 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
2491 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
2492 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
2493 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2494 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2495 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2496 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2497 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2498 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
2499 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2500 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2501 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2502 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2503 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2504 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2505 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2506 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2507 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2508 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
2509 real(kind=
rp),
intent(in) :: dx(lx, lx)
2510 real(kind=
rp),
intent(in) :: dy(lx, lx)
2511 real(kind=
rp),
intent(in) :: dz(lx, lx)
2512 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2513 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2514 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2515 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2517 real(kind=
rp) :: wur(lx, lx, lx)
2518 real(kind=
rp) :: wus(lx, lx, lx)
2519 real(kind=
rp) :: wut(lx, lx, lx)
2520 real(kind=
rp) :: wvr(lx, lx, lx)
2521 real(kind=
rp) :: wvs(lx, lx, lx)
2522 real(kind=
rp) :: wvt(lx, lx, lx)
2523 real(kind=
rp) :: wwr(lx, lx, lx)
2524 real(kind=
rp) :: wws(lx, lx, lx)
2525 real(kind=
rp) :: wwt(lx, lx, lx)
2527 integer :: e, i, j, k, l
2529 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
2530 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2537 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2538 + dx(i,2) * u(2,j,1,e) &
2539 + dx(i,3) * u(3,j,1,e) &
2540 + dx(i,4) * u(4,j,1,e) &
2541 + dx(i,5) * u(5,j,1,e) &
2542 + dx(i,6) * u(6,j,1,e) &
2543 + dx(i,7) * u(7,j,1,e) &
2544 + dx(i,8) * u(8,j,1,e) &
2545 + dx(i,9) * u(9,j,1,e)
2547 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2548 + dx(i,2) * v(2,j,1,e) &
2549 + dx(i,3) * v(3,j,1,e) &
2550 + dx(i,4) * v(4,j,1,e) &
2551 + dx(i,5) * v(5,j,1,e) &
2552 + dx(i,6) * v(6,j,1,e) &
2553 + dx(i,7) * v(7,j,1,e) &
2554 + dx(i,8) * v(8,j,1,e) &
2555 + dx(i,9) * v(9,j,1,e)
2557 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2558 + dx(i,2) * w(2,j,1,e) &
2559 + dx(i,3) * w(3,j,1,e) &
2560 + dx(i,4) * w(4,j,1,e) &
2561 + dx(i,5) * w(5,j,1,e) &
2562 + dx(i,6) * w(6,j,1,e) &
2563 + dx(i,7) * w(7,j,1,e) &
2564 + dx(i,8) * w(8,j,1,e) &
2565 + dx(i,9) * w(9,j,1,e)
2572 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2573 + dy(j,2) * u(i,2,k,e) &
2574 + dy(j,3) * u(i,3,k,e) &
2575 + dy(j,4) * u(i,4,k,e) &
2576 + dy(j,5) * u(i,5,k,e) &
2577 + dy(j,6) * u(i,6,k,e) &
2578 + dy(j,7) * u(i,7,k,e) &
2579 + dy(j,8) * u(i,8,k,e) &
2580 + dy(j,9) * u(i,9,k,e)
2582 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2583 + dy(j,2) * v(i,2,k,e) &
2584 + dy(j,3) * v(i,3,k,e) &
2585 + dy(j,4) * v(i,4,k,e) &
2586 + dy(j,5) * v(i,5,k,e) &
2587 + dy(j,6) * v(i,6,k,e) &
2588 + dy(j,7) * v(i,7,k,e) &
2589 + dy(j,8) * v(i,8,k,e) &
2590 + dy(j,9) * v(i,9,k,e)
2592 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2593 + dy(j,2) * w(i,2,k,e) &
2594 + dy(j,3) * w(i,3,k,e) &
2595 + dy(j,4) * w(i,4,k,e) &
2596 + dy(j,5) * w(i,5,k,e) &
2597 + dy(j,6) * w(i,6,k,e) &
2598 + dy(j,7) * w(i,7,k,e) &
2599 + dy(j,8) * w(i,8,k,e) &
2600 + dy(j,9) * w(i,9,k,e)
2607 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2608 + dz(k,2) * u(i,1,2,e) &
2609 + dz(k,3) * u(i,1,3,e) &
2610 + dz(k,4) * u(i,1,4,e) &
2611 + dz(k,5) * u(i,1,5,e) &
2612 + dz(k,6) * u(i,1,6,e) &
2613 + dz(k,7) * u(i,1,7,e) &
2614 + dz(k,8) * u(i,1,8,e) &
2615 + dz(k,9) * u(i,1,9,e)
2617 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2618 + dz(k,2) * v(i,1,2,e) &
2619 + dz(k,3) * v(i,1,3,e) &
2620 + dz(k,4) * v(i,1,4,e) &
2621 + dz(k,5) * v(i,1,5,e) &
2622 + dz(k,6) * v(i,1,6,e) &
2623 + dz(k,7) * v(i,1,7,e) &
2624 + dz(k,8) * v(i,1,8,e) &
2625 + dz(k,9) * v(i,1,9,e)
2627 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2628 + dz(k,2) * w(i,1,2,e) &
2629 + dz(k,3) * w(i,1,3,e) &
2630 + dz(k,4) * w(i,1,4,e) &
2631 + dz(k,5) * w(i,1,5,e) &
2632 + dz(k,6) * w(i,1,6,e) &
2633 + dz(k,7) * w(i,1,7,e) &
2634 + dz(k,8) * w(i,1,8,e) &
2635 + dz(k,9) * w(i,1,9,e)
2641 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2642 + wut(i,1,1) * dtdx(i,1,1,e)
2643 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2644 + wut(i,1,1) * dtdy(i,1,1,e)
2645 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2646 + wut(i,1,1) * dtdz(i,1,1,e)
2648 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2649 + wvt(i,1,1) * dtdx(i,1,1,e)
2650 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2651 + wvt(i,1,1) * dtdy(i,1,1,e)
2652 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2653 + wvt(i,1,1) * dtdz(i,1,1,e)
2655 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2656 + wwt(i,1,1) * dtdx(i,1,1,e)
2657 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2658 + wwt(i,1,1) * dtdy(i,1,1,e)
2659 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2660 + wwt(i,1,1) * dtdz(i,1,1,e)
2662 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2670 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2671 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2672 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2674 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2675 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2676 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2678 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
2679 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
2680 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
2685 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
2686 + dxt(i,2) * wur(2,j,1) &
2687 + dxt(i,3) * wur(3,j,1) &
2688 + dxt(i,4) * wur(4,j,1) &
2689 + dxt(i,5) * wur(5,j,1) &
2690 + dxt(i,6) * wur(6,j,1) &
2691 + dxt(i,7) * wur(7,j,1) &
2692 + dxt(i,8) * wur(8,j,1) &
2693 + dxt(i,9) * wur(9,j,1)
2695 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
2696 + dxt(i,2) * wvr(2,j,1) &
2697 + dxt(i,3) * wvr(3,j,1) &
2698 + dxt(i,4) * wvr(4,j,1) &
2699 + dxt(i,5) * wvr(5,j,1) &
2700 + dxt(i,6) * wvr(6,j,1) &
2701 + dxt(i,7) * wvr(7,j,1) &
2702 + dxt(i,8) * wvr(8,j,1) &
2703 + dxt(i,9) * wvr(9,j,1)
2705 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
2706 + dxt(i,2) * wwr(2,j,1) &
2707 + dxt(i,3) * wwr(3,j,1) &
2708 + dxt(i,4) * wwr(4,j,1) &
2709 + dxt(i,5) * wwr(5,j,1) &
2710 + dxt(i,6) * wwr(6,j,1) &
2711 + dxt(i,7) * wwr(7,j,1) &
2712 + dxt(i,8) * wwr(8,j,1) &
2713 + dxt(i,9) * wwr(9,j,1)
2720 au(i,j,k,e) = au(i,j,k,e) &
2721 + dyt(j,1) * wus(i,1,k) &
2722 + dyt(j,2) * wus(i,2,k) &
2723 + dyt(j,3) * wus(i,3,k) &
2724 + dyt(j,4) * wus(i,4,k) &
2725 + dyt(j,5) * wus(i,5,k) &
2726 + dyt(j,6) * wus(i,6,k) &
2727 + dyt(j,7) * wus(i,7,k) &
2728 + dyt(j,8) * wus(i,8,k) &
2729 + dyt(j,9) * wus(i,9,k)
2731 av(i,j,k,e) = av(i,j,k,e) &
2732 + dyt(j,1) * wvs(i,1,k) &
2733 + dyt(j,2) * wvs(i,2,k) &
2734 + dyt(j,3) * wvs(i,3,k) &
2735 + dyt(j,4) * wvs(i,4,k) &
2736 + dyt(j,5) * wvs(i,5,k) &
2737 + dyt(j,6) * wvs(i,6,k) &
2738 + dyt(j,7) * wvs(i,7,k) &
2739 + dyt(j,8) * wvs(i,8,k) &
2740 + dyt(j,9) * wvs(i,9,k)
2742 aw(i,j,k,e) = aw(i,j,k,e) &
2743 + dyt(j,1) * wws(i,1,k) &
2744 + dyt(j,2) * wws(i,2,k) &
2745 + dyt(j,3) * wws(i,3,k) &
2746 + dyt(j,4) * wws(i,4,k) &
2747 + dyt(j,5) * wws(i,5,k) &
2748 + dyt(j,6) * wws(i,6,k) &
2749 + dyt(j,7) * wws(i,7,k) &
2750 + dyt(j,8) * wws(i,8,k) &
2751 + dyt(j,9) * wws(i,9,k)
2759 au(i,1,k,e) = au(i,1,k,e) &
2760 + dzt(k,1) * wut(i,1,1) &
2761 + dzt(k,2) * wut(i,1,2) &
2762 + dzt(k,3) * wut(i,1,3) &
2763 + dzt(k,4) * wut(i,1,4) &
2764 + dzt(k,5) * wut(i,1,5) &
2765 + dzt(k,6) * wut(i,1,6) &
2766 + dzt(k,7) * wut(i,1,7) &
2767 + dzt(k,8) * wut(i,1,8) &
2768 + dzt(k,9) * wut(i,1,9) &
2769 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
2771 av(i,1,k,e) = av(i,1,k,e) &
2772 + dzt(k,1) * wvt(i,1,1) &
2773 + dzt(k,2) * wvt(i,1,2) &
2774 + dzt(k,3) * wvt(i,1,3) &
2775 + dzt(k,4) * wvt(i,1,4) &
2776 + dzt(k,5) * wvt(i,1,5) &
2777 + dzt(k,6) * wvt(i,1,6) &
2778 + dzt(k,7) * wvt(i,1,7) &
2779 + dzt(k,8) * wvt(i,1,8) &
2780 + dzt(k,9) * wvt(i,1,9) &
2781 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
2783 aw(i,1,k,e) = aw(i,1,k,e) &
2784 + dzt(k,1) * wwt(i,1,1) &
2785 + dzt(k,2) * wwt(i,1,2) &
2786 + dzt(k,3) * wwt(i,1,3) &
2787 + dzt(k,4) * wwt(i,1,4) &
2788 + dzt(k,5) * wwt(i,1,5) &
2789 + dzt(k,6) * wwt(i,1,6) &
2790 + dzt(k,7) * wwt(i,1,7) &
2791 + dzt(k,8) * wwt(i,1,8) &
2792 + dzt(k,9) * wwt(i,1,9) &
2793 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
2799 au(i,1,k,e) = au(i,1,k,e) &
2800 + dzt(k,1) * wut(i,1,1) &
2801 + dzt(k,2) * wut(i,1,2) &
2802 + dzt(k,3) * wut(i,1,3) &
2803 + dzt(k,4) * wut(i,1,4) &
2804 + dzt(k,5) * wut(i,1,5) &
2805 + dzt(k,6) * wut(i,1,6) &
2806 + dzt(k,7) * wut(i,1,7) &
2807 + dzt(k,8) * wut(i,1,8) &
2808 + dzt(k,9) * wut(i,1,9)
2810 av(i,1,k,e) = av(i,1,k,e) &
2811 + dzt(k,1) * wvt(i,1,1) &
2812 + dzt(k,2) * wvt(i,1,2) &
2813 + dzt(k,3) * wvt(i,1,3) &
2814 + dzt(k,4) * wvt(i,1,4) &
2815 + dzt(k,5) * wvt(i,1,5) &
2816 + dzt(k,6) * wvt(i,1,6) &
2817 + dzt(k,7) * wvt(i,1,7) &
2818 + dzt(k,8) * wvt(i,1,8) &
2819 + dzt(k,9) * wvt(i,1,9)
2821 aw(i,1,k,e) = aw(i,1,k,e) &
2822 + dzt(k,1) * wwt(i,1,1) &
2823 + dzt(k,2) * wwt(i,1,2) &
2824 + dzt(k,3) * wwt(i,1,3) &
2825 + dzt(k,4) * wwt(i,1,4) &
2826 + dzt(k,5) * wwt(i,1,5) &
2827 + dzt(k,6) * wwt(i,1,6) &
2828 + dzt(k,7) * wwt(i,1,7) &
2829 + dzt(k,8) * wwt(i,1,8) &
2830 + dzt(k,9) * wwt(i,1,9)
2839 subroutine ax_helm_stress_lx8(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
2840 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2841 B, ifh2, jacinv, weights3, n)
2842 integer,
parameter :: lx = 8
2843 integer,
intent(in) :: n
2844 logical,
intent(in) :: ifh2
2845 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
2846 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
2847 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
2848 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2849 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2850 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2851 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2852 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2853 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
2854 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2855 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2856 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2857 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2858 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2859 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2860 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2861 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2862 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2863 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
2864 real(kind=
rp),
intent(in) :: dx(lx, lx)
2865 real(kind=
rp),
intent(in) :: dy(lx, lx)
2866 real(kind=
rp),
intent(in) :: dz(lx, lx)
2867 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2868 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2869 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2870 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2872 real(kind=
rp) :: wur(lx, lx, lx)
2873 real(kind=
rp) :: wus(lx, lx, lx)
2874 real(kind=
rp) :: wut(lx, lx, lx)
2875 real(kind=
rp) :: wvr(lx, lx, lx)
2876 real(kind=
rp) :: wvs(lx, lx, lx)
2877 real(kind=
rp) :: wvt(lx, lx, lx)
2878 real(kind=
rp) :: wwr(lx, lx, lx)
2879 real(kind=
rp) :: wws(lx, lx, lx)
2880 real(kind=
rp) :: wwt(lx, lx, lx)
2882 integer :: e, i, j, k, l
2884 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
2885 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2892 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2893 + dx(i,2) * u(2,j,1,e) &
2894 + dx(i,3) * u(3,j,1,e) &
2895 + dx(i,4) * u(4,j,1,e) &
2896 + dx(i,5) * u(5,j,1,e) &
2897 + dx(i,6) * u(6,j,1,e) &
2898 + dx(i,7) * u(7,j,1,e) &
2899 + dx(i,8) * u(8,j,1,e)
2901 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2902 + dx(i,2) * v(2,j,1,e) &
2903 + dx(i,3) * v(3,j,1,e) &
2904 + dx(i,4) * v(4,j,1,e) &
2905 + dx(i,5) * v(5,j,1,e) &
2906 + dx(i,6) * v(6,j,1,e) &
2907 + dx(i,7) * v(7,j,1,e) &
2908 + dx(i,8) * v(8,j,1,e)
2910 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2911 + dx(i,2) * w(2,j,1,e) &
2912 + dx(i,3) * w(3,j,1,e) &
2913 + dx(i,4) * w(4,j,1,e) &
2914 + dx(i,5) * w(5,j,1,e) &
2915 + dx(i,6) * w(6,j,1,e) &
2916 + dx(i,7) * w(7,j,1,e) &
2917 + dx(i,8) * w(8,j,1,e)
2924 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2925 + dy(j,2) * u(i,2,k,e) &
2926 + dy(j,3) * u(i,3,k,e) &
2927 + dy(j,4) * u(i,4,k,e) &
2928 + dy(j,5) * u(i,5,k,e) &
2929 + dy(j,6) * u(i,6,k,e) &
2930 + dy(j,7) * u(i,7,k,e) &
2931 + dy(j,8) * u(i,8,k,e)
2933 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2934 + dy(j,2) * v(i,2,k,e) &
2935 + dy(j,3) * v(i,3,k,e) &
2936 + dy(j,4) * v(i,4,k,e) &
2937 + dy(j,5) * v(i,5,k,e) &
2938 + dy(j,6) * v(i,6,k,e) &
2939 + dy(j,7) * v(i,7,k,e) &
2940 + dy(j,8) * v(i,8,k,e)
2942 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2943 + dy(j,2) * w(i,2,k,e) &
2944 + dy(j,3) * w(i,3,k,e) &
2945 + dy(j,4) * w(i,4,k,e) &
2946 + dy(j,5) * w(i,5,k,e) &
2947 + dy(j,6) * w(i,6,k,e) &
2948 + dy(j,7) * w(i,7,k,e) &
2949 + dy(j,8) * w(i,8,k,e)
2956 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2957 + dz(k,2) * u(i,1,2,e) &
2958 + dz(k,3) * u(i,1,3,e) &
2959 + dz(k,4) * u(i,1,4,e) &
2960 + dz(k,5) * u(i,1,5,e) &
2961 + dz(k,6) * u(i,1,6,e) &
2962 + dz(k,7) * u(i,1,7,e) &
2963 + dz(k,8) * u(i,1,8,e)
2965 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2966 + dz(k,2) * v(i,1,2,e) &
2967 + dz(k,3) * v(i,1,3,e) &
2968 + dz(k,4) * v(i,1,4,e) &
2969 + dz(k,5) * v(i,1,5,e) &
2970 + dz(k,6) * v(i,1,6,e) &
2971 + dz(k,7) * v(i,1,7,e) &
2972 + dz(k,8) * v(i,1,8,e)
2974 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2975 + dz(k,2) * w(i,1,2,e) &
2976 + dz(k,3) * w(i,1,3,e) &
2977 + dz(k,4) * w(i,1,4,e) &
2978 + dz(k,5) * w(i,1,5,e) &
2979 + dz(k,6) * w(i,1,6,e) &
2980 + dz(k,7) * w(i,1,7,e) &
2981 + dz(k,8) * w(i,1,8,e)
2987 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2988 + wut(i,1,1) * dtdx(i,1,1,e)
2989 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2990 + wut(i,1,1) * dtdy(i,1,1,e)
2991 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2992 + wut(i,1,1) * dtdz(i,1,1,e)
2994 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2995 + wvt(i,1,1) * dtdx(i,1,1,e)
2996 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2997 + wvt(i,1,1) * dtdy(i,1,1,e)
2998 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2999 + wvt(i,1,1) * dtdz(i,1,1,e)
3001 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3002 + wwt(i,1,1) * dtdx(i,1,1,e)
3003 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3004 + wwt(i,1,1) * dtdy(i,1,1,e)
3005 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3006 + wwt(i,1,1) * dtdz(i,1,1,e)
3008 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3016 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3017 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3018 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3020 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3021 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3022 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3024 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
3025 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
3026 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
3031 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3032 + dxt(i,2) * wur(2,j,1) &
3033 + dxt(i,3) * wur(3,j,1) &
3034 + dxt(i,4) * wur(4,j,1) &
3035 + dxt(i,5) * wur(5,j,1) &
3036 + dxt(i,6) * wur(6,j,1) &
3037 + dxt(i,7) * wur(7,j,1) &
3038 + dxt(i,8) * wur(8,j,1)
3040 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3041 + dxt(i,2) * wvr(2,j,1) &
3042 + dxt(i,3) * wvr(3,j,1) &
3043 + dxt(i,4) * wvr(4,j,1) &
3044 + dxt(i,5) * wvr(5,j,1) &
3045 + dxt(i,6) * wvr(6,j,1) &
3046 + dxt(i,7) * wvr(7,j,1) &
3047 + dxt(i,8) * wvr(8,j,1)
3049 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3050 + dxt(i,2) * wwr(2,j,1) &
3051 + dxt(i,3) * wwr(3,j,1) &
3052 + dxt(i,4) * wwr(4,j,1) &
3053 + dxt(i,5) * wwr(5,j,1) &
3054 + dxt(i,6) * wwr(6,j,1) &
3055 + dxt(i,7) * wwr(7,j,1) &
3056 + dxt(i,8) * wwr(8,j,1)
3064 au(i,j,k,e) = au(i,j,k,e) &
3065 + dyt(j,1) * wus(i,1,k) &
3066 + dyt(j,2) * wus(i,2,k) &
3067 + dyt(j,3) * wus(i,3,k) &
3068 + dyt(j,4) * wus(i,4,k) &
3069 + dyt(j,5) * wus(i,5,k) &
3070 + dyt(j,6) * wus(i,6,k) &
3071 + dyt(j,7) * wus(i,7,k) &
3072 + dyt(j,8) * wus(i,8,k)
3074 av(i,j,k,e) = av(i,j,k,e) &
3075 + dyt(j,1) * wvs(i,1,k) &
3076 + dyt(j,2) * wvs(i,2,k) &
3077 + dyt(j,3) * wvs(i,3,k) &
3078 + dyt(j,4) * wvs(i,4,k) &
3079 + dyt(j,5) * wvs(i,5,k) &
3080 + dyt(j,6) * wvs(i,6,k) &
3081 + dyt(j,7) * wvs(i,7,k) &
3082 + dyt(j,8) * wvs(i,8,k)
3084 aw(i,j,k,e) = aw(i,j,k,e) &
3085 + dyt(j,1) * wws(i,1,k) &
3086 + dyt(j,2) * wws(i,2,k) &
3087 + dyt(j,3) * wws(i,3,k) &
3088 + dyt(j,4) * wws(i,4,k) &
3089 + dyt(j,5) * wws(i,5,k) &
3090 + dyt(j,6) * wws(i,6,k) &
3091 + dyt(j,7) * wws(i,7,k) &
3092 + dyt(j,8) * wws(i,8,k)
3100 au(i,1,k,e) = au(i,1,k,e) &
3101 + dzt(k,1) * wut(i,1,1) &
3102 + dzt(k,2) * wut(i,1,2) &
3103 + dzt(k,3) * wut(i,1,3) &
3104 + dzt(k,4) * wut(i,1,4) &
3105 + dzt(k,5) * wut(i,1,5) &
3106 + dzt(k,6) * wut(i,1,6) &
3107 + dzt(k,7) * wut(i,1,7) &
3108 + dzt(k,8) * wut(i,1,8) &
3109 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
3111 av(i,1,k,e) = av(i,1,k,e) &
3112 + dzt(k,1) * wvt(i,1,1) &
3113 + dzt(k,2) * wvt(i,1,2) &
3114 + dzt(k,3) * wvt(i,1,3) &
3115 + dzt(k,4) * wvt(i,1,4) &
3116 + dzt(k,5) * wvt(i,1,5) &
3117 + dzt(k,6) * wvt(i,1,6) &
3118 + dzt(k,7) * wvt(i,1,7) &
3119 + dzt(k,8) * wvt(i,1,8) &
3120 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
3122 aw(i,1,k,e) = aw(i,1,k,e) &
3123 + dzt(k,1) * wwt(i,1,1) &
3124 + dzt(k,2) * wwt(i,1,2) &
3125 + dzt(k,3) * wwt(i,1,3) &
3126 + dzt(k,4) * wwt(i,1,4) &
3127 + dzt(k,5) * wwt(i,1,5) &
3128 + dzt(k,6) * wwt(i,1,6) &
3129 + dzt(k,7) * wwt(i,1,7) &
3130 + dzt(k,8) * wwt(i,1,8) &
3131 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
3137 au(i,1,k,e) = au(i,1,k,e) &
3138 + dzt(k,1) * wut(i,1,1) &
3139 + dzt(k,2) * wut(i,1,2) &
3140 + dzt(k,3) * wut(i,1,3) &
3141 + dzt(k,4) * wut(i,1,4) &
3142 + dzt(k,5) * wut(i,1,5) &
3143 + dzt(k,6) * wut(i,1,6) &
3144 + dzt(k,7) * wut(i,1,7) &
3145 + dzt(k,8) * wut(i,1,8)
3147 av(i,1,k,e) = av(i,1,k,e) &
3148 + dzt(k,1) * wvt(i,1,1) &
3149 + dzt(k,2) * wvt(i,1,2) &
3150 + dzt(k,3) * wvt(i,1,3) &
3151 + dzt(k,4) * wvt(i,1,4) &
3152 + dzt(k,5) * wvt(i,1,5) &
3153 + dzt(k,6) * wvt(i,1,6) &
3154 + dzt(k,7) * wvt(i,1,7) &
3155 + dzt(k,8) * wvt(i,1,8)
3157 aw(i,1,k,e) = aw(i,1,k,e) &
3158 + dzt(k,1) * wwt(i,1,1) &
3159 + dzt(k,2) * wwt(i,1,2) &
3160 + dzt(k,3) * wwt(i,1,3) &
3161 + dzt(k,4) * wwt(i,1,4) &
3162 + dzt(k,5) * wwt(i,1,5) &
3163 + dzt(k,6) * wwt(i,1,6) &
3164 + dzt(k,7) * wwt(i,1,7) &
3165 + dzt(k,8) * wwt(i,1,8)
3174 subroutine ax_helm_stress_lx7(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3175 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3176 B, ifh2, jacinv, weights3, n)
3177 integer,
parameter :: lx = 7
3178 integer,
intent(in) :: n
3179 logical,
intent(in) :: ifh2
3180 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
3181 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
3182 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
3183 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3184 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3185 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3186 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3187 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3188 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
3189 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3190 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3191 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3192 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3193 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3194 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3195 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3196 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3197 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3198 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
3199 real(kind=
rp),
intent(in) :: dx(lx, lx)
3200 real(kind=
rp),
intent(in) :: dy(lx, lx)
3201 real(kind=
rp),
intent(in) :: dz(lx, lx)
3202 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3203 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3204 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3205 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3207 real(kind=
rp) :: wur(lx, lx, lx)
3208 real(kind=
rp) :: wus(lx, lx, lx)
3209 real(kind=
rp) :: wut(lx, lx, lx)
3210 real(kind=
rp) :: wvr(lx, lx, lx)
3211 real(kind=
rp) :: wvs(lx, lx, lx)
3212 real(kind=
rp) :: wvt(lx, lx, lx)
3213 real(kind=
rp) :: wwr(lx, lx, lx)
3214 real(kind=
rp) :: wws(lx, lx, lx)
3215 real(kind=
rp) :: wwt(lx, lx, lx)
3217 integer :: e, i, j, k, l
3219 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
3220 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3227 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3228 + dx(i,2) * u(2,j,1,e) &
3229 + dx(i,3) * u(3,j,1,e) &
3230 + dx(i,4) * u(4,j,1,e) &
3231 + dx(i,5) * u(5,j,1,e) &
3232 + dx(i,6) * u(6,j,1,e) &
3233 + dx(i,7) * u(7,j,1,e)
3235 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3236 + dx(i,2) * v(2,j,1,e) &
3237 + dx(i,3) * v(3,j,1,e) &
3238 + dx(i,4) * v(4,j,1,e) &
3239 + dx(i,5) * v(5,j,1,e) &
3240 + dx(i,6) * v(6,j,1,e) &
3241 + dx(i,7) * v(7,j,1,e)
3243 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3244 + dx(i,2) * w(2,j,1,e) &
3245 + dx(i,3) * w(3,j,1,e) &
3246 + dx(i,4) * w(4,j,1,e) &
3247 + dx(i,5) * w(5,j,1,e) &
3248 + dx(i,6) * w(6,j,1,e) &
3249 + dx(i,7) * w(7,j,1,e)
3256 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3257 + dy(j,2) * u(i,2,k,e) &
3258 + dy(j,3) * u(i,3,k,e) &
3259 + dy(j,4) * u(i,4,k,e) &
3260 + dy(j,5) * u(i,5,k,e) &
3261 + dy(j,6) * u(i,6,k,e) &
3262 + dy(j,7) * u(i,7,k,e)
3264 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3265 + dy(j,2) * v(i,2,k,e) &
3266 + dy(j,3) * v(i,3,k,e) &
3267 + dy(j,4) * v(i,4,k,e) &
3268 + dy(j,5) * v(i,5,k,e) &
3269 + dy(j,6) * v(i,6,k,e) &
3270 + dy(j,7) * v(i,7,k,e)
3272 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3273 + dy(j,2) * w(i,2,k,e) &
3274 + dy(j,3) * w(i,3,k,e) &
3275 + dy(j,4) * w(i,4,k,e) &
3276 + dy(j,5) * w(i,5,k,e) &
3277 + dy(j,6) * w(i,6,k,e) &
3278 + dy(j,7) * w(i,7,k,e)
3286 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3287 + dz(k,2) * u(i,1,2,e) &
3288 + dz(k,3) * u(i,1,3,e) &
3289 + dz(k,4) * u(i,1,4,e) &
3290 + dz(k,5) * u(i,1,5,e) &
3291 + dz(k,6) * u(i,1,6,e) &
3292 + dz(k,7) * u(i,1,7,e)
3294 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3295 + dz(k,2) * v(i,1,2,e) &
3296 + dz(k,3) * v(i,1,3,e) &
3297 + dz(k,4) * v(i,1,4,e) &
3298 + dz(k,5) * v(i,1,5,e) &
3299 + dz(k,6) * v(i,1,6,e) &
3300 + dz(k,7) * v(i,1,7,e)
3302 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3303 + dz(k,2) * w(i,1,2,e) &
3304 + dz(k,3) * w(i,1,3,e) &
3305 + dz(k,4) * w(i,1,4,e) &
3306 + dz(k,5) * w(i,1,5,e) &
3307 + dz(k,6) * w(i,1,6,e) &
3308 + dz(k,7) * w(i,1,7,e)
3314 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3315 + wut(i,1,1) * dtdx(i,1,1,e)
3316 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3317 + wut(i,1,1) * dtdy(i,1,1,e)
3318 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3319 + wut(i,1,1) * dtdz(i,1,1,e)
3321 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3322 + wvt(i,1,1) * dtdx(i,1,1,e)
3323 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3324 + wvt(i,1,1) * dtdy(i,1,1,e)
3325 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3326 + wvt(i,1,1) * dtdz(i,1,1,e)
3328 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3329 + wwt(i,1,1) * dtdx(i,1,1,e)
3330 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3331 + wwt(i,1,1) * dtdy(i,1,1,e)
3332 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3333 + wwt(i,1,1) * dtdz(i,1,1,e)
3335 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3343 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3344 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3345 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3347 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3348 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3349 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3351 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
3352 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
3353 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
3358 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3359 + dxt(i,2) * wur(2,j,1) &
3360 + dxt(i,3) * wur(3,j,1) &
3361 + dxt(i,4) * wur(4,j,1) &
3362 + dxt(i,5) * wur(5,j,1) &
3363 + dxt(i,6) * wur(6,j,1) &
3364 + dxt(i,7) * wur(7,j,1)
3366 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3367 + dxt(i,2) * wvr(2,j,1) &
3368 + dxt(i,3) * wvr(3,j,1) &
3369 + dxt(i,4) * wvr(4,j,1) &
3370 + dxt(i,5) * wvr(5,j,1) &
3371 + dxt(i,6) * wvr(6,j,1) &
3372 + dxt(i,7) * wvr(7,j,1)
3374 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3375 + dxt(i,2) * wwr(2,j,1) &
3376 + dxt(i,3) * wwr(3,j,1) &
3377 + dxt(i,4) * wwr(4,j,1) &
3378 + dxt(i,5) * wwr(5,j,1) &
3379 + dxt(i,6) * wwr(6,j,1) &
3380 + dxt(i,7) * wwr(7,j,1)
3388 au(i,j,k,e) = au(i,j,k,e) &
3389 + dyt(j,1) * wus(i,1,k) &
3390 + dyt(j,2) * wus(i,2,k) &
3391 + dyt(j,3) * wus(i,3,k) &
3392 + dyt(j,4) * wus(i,4,k) &
3393 + dyt(j,5) * wus(i,5,k) &
3394 + dyt(j,6) * wus(i,6,k) &
3395 + dyt(j,7) * wus(i,7,k)
3397 av(i,j,k,e) = av(i,j,k,e) &
3398 + dyt(j,1) * wvs(i,1,k) &
3399 + dyt(j,2) * wvs(i,2,k) &
3400 + dyt(j,3) * wvs(i,3,k) &
3401 + dyt(j,4) * wvs(i,4,k) &
3402 + dyt(j,5) * wvs(i,5,k) &
3403 + dyt(j,6) * wvs(i,6,k) &
3404 + dyt(j,7) * wvs(i,7,k)
3406 aw(i,j,k,e) = aw(i,j,k,e) &
3407 + dyt(j,1) * wws(i,1,k) &
3408 + dyt(j,2) * wws(i,2,k) &
3409 + dyt(j,3) * wws(i,3,k) &
3410 + dyt(j,4) * wws(i,4,k) &
3411 + dyt(j,5) * wws(i,5,k) &
3412 + dyt(j,6) * wws(i,6,k) &
3413 + dyt(j,7) * wws(i,7,k)
3421 au(i,1,k,e) = au(i,1,k,e) &
3422 + dzt(k,1) * wut(i,1,1) &
3423 + dzt(k,2) * wut(i,1,2) &
3424 + dzt(k,3) * wut(i,1,3) &
3425 + dzt(k,4) * wut(i,1,4) &
3426 + dzt(k,5) * wut(i,1,5) &
3427 + dzt(k,6) * wut(i,1,6) &
3428 + dzt(k,7) * wut(i,1,7) &
3429 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
3431 av(i,1,k,e) = av(i,1,k,e) &
3432 + dzt(k,1) * wvt(i,1,1) &
3433 + dzt(k,2) * wvt(i,1,2) &
3434 + dzt(k,3) * wvt(i,1,3) &
3435 + dzt(k,4) * wvt(i,1,4) &
3436 + dzt(k,5) * wvt(i,1,5) &
3437 + dzt(k,6) * wvt(i,1,6) &
3438 + dzt(k,7) * wvt(i,1,7) &
3439 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
3441 aw(i,1,k,e) = aw(i,1,k,e) &
3442 + dzt(k,1) * wwt(i,1,1) &
3443 + dzt(k,2) * wwt(i,1,2) &
3444 + dzt(k,3) * wwt(i,1,3) &
3445 + dzt(k,4) * wwt(i,1,4) &
3446 + dzt(k,5) * wwt(i,1,5) &
3447 + dzt(k,6) * wwt(i,1,6) &
3448 + dzt(k,7) * wwt(i,1,7) &
3449 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
3455 au(i,1,k,e) = au(i,1,k,e) &
3456 + dzt(k,1) * wut(i,1,1) &
3457 + dzt(k,2) * wut(i,1,2) &
3458 + dzt(k,3) * wut(i,1,3) &
3459 + dzt(k,4) * wut(i,1,4) &
3460 + dzt(k,5) * wut(i,1,5) &
3461 + dzt(k,6) * wut(i,1,6) &
3462 + dzt(k,7) * wut(i,1,7)
3464 av(i,1,k,e) = av(i,1,k,e) &
3465 + dzt(k,1) * wvt(i,1,1) &
3466 + dzt(k,2) * wvt(i,1,2) &
3467 + dzt(k,3) * wvt(i,1,3) &
3468 + dzt(k,4) * wvt(i,1,4) &
3469 + dzt(k,5) * wvt(i,1,5) &
3470 + dzt(k,6) * wvt(i,1,6) &
3471 + dzt(k,7) * wvt(i,1,7)
3473 aw(i,1,k,e) = aw(i,1,k,e) &
3474 + dzt(k,1) * wwt(i,1,1) &
3475 + dzt(k,2) * wwt(i,1,2) &
3476 + dzt(k,3) * wwt(i,1,3) &
3477 + dzt(k,4) * wwt(i,1,4) &
3478 + dzt(k,5) * wwt(i,1,5) &
3479 + dzt(k,6) * wwt(i,1,6) &
3480 + dzt(k,7) * wwt(i,1,7)
3489 subroutine ax_helm_stress_lx6(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3490 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3491 B, ifh2, jacinv, weights3, n)
3492 integer,
parameter :: lx = 6
3493 integer,
intent(in) :: n
3494 logical,
intent(in) :: ifh2
3495 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
3496 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
3497 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
3498 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3499 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3500 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3501 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3502 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3503 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
3504 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3505 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3506 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3507 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3508 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3509 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3510 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3511 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3512 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3513 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
3514 real(kind=
rp),
intent(in) :: dx(lx, lx)
3515 real(kind=
rp),
intent(in) :: dy(lx, lx)
3516 real(kind=
rp),
intent(in) :: dz(lx, lx)
3517 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3518 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3519 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3520 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3522 real(kind=
rp) :: wur(lx, lx, lx)
3523 real(kind=
rp) :: wus(lx, lx, lx)
3524 real(kind=
rp) :: wut(lx, lx, lx)
3525 real(kind=
rp) :: wvr(lx, lx, lx)
3526 real(kind=
rp) :: wvs(lx, lx, lx)
3527 real(kind=
rp) :: wvt(lx, lx, lx)
3528 real(kind=
rp) :: wwr(lx, lx, lx)
3529 real(kind=
rp) :: wws(lx, lx, lx)
3530 real(kind=
rp) :: wwt(lx, lx, lx)
3532 integer :: e, i, j, k, l
3534 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
3535 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3542 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3543 + dx(i,2) * u(2,j,1,e) &
3544 + dx(i,3) * u(3,j,1,e) &
3545 + dx(i,4) * u(4,j,1,e) &
3546 + dx(i,5) * u(5,j,1,e) &
3547 + dx(i,6) * u(6,j,1,e)
3549 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3550 + dx(i,2) * v(2,j,1,e) &
3551 + dx(i,3) * v(3,j,1,e) &
3552 + dx(i,4) * v(4,j,1,e) &
3553 + dx(i,5) * v(5,j,1,e) &
3554 + dx(i,6) * v(6,j,1,e)
3556 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3557 + dx(i,2) * w(2,j,1,e) &
3558 + dx(i,3) * w(3,j,1,e) &
3559 + dx(i,4) * w(4,j,1,e) &
3560 + dx(i,5) * w(5,j,1,e) &
3561 + dx(i,6) * w(6,j,1,e)
3568 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3569 + dy(j,2) * u(i,2,k,e) &
3570 + dy(j,3) * u(i,3,k,e) &
3571 + dy(j,4) * u(i,4,k,e) &
3572 + dy(j,5) * u(i,5,k,e) &
3573 + dy(j,6) * u(i,6,k,e)
3575 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3576 + dy(j,2) * v(i,2,k,e) &
3577 + dy(j,3) * v(i,3,k,e) &
3578 + dy(j,4) * v(i,4,k,e) &
3579 + dy(j,5) * v(i,5,k,e) &
3580 + dy(j,6) * v(i,6,k,e)
3582 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3583 + dy(j,2) * w(i,2,k,e) &
3584 + dy(j,3) * w(i,3,k,e) &
3585 + dy(j,4) * w(i,4,k,e) &
3586 + dy(j,5) * w(i,5,k,e) &
3587 + dy(j,6) * w(i,6,k,e)
3594 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3595 + dz(k,2) * u(i,1,2,e) &
3596 + dz(k,3) * u(i,1,3,e) &
3597 + dz(k,4) * u(i,1,4,e) &
3598 + dz(k,5) * u(i,1,5,e) &
3599 + dz(k,6) * u(i,1,6,e)
3601 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3602 + dz(k,2) * v(i,1,2,e) &
3603 + dz(k,3) * v(i,1,3,e) &
3604 + dz(k,4) * v(i,1,4,e) &
3605 + dz(k,5) * v(i,1,5,e) &
3606 + dz(k,6) * v(i,1,6,e)
3608 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3609 + dz(k,2) * w(i,1,2,e) &
3610 + dz(k,3) * w(i,1,3,e) &
3611 + dz(k,4) * w(i,1,4,e) &
3612 + dz(k,5) * w(i,1,5,e) &
3613 + dz(k,6) * w(i,1,6,e)
3619 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3620 + wut(i,1,1) * dtdx(i,1,1,e)
3621 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3622 + wut(i,1,1) * dtdy(i,1,1,e)
3623 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3624 + wut(i,1,1) * dtdz(i,1,1,e)
3626 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3627 + wvt(i,1,1) * dtdx(i,1,1,e)
3628 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3629 + wvt(i,1,1) * dtdy(i,1,1,e)
3630 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3631 + wvt(i,1,1) * dtdz(i,1,1,e)
3633 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3634 + wwt(i,1,1) * dtdx(i,1,1,e)
3635 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3636 + wwt(i,1,1) * dtdy(i,1,1,e)
3637 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3638 + wwt(i,1,1) * dtdz(i,1,1,e)
3640 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3648 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3649 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3650 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3652 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3653 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3654 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3656 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
3657 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
3658 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
3663 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3664 + dxt(i,2) * wur(2,j,1) &
3665 + dxt(i,3) * wur(3,j,1) &
3666 + dxt(i,4) * wur(4,j,1) &
3667 + dxt(i,5) * wur(5,j,1) &
3668 + dxt(i,6) * wur(6,j,1)
3670 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3671 + dxt(i,2) * wvr(2,j,1) &
3672 + dxt(i,3) * wvr(3,j,1) &
3673 + dxt(i,4) * wvr(4,j,1) &
3674 + dxt(i,5) * wvr(5,j,1) &
3675 + dxt(i,6) * wvr(6,j,1)
3677 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3678 + dxt(i,2) * wwr(2,j,1) &
3679 + dxt(i,3) * wwr(3,j,1) &
3680 + dxt(i,4) * wwr(4,j,1) &
3681 + dxt(i,5) * wwr(5,j,1) &
3682 + dxt(i,6) * wwr(6,j,1)
3689 au(i,j,k,e) = au(i,j,k,e) &
3690 + dyt(j,1) * wus(i,1,k) &
3691 + dyt(j,2) * wus(i,2,k) &
3692 + dyt(j,3) * wus(i,3,k) &
3693 + dyt(j,4) * wus(i,4,k) &
3694 + dyt(j,5) * wus(i,5,k) &
3695 + dyt(j,6) * wus(i,6,k)
3697 av(i,j,k,e) = av(i,j,k,e) &
3698 + dyt(j,1) * wvs(i,1,k) &
3699 + dyt(j,2) * wvs(i,2,k) &
3700 + dyt(j,3) * wvs(i,3,k) &
3701 + dyt(j,4) * wvs(i,4,k) &
3702 + dyt(j,5) * wvs(i,5,k) &
3703 + dyt(j,6) * wvs(i,6,k)
3705 aw(i,j,k,e) = aw(i,j,k,e) &
3706 + dyt(j,1) * wws(i,1,k) &
3707 + dyt(j,2) * wws(i,2,k) &
3708 + dyt(j,3) * wws(i,3,k) &
3709 + dyt(j,4) * wws(i,4,k) &
3710 + dyt(j,5) * wws(i,5,k) &
3711 + dyt(j,6) * wws(i,6,k)
3719 au(i,1,k,e) = au(i,1,k,e) &
3720 + dzt(k,1) * wut(i,1,1) &
3721 + dzt(k,2) * wut(i,1,2) &
3722 + dzt(k,3) * wut(i,1,3) &
3723 + dzt(k,4) * wut(i,1,4) &
3724 + dzt(k,5) * wut(i,1,5) &
3725 + dzt(k,6) * wut(i,1,6) &
3726 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
3728 av(i,1,k,e) = av(i,1,k,e) &
3729 + dzt(k,1) * wvt(i,1,1) &
3730 + dzt(k,2) * wvt(i,1,2) &
3731 + dzt(k,3) * wvt(i,1,3) &
3732 + dzt(k,4) * wvt(i,1,4) &
3733 + dzt(k,5) * wvt(i,1,5) &
3734 + dzt(k,6) * wvt(i,1,6) &
3735 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
3737 aw(i,1,k,e) = aw(i,1,k,e) &
3738 + dzt(k,1) * wwt(i,1,1) &
3739 + dzt(k,2) * wwt(i,1,2) &
3740 + dzt(k,3) * wwt(i,1,3) &
3741 + dzt(k,4) * wwt(i,1,4) &
3742 + dzt(k,5) * wwt(i,1,5) &
3743 + dzt(k,6) * wwt(i,1,6) &
3744 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
3750 au(i,1,k,e) = au(i,1,k,e) &
3751 + dzt(k,1) * wut(i,1,1) &
3752 + dzt(k,2) * wut(i,1,2) &
3753 + dzt(k,3) * wut(i,1,3) &
3754 + dzt(k,4) * wut(i,1,4) &
3755 + dzt(k,5) * wut(i,1,5) &
3756 + dzt(k,6) * wut(i,1,6)
3758 av(i,1,k,e) = av(i,1,k,e) &
3759 + dzt(k,1) * wvt(i,1,1) &
3760 + dzt(k,2) * wvt(i,1,2) &
3761 + dzt(k,3) * wvt(i,1,3) &
3762 + dzt(k,4) * wvt(i,1,4) &
3763 + dzt(k,5) * wvt(i,1,5) &
3764 + dzt(k,6) * wvt(i,1,6)
3766 aw(i,1,k,e) = aw(i,1,k,e) &
3767 + dzt(k,1) * wwt(i,1,1) &
3768 + dzt(k,2) * wwt(i,1,2) &
3769 + dzt(k,3) * wwt(i,1,3) &
3770 + dzt(k,4) * wwt(i,1,4) &
3771 + dzt(k,5) * wwt(i,1,5) &
3772 + dzt(k,6) * wwt(i,1,6)
3781 subroutine ax_helm_stress_lx5(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3782 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3783 B, ifh2, jacinv, weights3, n)
3784 integer,
parameter :: lx = 5
3785 integer,
intent(in) :: n
3786 logical,
intent(in) :: ifh2
3787 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
3788 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
3789 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
3790 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3791 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3792 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3793 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3794 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3795 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
3796 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3797 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3798 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3799 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3800 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3801 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3802 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3803 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3804 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3805 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
3806 real(kind=
rp),
intent(in) :: dx(lx, lx)
3807 real(kind=
rp),
intent(in) :: dy(lx, lx)
3808 real(kind=
rp),
intent(in) :: dz(lx, lx)
3809 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3810 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3811 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3812 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3814 real(kind=
rp) :: wur(lx, lx, lx)
3815 real(kind=
rp) :: wus(lx, lx, lx)
3816 real(kind=
rp) :: wut(lx, lx, lx)
3817 real(kind=
rp) :: wvr(lx, lx, lx)
3818 real(kind=
rp) :: wvs(lx, lx, lx)
3819 real(kind=
rp) :: wvt(lx, lx, lx)
3820 real(kind=
rp) :: wwr(lx, lx, lx)
3821 real(kind=
rp) :: wws(lx, lx, lx)
3822 real(kind=
rp) :: wwt(lx, lx, lx)
3824 integer :: e, i, j, k, l
3826 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
3827 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3834 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3835 + dx(i,2) * u(2,j,1,e) &
3836 + dx(i,3) * u(3,j,1,e) &
3837 + dx(i,4) * u(4,j,1,e) &
3838 + dx(i,5) * u(5,j,1,e)
3840 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3841 + dx(i,2) * v(2,j,1,e) &
3842 + dx(i,3) * v(3,j,1,e) &
3843 + dx(i,4) * v(4,j,1,e) &
3844 + dx(i,5) * v(5,j,1,e)
3846 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3847 + dx(i,2) * w(2,j,1,e) &
3848 + dx(i,3) * w(3,j,1,e) &
3849 + dx(i,4) * w(4,j,1,e) &
3850 + dx(i,5) * w(5,j,1,e)
3857 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3858 + dy(j,2) * u(i,2,k,e) &
3859 + dy(j,3) * u(i,3,k,e) &
3860 + dy(j,4) * u(i,4,k,e) &
3861 + dy(j,5) * u(i,5,k,e)
3863 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3864 + dy(j,2) * v(i,2,k,e) &
3865 + dy(j,3) * v(i,3,k,e) &
3866 + dy(j,4) * v(i,4,k,e) &
3867 + dy(j,5) * v(i,5,k,e)
3869 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3870 + dy(j,2) * w(i,2,k,e) &
3871 + dy(j,3) * w(i,3,k,e) &
3872 + dy(j,4) * w(i,4,k,e) &
3873 + dy(j,5) * w(i,5,k,e)
3880 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3881 + dz(k,2) * u(i,1,2,e) &
3882 + dz(k,3) * u(i,1,3,e) &
3883 + dz(k,4) * u(i,1,4,e) &
3884 + dz(k,5) * u(i,1,5,e)
3886 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3887 + dz(k,2) * v(i,1,2,e) &
3888 + dz(k,3) * v(i,1,3,e) &
3889 + dz(k,4) * v(i,1,4,e) &
3890 + dz(k,5) * v(i,1,5,e)
3892 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3893 + dz(k,2) * w(i,1,2,e) &
3894 + dz(k,3) * w(i,1,3,e) &
3895 + dz(k,4) * w(i,1,4,e) &
3896 + dz(k,5) * w(i,1,5,e)
3902 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3903 + wut(i,1,1) * dtdx(i,1,1,e)
3904 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3905 + wut(i,1,1) * dtdy(i,1,1,e)
3906 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3907 + wut(i,1,1) * dtdz(i,1,1,e)
3909 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3910 + wvt(i,1,1) * dtdx(i,1,1,e)
3911 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3912 + wvt(i,1,1) * dtdy(i,1,1,e)
3913 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3914 + wvt(i,1,1) * dtdz(i,1,1,e)
3916 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3917 + wwt(i,1,1) * dtdx(i,1,1,e)
3918 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3919 + wwt(i,1,1) * dtdy(i,1,1,e)
3920 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3921 + wwt(i,1,1) * dtdz(i,1,1,e)
3923 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3931 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3932 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3933 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3935 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3936 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3937 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3939 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
3940 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
3941 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
3946 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3947 + dxt(i,2) * wur(2,j,1) &
3948 + dxt(i,3) * wur(3,j,1) &
3949 + dxt(i,4) * wur(4,j,1) &
3950 + dxt(i,5) * wur(5,j,1)
3952 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3953 + dxt(i,2) * wvr(2,j,1) &
3954 + dxt(i,3) * wvr(3,j,1) &
3955 + dxt(i,4) * wvr(4,j,1) &
3956 + dxt(i,5) * wvr(5,j,1)
3958 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3959 + dxt(i,2) * wwr(2,j,1) &
3960 + dxt(i,3) * wwr(3,j,1) &
3961 + dxt(i,4) * wwr(4,j,1) &
3962 + dxt(i,5) * wwr(5,j,1)
3970 au(i,j,k,e) = au(i,j,k,e) &
3971 + dyt(j,1) * wus(i,1,k) &
3972 + dyt(j,2) * wus(i,2,k) &
3973 + dyt(j,3) * wus(i,3,k) &
3974 + dyt(j,4) * wus(i,4,k) &
3975 + dyt(j,5) * wus(i,5,k)
3977 av(i,j,k,e) = av(i,j,k,e) &
3978 + dyt(j,1) * wvs(i,1,k) &
3979 + dyt(j,2) * wvs(i,2,k) &
3980 + dyt(j,3) * wvs(i,3,k) &
3981 + dyt(j,4) * wvs(i,4,k) &
3982 + dyt(j,5) * wvs(i,5,k)
3984 aw(i,j,k,e) = aw(i,j,k,e) &
3985 + dyt(j,1) * wws(i,1,k) &
3986 + dyt(j,2) * wws(i,2,k) &
3987 + dyt(j,3) * wws(i,3,k) &
3988 + dyt(j,4) * wws(i,4,k) &
3989 + dyt(j,5) * wws(i,5,k)
3997 au(i,1,k,e) = au(i,1,k,e) &
3998 + dzt(k,1) * wut(i,1,1) &
3999 + dzt(k,2) * wut(i,1,2) &
4000 + dzt(k,3) * wut(i,1,3) &
4001 + dzt(k,4) * wut(i,1,4) &
4002 + dzt(k,5) * wut(i,1,5) &
4003 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
4005 av(i,1,k,e) = av(i,1,k,e) &
4006 + dzt(k,1) * wvt(i,1,1) &
4007 + dzt(k,2) * wvt(i,1,2) &
4008 + dzt(k,3) * wvt(i,1,3) &
4009 + dzt(k,4) * wvt(i,1,4) &
4010 + dzt(k,5) * wvt(i,1,5) &
4011 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
4013 aw(i,1,k,e) = aw(i,1,k,e) &
4014 + dzt(k,1) * wwt(i,1,1) &
4015 + dzt(k,2) * wwt(i,1,2) &
4016 + dzt(k,3) * wwt(i,1,3) &
4017 + dzt(k,4) * wwt(i,1,4) &
4018 + dzt(k,5) * wwt(i,1,5) &
4019 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
4025 au(i,1,k,e) = au(i,1,k,e) &
4026 + dzt(k,1) * wut(i,1,1) &
4027 + dzt(k,2) * wut(i,1,2) &
4028 + dzt(k,3) * wut(i,1,3) &
4029 + dzt(k,4) * wut(i,1,4) &
4030 + dzt(k,5) * wut(i,1,5)
4032 av(i,1,k,e) = av(i,1,k,e) &
4033 + dzt(k,1) * wvt(i,1,1) &
4034 + dzt(k,2) * wvt(i,1,2) &
4035 + dzt(k,3) * wvt(i,1,3) &
4036 + dzt(k,4) * wvt(i,1,4) &
4037 + dzt(k,5) * wvt(i,1,5)
4039 aw(i,1,k,e) = aw(i,1,k,e) &
4040 + dzt(k,1) * wwt(i,1,1) &
4041 + dzt(k,2) * wwt(i,1,2) &
4042 + dzt(k,3) * wwt(i,1,3) &
4043 + dzt(k,4) * wwt(i,1,4) &
4044 + dzt(k,5) * wwt(i,1,5)
4053 subroutine ax_helm_stress_lx4(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
4054 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
4055 B, ifh2, jacinv, weights3, n)
4056 integer,
parameter :: lx = 4
4057 integer,
intent(in) :: n
4058 logical,
intent(in) :: ifh2
4059 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
4060 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
4061 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
4062 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
4063 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
4064 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
4065 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
4066 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
4067 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
4068 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
4069 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
4070 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
4071 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
4072 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
4073 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
4074 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
4075 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
4076 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
4077 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
4078 real(kind=
rp),
intent(in) :: dx(lx, lx)
4079 real(kind=
rp),
intent(in) :: dy(lx, lx)
4080 real(kind=
rp),
intent(in) :: dz(lx, lx)
4081 real(kind=
rp),
intent(in) :: dxt(lx, lx)
4082 real(kind=
rp),
intent(in) :: dyt(lx, lx)
4083 real(kind=
rp),
intent(in) :: dzt(lx, lx)
4084 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
4086 real(kind=
rp) :: wur(lx, lx, lx)
4087 real(kind=
rp) :: wus(lx, lx, lx)
4088 real(kind=
rp) :: wut(lx, lx, lx)
4089 real(kind=
rp) :: wvr(lx, lx, lx)
4090 real(kind=
rp) :: wvs(lx, lx, lx)
4091 real(kind=
rp) :: wvt(lx, lx, lx)
4092 real(kind=
rp) :: wwr(lx, lx, lx)
4093 real(kind=
rp) :: wws(lx, lx, lx)
4094 real(kind=
rp) :: wwt(lx, lx, lx)
4096 integer :: e, i, j, k, l
4098 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
4099 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
4106 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
4107 + dx(i,2) * u(2,j,1,e) &
4108 + dx(i,3) * u(3,j,1,e) &
4109 + dx(i,4) * u(4,j,1,e)
4111 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
4112 + dx(i,2) * v(2,j,1,e) &
4113 + dx(i,3) * v(3,j,1,e) &
4114 + dx(i,4) * v(4,j,1,e)
4116 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
4117 + dx(i,2) * w(2,j,1,e) &
4118 + dx(i,3) * w(3,j,1,e) &
4119 + dx(i,4) * w(4,j,1,e)
4126 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
4127 + dy(j,2) * u(i,2,k,e) &
4128 + dy(j,3) * u(i,3,k,e) &
4129 + dy(j,4) * u(i,4,k,e)
4131 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
4132 + dy(j,2) * v(i,2,k,e) &
4133 + dy(j,3) * v(i,3,k,e) &
4134 + dy(j,4) * v(i,4,k,e)
4136 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
4137 + dy(j,2) * w(i,2,k,e) &
4138 + dy(j,3) * w(i,3,k,e) &
4139 + dy(j,4) * w(i,4,k,e)
4146 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
4147 + dz(k,2) * u(i,1,2,e) &
4148 + dz(k,3) * u(i,1,3,e) &
4149 + dz(k,4) * u(i,1,4,e)
4151 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
4152 + dz(k,2) * v(i,1,2,e) &
4153 + dz(k,3) * v(i,1,3,e) &
4154 + dz(k,4) * v(i,1,4,e)
4156 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
4157 + dz(k,2) * w(i,1,2,e) &
4158 + dz(k,3) * w(i,1,3,e) &
4159 + dz(k,4) * w(i,1,4,e)
4165 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
4166 + wut(i,1,1) * dtdx(i,1,1,e)
4167 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
4168 + wut(i,1,1) * dtdy(i,1,1,e)
4169 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
4170 + wut(i,1,1) * dtdz(i,1,1,e)
4172 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
4173 + wvt(i,1,1) * dtdx(i,1,1,e)
4174 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
4175 + wvt(i,1,1) * dtdy(i,1,1,e)
4176 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
4177 + wvt(i,1,1) * dtdz(i,1,1,e)
4179 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
4180 + wwt(i,1,1) * dtdx(i,1,1,e)
4181 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
4182 + wwt(i,1,1) * dtdy(i,1,1,e)
4183 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
4184 + wwt(i,1,1) * dtdz(i,1,1,e)
4186 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
4194 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
4195 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
4196 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
4198 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
4199 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
4200 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
4202 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
4203 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
4204 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
4209 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
4210 + dxt(i,2) * wur(2,j,1) &
4211 + dxt(i,3) * wur(3,j,1) &
4212 + dxt(i,4) * wur(4,j,1)
4214 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
4215 + dxt(i,2) * wvr(2,j,1) &
4216 + dxt(i,3) * wvr(3,j,1) &
4217 + dxt(i,4) * wvr(4,j,1)
4219 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
4220 + dxt(i,2) * wwr(2,j,1) &
4221 + dxt(i,3) * wwr(3,j,1) &
4222 + dxt(i,4) * wwr(4,j,1)
4229 au(i,j,k,e) = au(i,j,k,e) &
4230 + dyt(j,1) * wus(i,1,k) &
4231 + dyt(j,2) * wus(i,2,k) &
4232 + dyt(j,3) * wus(i,3,k) &
4233 + dyt(j,4) * wus(i,4,k)
4235 av(i,j,k,e) = av(i,j,k,e) &
4236 + dyt(j,1) * wvs(i,1,k) &
4237 + dyt(j,2) * wvs(i,2,k) &
4238 + dyt(j,3) * wvs(i,3,k) &
4239 + dyt(j,4) * wvs(i,4,k)
4241 aw(i,j,k,e) = aw(i,j,k,e) &
4242 + dyt(j,1) * wws(i,1,k) &
4243 + dyt(j,2) * wws(i,2,k) &
4244 + dyt(j,3) * wws(i,3,k) &
4245 + dyt(j,4) * wws(i,4,k)
4253 au(i,1,k,e) = au(i,1,k,e) &
4254 + dzt(k,1) * wut(i,1,1) &
4255 + dzt(k,2) * wut(i,1,2) &
4256 + dzt(k,3) * wut(i,1,3) &
4257 + dzt(k,4) * wut(i,1,4) &
4258 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
4260 av(i,1,k,e) = av(i,1,k,e) &
4261 + dzt(k,1) * wvt(i,1,1) &
4262 + dzt(k,2) * wvt(i,1,2) &
4263 + dzt(k,3) * wvt(i,1,3) &
4264 + dzt(k,4) * wvt(i,1,4) &
4265 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
4267 aw(i,1,k,e) = aw(i,1,k,e) &
4268 + dzt(k,1) * wwt(i,1,1) &
4269 + dzt(k,2) * wwt(i,1,2) &
4270 + dzt(k,3) * wwt(i,1,3) &
4271 + dzt(k,4) * wwt(i,1,4) &
4272 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
4278 au(i,1,k,e) = au(i,1,k,e) &
4279 + dzt(k,1) * wut(i,1,1) &
4280 + dzt(k,2) * wut(i,1,2) &
4281 + dzt(k,3) * wut(i,1,3) &
4282 + dzt(k,4) * wut(i,1,4)
4284 av(i,1,k,e) = av(i,1,k,e) &
4285 + dzt(k,1) * wvt(i,1,1) &
4286 + dzt(k,2) * wvt(i,1,2) &
4287 + dzt(k,3) * wvt(i,1,3) &
4288 + dzt(k,4) * wvt(i,1,4)
4290 aw(i,1,k,e) = aw(i,1,k,e) &
4291 + dzt(k,1) * wwt(i,1,1) &
4292 + dzt(k,2) * wwt(i,1,2) &
4293 + dzt(k,3) * wwt(i,1,3) &
4294 + dzt(k,4) * wwt(i,1,4)
4303 subroutine ax_helm_stress_lx3(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
4304 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
4305 B, ifh2, jacinv, weights3, n)
4306 integer,
parameter :: lx = 3
4307 integer,
intent(in) :: n
4308 logical,
intent(in) :: ifh2
4309 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
4310 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
4311 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
4312 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
4313 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
4314 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
4315 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
4316 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
4317 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
4318 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
4319 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
4320 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
4321 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
4322 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
4323 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
4324 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
4325 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
4326 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
4327 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
4328 real(kind=
rp),
intent(in) :: dx(lx, lx)
4329 real(kind=
rp),
intent(in) :: dy(lx, lx)
4330 real(kind=
rp),
intent(in) :: dz(lx, lx)
4331 real(kind=
rp),
intent(in) :: dxt(lx, lx)
4332 real(kind=
rp),
intent(in) :: dyt(lx, lx)
4333 real(kind=
rp),
intent(in) :: dzt(lx, lx)
4334 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
4336 real(kind=
rp) :: wur(lx, lx, lx)
4337 real(kind=
rp) :: wus(lx, lx, lx)
4338 real(kind=
rp) :: wut(lx, lx, lx)
4339 real(kind=
rp) :: wvr(lx, lx, lx)
4340 real(kind=
rp) :: wvs(lx, lx, lx)
4341 real(kind=
rp) :: wvt(lx, lx, lx)
4342 real(kind=
rp) :: wwr(lx, lx, lx)
4343 real(kind=
rp) :: wws(lx, lx, lx)
4344 real(kind=
rp) :: wwt(lx, lx, lx)
4346 integer :: e, i, j, k, l
4348 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
4349 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
4356 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
4357 + dx(i,2) * u(2,j,1,e) &
4358 + dx(i,3) * u(3,j,1,e)
4360 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
4361 + dx(i,2) * v(2,j,1,e) &
4362 + dx(i,3) * v(3,j,1,e)
4364 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
4365 + dx(i,2) * w(2,j,1,e) &
4366 + dx(i,3) * w(3,j,1,e)
4373 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
4374 + dy(j,2) * u(i,2,k,e) &
4375 + dy(j,3) * u(i,3,k,e)
4377 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
4378 + dy(j,2) * v(i,2,k,e) &
4379 + dy(j,3) * v(i,3,k,e)
4381 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
4382 + dy(j,2) * w(i,2,k,e) &
4383 + dy(j,3) * w(i,3,k,e)
4390 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
4391 + dz(k,2) * u(i,1,2,e) &
4392 + dz(k,3) * u(i,1,3,e)
4394 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
4395 + dz(k,2) * v(i,1,2,e) &
4396 + dz(k,3) * v(i,1,3,e)
4398 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
4399 + dz(k,2) * w(i,1,2,e) &
4400 + dz(k,3) * w(i,1,3,e)
4406 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
4407 + wut(i,1,1) * dtdx(i,1,1,e)
4408 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
4409 + wut(i,1,1) * dtdy(i,1,1,e)
4410 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
4411 + wut(i,1,1) * dtdz(i,1,1,e)
4413 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
4414 + wvt(i,1,1) * dtdx(i,1,1,e)
4415 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
4416 + wvt(i,1,1) * dtdy(i,1,1,e)
4417 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
4418 + wvt(i,1,1) * dtdz(i,1,1,e)
4420 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
4421 + wwt(i,1,1) * dtdx(i,1,1,e)
4422 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
4423 + wwt(i,1,1) * dtdy(i,1,1,e)
4424 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
4425 + wwt(i,1,1) * dtdz(i,1,1,e)
4427 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
4435 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
4436 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
4437 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
4439 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
4440 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
4441 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
4443 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
4444 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
4445 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
4450 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
4451 + dxt(i,2) * wur(2,j,1) &
4452 + dxt(i,3) * wur(3,j,1)
4454 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
4455 + dxt(i,2) * wvr(2,j,1) &
4456 + dxt(i,3) * wvr(3,j,1)
4458 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
4459 + dxt(i,2) * wwr(2,j,1) &
4460 + dxt(i,3) * wwr(3,j,1)
4467 au(i,j,k,e) = au(i,j,k,e) &
4468 + dyt(j,1) * wus(i,1,k) &
4469 + dyt(j,2) * wus(i,2,k) &
4470 + dyt(j,3) * wus(i,3,k)
4472 av(i,j,k,e) = av(i,j,k,e) &
4473 + dyt(j,1) * wvs(i,1,k) &
4474 + dyt(j,2) * wvs(i,2,k) &
4475 + dyt(j,3) * wvs(i,3,k)
4477 aw(i,j,k,e) = aw(i,j,k,e) &
4478 + dyt(j,1) * wws(i,1,k) &
4479 + dyt(j,2) * wws(i,2,k) &
4480 + dyt(j,3) * wws(i,3,k)
4488 au(i,1,k,e) = au(i,1,k,e) &
4489 + dzt(k,1) * wut(i,1,1) &
4490 + dzt(k,2) * wut(i,1,2) &
4491 + dzt(k,3) * wut(i,1,3) &
4492 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
4494 av(i,1,k,e) = av(i,1,k,e) &
4495 + dzt(k,1) * wvt(i,1,1) &
4496 + dzt(k,2) * wvt(i,1,2) &
4497 + dzt(k,3) * wvt(i,1,3) &
4498 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
4500 aw(i,1,k,e) = aw(i,1,k,e) &
4501 + dzt(k,1) * wwt(i,1,1) &
4502 + dzt(k,2) * wwt(i,1,2) &
4503 + dzt(k,3) * wwt(i,1,3) &
4504 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
4510 au(i,1,k,e) = au(i,1,k,e) &
4511 + dzt(k,1) * wut(i,1,1) &
4512 + dzt(k,2) * wut(i,1,2) &
4513 + dzt(k,3) * wut(i,1,3)
4515 av(i,1,k,e) = av(i,1,k,e) &
4516 + dzt(k,1) * wvt(i,1,1) &
4517 + dzt(k,2) * wvt(i,1,2) &
4518 + dzt(k,3) * wvt(i,1,3)
4520 aw(i,1,k,e) = aw(i,1,k,e) &
4521 + dzt(k,1) * wwt(i,1,1) &
4522 + dzt(k,2) * wwt(i,1,2) &
4523 + dzt(k,3) * wwt(i,1,3)
4532 subroutine ax_helm_stress_lx2(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
4533 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
4534 B, ifh2, jacinv, weights3, n)
4535 integer,
parameter :: lx = 2
4536 integer,
intent(in) :: n
4537 logical,
intent(in) :: ifh2
4538 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
4539 real(kind=
rp),
intent(in) :: v(lx, lx, lx, n)
4540 real(kind=
rp),
intent(in) :: w(lx, lx, lx, n)
4541 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
4542 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
4543 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
4544 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
4545 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
4546 real(kind=
rp),
intent(in) :: b(lx, lx, lx, n)
4547 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
4548 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
4549 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
4550 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
4551 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
4552 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
4553 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
4554 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
4555 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
4556 real(kind=
rp),
intent(in) :: jacinv(lx, lx, lx, n)
4557 real(kind=
rp),
intent(in) :: dx(lx, lx)
4558 real(kind=
rp),
intent(in) :: dy(lx, lx)
4559 real(kind=
rp),
intent(in) :: dz(lx, lx)
4560 real(kind=
rp),
intent(in) :: dxt(lx, lx)
4561 real(kind=
rp),
intent(in) :: dyt(lx, lx)
4562 real(kind=
rp),
intent(in) :: dzt(lx, lx)
4563 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
4565 real(kind=
rp) :: wur(lx, lx, lx)
4566 real(kind=
rp) :: wus(lx, lx, lx)
4567 real(kind=
rp) :: wut(lx, lx, lx)
4568 real(kind=
rp) :: wvr(lx, lx, lx)
4569 real(kind=
rp) :: wvs(lx, lx, lx)
4570 real(kind=
rp) :: wvt(lx, lx, lx)
4571 real(kind=
rp) :: wwr(lx, lx, lx)
4572 real(kind=
rp) :: wws(lx, lx, lx)
4573 real(kind=
rp) :: wwt(lx, lx, lx)
4575 integer :: e, i, j, k
4577 real(kind=
rp) :: s11, s22, s33, s12, s13, s23
4578 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
4585 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
4586 + dx(i,2) * u(2,j,1,e)
4588 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
4589 + dx(i,2) * v(2,j,1,e)
4591 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
4592 + dx(i,2) * w(2,j,1,e)
4599 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
4600 + dy(j,2) * u(i,2,k,e)
4602 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
4603 + dy(j,2) * v(i,2,k,e)
4605 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
4606 + dy(j,2) * w(i,2,k,e)
4613 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
4614 + dz(k,2) * u(i,1,2,e)
4616 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
4617 + dz(k,2) * v(i,1,2,e)
4619 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
4620 + dz(k,2) * w(i,1,2,e)
4626 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
4627 + wut(i,1,1) * dtdx(i,1,1,e)
4628 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
4629 + wut(i,1,1) * dtdy(i,1,1,e)
4630 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
4631 + wut(i,1,1) * dtdz(i,1,1,e)
4633 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
4634 + wvt(i,1,1) * dtdx(i,1,1,e)
4635 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
4636 + wvt(i,1,1) * dtdy(i,1,1,e)
4637 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
4638 + wvt(i,1,1) * dtdz(i,1,1,e)
4640 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
4641 + wwt(i,1,1) * dtdx(i,1,1,e)
4642 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
4643 + wwt(i,1,1) * dtdy(i,1,1,e)
4644 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
4645 + wwt(i,1,1) * dtdz(i,1,1,e)
4647 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
4655 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
4656 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
4657 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
4659 wvr(i,1,1) = drdx(i,1,1,e)*s12 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
4660 wvs(i,1,1) = dsdx(i,1,1,e)*s12 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
4661 wvt(i,1,1) = dtdx(i,1,1,e)*s12 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
4663 wwr(i,1,1) = drdx(i,1,1,e)*s13 + drdy(i,1,1,e)*s23 + drdz(i,1,1,e)*s33
4664 wws(i,1,1) = dsdx(i,1,1,e)*s13 + dsdy(i,1,1,e)*s23 + dsdz(i,1,1,e)*s33
4665 wwt(i,1,1) = dtdx(i,1,1,e)*s13 + dtdy(i,1,1,e)*s23 + dtdz(i,1,1,e)*s33
4670 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
4671 + dxt(i,2) * wur(2,j,1)
4673 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
4674 + dxt(i,2) * wvr(2,j,1)
4676 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
4677 + dxt(i,2) * wwr(2,j,1)
4684 au(i,j,k,e) = au(i,j,k,e) &
4685 + dyt(j,1) * wus(i,1,k) &
4686 + dyt(j,2) * wus(i,2,k)
4688 av(i,j,k,e) = av(i,j,k,e) &
4689 + dyt(j,1) * wvs(i,1,k) &
4690 + dyt(j,2) * wvs(i,2,k)
4692 aw(i,j,k,e) = aw(i,j,k,e) &
4693 + dyt(j,1) * wws(i,1,k) &
4694 + dyt(j,2) * wws(i,2,k)
4702 au(i,1,k,e) = au(i,1,k,e) &
4703 + dzt(k,1) * wut(i,1,1) &
4704 + dzt(k,2) * wut(i,1,2) &
4705 + h2(i,1,k,e) * b(i,1,k,e) * u(i,1,k,e)
4707 av(i,1,k,e) = av(i,1,k,e) &
4708 + dzt(k,1) * wvt(i,1,1) &
4709 + dzt(k,2) * wvt(i,1,2) &
4710 + h2(i,1,k,e) * b(i,1,k,e) * v(i,1,k,e)
4712 aw(i,1,k,e) = aw(i,1,k,e) &
4713 + dzt(k,1) * wwt(i,1,1) &
4714 + dzt(k,2) * wwt(i,1,2) &
4715 + h2(i,1,k,e) * b(i,1,k,e) * w(i,1,k,e)
4721 au(i,1,k,e) = au(i,1,k,e) &
4722 + dzt(k,1) * wut(i,1,1) &
4723 + dzt(k,2) * wut(i,1,2)
4725 av(i,1,k,e) = av(i,1,k,e) &
4726 + dzt(k,1) * wvt(i,1,1) &
4727 + dzt(k,2) * wvt(i,1,2)
4729 aw(i,1,k,e) = aw(i,1,k,e) &
4730 + dzt(k,1) * wwt(i,1,1) &
4731 + dzt(k,2) * wwt(i,1,2)