67 type(
mesh_t),
intent(inout) :: msh
68 type(
space_t),
intent(inout) :: Xh
69 type(
coef_t),
intent(inout) :: coef
70 real(kind=
rp),
intent(inout) :: u(xh%lx, xh%ly, xh%lz, msh%nelv)
71 real(kind=
rp),
intent(inout) :: v(xh%lx, xh%ly, xh%lz, msh%nelv)
72 real(kind=
rp),
intent(inout) :: 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)
80 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
81 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
82 coef%dtdx, coef%dtdy, coef%dtdz, &
83 coef%jacinv, xh%w3, msh%nelv)
86 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
87 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
88 coef%dtdx, coef%dtdy, coef%dtdz, &
89 coef%jacinv, xh%w3, msh%nelv)
92 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
93 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
94 coef%dtdx, coef%dtdy, coef%dtdz, &
95 coef%jacinv, xh%w3, msh%nelv)
98 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
99 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
100 coef%dtdx, coef%dtdy, coef%dtdz, &
101 coef%jacinv, xh%w3, msh%nelv)
104 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
105 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
106 coef%dtdx, coef%dtdy, coef%dtdz, &
107 coef%jacinv, xh%w3, msh%nelv)
110 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
111 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
112 coef%dtdx, coef%dtdy, coef%dtdz, &
113 coef%jacinv, xh%w3, msh%nelv)
116 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
117 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
118 coef%dtdx, coef%dtdy, coef%dtdz, &
119 coef%jacinv, xh%w3, msh%nelv)
122 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
123 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
124 coef%dtdx, coef%dtdy, coef%dtdz, &
125 coef%jacinv, xh%w3, msh%nelv)
128 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
129 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
130 coef%dtdx, coef%dtdy, coef%dtdz, &
131 coef%jacinv, xh%w3, msh%nelv)
134 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
135 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
136 coef%dtdx, coef%dtdy, coef%dtdz, &
137 coef%jacinv, xh%w3, msh%nelv)
140 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
141 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
142 coef%dtdx, coef%dtdy, coef%dtdz, &
143 coef%jacinv, xh%w3, msh%nelv)
146 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
147 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
148 coef%dtdx, coef%dtdy, coef%dtdz, &
149 coef%jacinv, xh%w3, msh%nelv)
152 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
153 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
154 coef%dtdx, coef%dtdy, coef%dtdz, &
155 coef%jacinv, xh%w3, msh%nelv)
158 xh%dxt, xh%dyt, xh%dzt, coef%h1, coef%h2, &
159 coef%drdx, coef%drdy, coef%drdz, coef%dsdx, coef%dsdy, coef%dsdz, &
160 coef%dtdx, coef%dtdy, coef%dtdz, &
161 coef%jacinv, xh%w3, msh%nelv, xh%lx)
165 call addcol4 (au, coef%h2, coef%B, u, coef%dof%size())
166 call addcol4 (av, coef%h2, coef%B, v, coef%dof%size())
167 call addcol4 (aw, coef%h2, coef%B, w, coef%dof%size())
172 subroutine ax_helm_stress_lx(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, &
173 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
174 jacinv, weights3, n, lx)
176 integer,
intent(in) :: n, lx
177 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
178 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
179 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
180 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
181 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
182 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
183 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
184 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
185 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
186 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
187 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
188 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
189 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
190 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
191 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
192 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
193 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
194 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
195 real(kind=
rp),
intent(in) :: dx(lx, lx)
196 real(kind=
rp),
intent(in) :: dy(lx, lx)
197 real(kind=
rp),
intent(in) :: dz(lx, lx)
198 real(kind=
rp),
intent(in) :: dxt(lx, lx)
199 real(kind=
rp),
intent(in) :: dyt(lx, lx)
200 real(kind=
rp),
intent(in) :: dzt(lx, lx)
201 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
203 real(kind=
rp) :: wur(lx, lx, lx)
204 real(kind=
rp) :: wus(lx, lx, lx)
205 real(kind=
rp) :: wut(lx, lx, lx)
206 real(kind=
rp) :: wvr(lx, lx, lx)
207 real(kind=
rp) :: wvs(lx, lx, lx)
208 real(kind=
rp) :: wvt(lx, lx, lx)
209 real(kind=
rp) :: wwr(lx, lx, lx)
210 real(kind=
rp) :: wws(lx, lx, lx)
211 real(kind=
rp) :: wwt(lx, lx, lx)
213 integer :: e, i, j, k, l
214 real(kind=
rp) :: dj, t1, t2, t3
215 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
216 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
226 t1 = t1 + dx(i,k) * u(k,j,1,e)
227 t2 = t2 + dx(i,k) * v(k,j,1,e)
228 t3 = t3 + dx(i,k) * w(k,j,1,e)
243 t1 = t1 + dy(j,l) * u(i,l,k,e)
244 t2 = t2 + dy(j,l) * v(i,l,k,e)
245 t3 = t3 + dy(j,l) * w(i,l,k,e)
260 t1 = t1 + dz(k,l) * u(i,1,l,e)
261 t2 = t2 + dz(k,l) * v(i,1,l,e)
262 t3 = t3 + dz(k,l) * w(i,1,l,e)
272 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
273 + wut(i,1,1) * dtdx(i,1,1,e)
274 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
275 + wut(i,1,1) * dtdy(i,1,1,e)
276 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
277 + wut(i,1,1) * dtdz(i,1,1,e)
279 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
280 + wvt(i,1,1) * dtdx(i,1,1,e)
281 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
282 + wvt(i,1,1) * dtdy(i,1,1,e)
283 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
284 + wvt(i,1,1) * dtdz(i,1,1,e)
286 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
287 + wwt(i,1,1) * dtdx(i,1,1,e)
288 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
289 + wwt(i,1,1) * dtdy(i,1,1,e)
290 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
291 + wwt(i,1,1) * dtdz(i,1,1,e)
293 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
304 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
305 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
306 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
308 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
309 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
310 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
312 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
313 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
314 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
323 t1 = t1 + dxt(i,k) * wur(k,j,1)
324 t2 = t2 + dxt(i,k) * wvr(k,j,1)
325 t3 = t3 + dxt(i,k) * wwr(k,j,1)
340 t1 = t1 + dyt(j,l) * wus(i,l,k)
341 t2 = t2 + dyt(j,l) * wvs(i,l,k)
342 t3 = t3 + dyt(j,l) * wws(i,l,k)
344 au(i,j,k,e) = au(i,j,k,e) + t1
345 av(i,j,k,e) = av(i,j,k,e) + t2
346 aw(i,j,k,e) = aw(i,j,k,e) + t3
357 t1 = t1 + dzt(k,l) * wut(i,1,l)
358 t2 = t2 + dzt(k,l) * wvt(i,1,l)
359 t3 = t3 + dzt(k,l) * wwt(i,1,l)
361 au(i,1,k,e) = au(i,1,k,e) + t1
362 av(i,1,k,e) = av(i,1,k,e) + t2
363 aw(i,1,k,e) = aw(i,1,k,e) + t3
370 subroutine ax_helm_stress_lx14(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, &
371 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
373 integer,
parameter :: lx = 14
374 integer,
intent(in) :: n
375 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
376 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
377 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
378 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
379 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
380 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
381 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
382 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
383 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
384 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
385 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
386 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
387 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
388 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
389 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
390 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
391 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
392 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
393 real(kind=
rp),
intent(in) :: dx(lx, lx)
394 real(kind=
rp),
intent(in) :: dy(lx, lx)
395 real(kind=
rp),
intent(in) :: dz(lx, lx)
396 real(kind=
rp),
intent(in) :: dxt(lx, lx)
397 real(kind=
rp),
intent(in) :: dyt(lx, lx)
398 real(kind=
rp),
intent(in) :: dzt(lx, lx)
399 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
401 real(kind=
rp) :: wur(lx, lx, lx)
402 real(kind=
rp) :: wus(lx, lx, lx)
403 real(kind=
rp) :: wut(lx, lx, lx)
404 real(kind=
rp) :: wvr(lx, lx, lx)
405 real(kind=
rp) :: wvs(lx, lx, lx)
406 real(kind=
rp) :: wvt(lx, lx, lx)
407 real(kind=
rp) :: wwr(lx, lx, lx)
408 real(kind=
rp) :: wws(lx, lx, lx)
409 real(kind=
rp) :: wwt(lx, lx, lx)
411 integer :: e, i, j, k, l
413 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
414 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
420 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
421 + dx(i,2) * u(2,j,1,e) &
422 + dx(i,3) * u(3,j,1,e) &
423 + dx(i,4) * u(4,j,1,e) &
424 + dx(i,5) * u(5,j,1,e) &
425 + dx(i,6) * u(6,j,1,e) &
426 + dx(i,7) * u(7,j,1,e) &
427 + dx(i,8) * u(8,j,1,e) &
428 + dx(i,9) * u(9,j,1,e) &
429 + dx(i,10) * u(10,j,1,e) &
430 + dx(i,11) * u(11,j,1,e) &
431 + dx(i,12) * u(12,j,1,e) &
432 + dx(i,13) * u(13,j,1,e) &
433 + dx(i,14) * u(14,j,1,e)
435 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
436 + dx(i,2) * v(2,j,1,e) &
437 + dx(i,3) * v(3,j,1,e) &
438 + dx(i,4) * v(4,j,1,e) &
439 + dx(i,5) * v(5,j,1,e) &
440 + dx(i,6) * v(6,j,1,e) &
441 + dx(i,7) * v(7,j,1,e) &
442 + dx(i,8) * v(8,j,1,e) &
443 + dx(i,9) * v(9,j,1,e) &
444 + dx(i,10) * v(10,j,1,e) &
445 + dx(i,11) * v(11,j,1,e) &
446 + dx(i,12) * v(12,j,1,e) &
447 + dx(i,13) * v(13,j,1,e) &
448 + dx(i,14) * v(14,j,1,e)
450 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
451 + dx(i,2) * w(2,j,1,e) &
452 + dx(i,3) * w(3,j,1,e) &
453 + dx(i,4) * w(4,j,1,e) &
454 + dx(i,5) * w(5,j,1,e) &
455 + dx(i,6) * w(6,j,1,e) &
456 + dx(i,7) * w(7,j,1,e) &
457 + dx(i,8) * w(8,j,1,e) &
458 + dx(i,9) * w(9,j,1,e) &
459 + dx(i,10) * w(10,j,1,e) &
460 + dx(i,11) * w(11,j,1,e) &
461 + dx(i,12) * w(12,j,1,e) &
462 + dx(i,13) * w(13,j,1,e) &
463 + dx(i,14) * w(14,j,1,e)
470 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
471 + dy(j,2) * u(i,2,k,e) &
472 + dy(j,3) * u(i,3,k,e) &
473 + dy(j,4) * u(i,4,k,e) &
474 + dy(j,5) * u(i,5,k,e) &
475 + dy(j,6) * u(i,6,k,e) &
476 + dy(j,7) * u(i,7,k,e) &
477 + dy(j,8) * u(i,8,k,e) &
478 + dy(j,9) * u(i,9,k,e) &
479 + dy(j,10) * u(i,10,k,e) &
480 + dy(j,11) * u(i,11,k,e) &
481 + dy(j,12) * u(i,12,k,e) &
482 + dy(j,13) * u(i,13,k,e) &
483 + dy(j,14) * u(i,14,k,e)
486 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
487 + dy(j,2) * v(i,2,k,e) &
488 + dy(j,3) * v(i,3,k,e) &
489 + dy(j,4) * v(i,4,k,e) &
490 + dy(j,5) * v(i,5,k,e) &
491 + dy(j,6) * v(i,6,k,e) &
492 + dy(j,7) * v(i,7,k,e) &
493 + dy(j,8) * v(i,8,k,e) &
494 + dy(j,9) * v(i,9,k,e) &
495 + dy(j,10) * v(i,10,k,e) &
496 + dy(j,11) * v(i,11,k,e) &
497 + dy(j,12) * v(i,12,k,e) &
498 + dy(j,13) * v(i,13,k,e) &
499 + dy(j,14) * v(i,14,k,e)
501 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
502 + dy(j,2) * w(i,2,k,e) &
503 + dy(j,3) * w(i,3,k,e) &
504 + dy(j,4) * w(i,4,k,e) &
505 + dy(j,5) * w(i,5,k,e) &
506 + dy(j,6) * w(i,6,k,e) &
507 + dy(j,7) * w(i,7,k,e) &
508 + dy(j,8) * w(i,8,k,e) &
509 + dy(j,9) * w(i,9,k,e) &
510 + dy(j,10) * w(i,10,k,e) &
511 + dy(j,11) * w(i,11,k,e) &
512 + dy(j,12) * w(i,12,k,e) &
513 + dy(j,13) * w(i,13,k,e) &
514 + dy(j,14) * w(i,14,k,e)
521 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
522 + dz(k,2) * u(i,1,2,e) &
523 + dz(k,3) * u(i,1,3,e) &
524 + dz(k,4) * u(i,1,4,e) &
525 + dz(k,5) * u(i,1,5,e) &
526 + dz(k,6) * u(i,1,6,e) &
527 + dz(k,7) * u(i,1,7,e) &
528 + dz(k,8) * u(i,1,8,e) &
529 + dz(k,9) * u(i,1,9,e) &
530 + dz(k,10) * u(i,1,10,e) &
531 + dz(k,11) * u(i,1,11,e) &
532 + dz(k,12) * u(i,1,12,e) &
533 + dz(k,13) * u(i,1,13,e) &
534 + dz(k,14) * u(i,1,14,e)
536 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
537 + dz(k,2) * v(i,1,2,e) &
538 + dz(k,3) * v(i,1,3,e) &
539 + dz(k,4) * v(i,1,4,e) &
540 + dz(k,5) * v(i,1,5,e) &
541 + dz(k,6) * v(i,1,6,e) &
542 + dz(k,7) * v(i,1,7,e) &
543 + dz(k,8) * v(i,1,8,e) &
544 + dz(k,9) * v(i,1,9,e) &
545 + dz(k,10) * v(i,1,10,e) &
546 + dz(k,11) * v(i,1,11,e) &
547 + dz(k,12) * v(i,1,12,e) &
548 + dz(k,13) * v(i,1,13,e) &
549 + dz(k,14) * v(i,1,14,e)
551 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
552 + dz(k,2) * w(i,1,2,e) &
553 + dz(k,3) * w(i,1,3,e) &
554 + dz(k,4) * w(i,1,4,e) &
555 + dz(k,5) * w(i,1,5,e) &
556 + dz(k,6) * w(i,1,6,e) &
557 + dz(k,7) * w(i,1,7,e) &
558 + dz(k,8) * w(i,1,8,e) &
559 + dz(k,9) * w(i,1,9,e) &
560 + dz(k,10) * w(i,1,10,e) &
561 + dz(k,11) * w(i,1,11,e) &
562 + dz(k,12) * w(i,1,12,e) &
563 + dz(k,13) * w(i,1,13,e) &
564 + dz(k,14) * w(i,1,14,e)
570 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
571 + wut(i,1,1) * dtdx(i,1,1,e)
572 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
573 + wut(i,1,1) * dtdy(i,1,1,e)
574 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
575 + wut(i,1,1) * dtdz(i,1,1,e)
577 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
578 + wvt(i,1,1) * dtdx(i,1,1,e)
579 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
580 + wvt(i,1,1) * dtdy(i,1,1,e)
581 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
582 + wvt(i,1,1) * dtdz(i,1,1,e)
584 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
585 + wwt(i,1,1) * dtdx(i,1,1,e)
586 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
587 + wwt(i,1,1) * dtdy(i,1,1,e)
588 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
589 + wwt(i,1,1) * dtdz(i,1,1,e)
591 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
602 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
603 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
604 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
606 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
607 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
608 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
610 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
611 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
612 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
617 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
618 + dxt(i,2) * wur(2,j,1) &
619 + dxt(i,3) * wur(3,j,1) &
620 + dxt(i,4) * wur(4,j,1) &
621 + dxt(i,5) * wur(5,j,1) &
622 + dxt(i,6) * wur(6,j,1) &
623 + dxt(i,7) * wur(7,j,1) &
624 + dxt(i,8) * wur(8,j,1) &
625 + dxt(i,9) * wur(9,j,1) &
626 + dxt(i,10) * wur(10,j,1) &
627 + dxt(i,11) * wur(11,j,1) &
628 + dxt(i,12) * wur(12,j,1) &
629 + dxt(i,13) * wur(13,j,1) &
630 + dxt(i,14) * wur(14,j,1)
632 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
633 + dxt(i,2) * wvr(2,j,1) &
634 + dxt(i,3) * wvr(3,j,1) &
635 + dxt(i,4) * wvr(4,j,1) &
636 + dxt(i,5) * wvr(5,j,1) &
637 + dxt(i,6) * wvr(6,j,1) &
638 + dxt(i,7) * wvr(7,j,1) &
639 + dxt(i,8) * wvr(8,j,1) &
640 + dxt(i,9) * wvr(9,j,1) &
641 + dxt(i,10) * wvr(10,j,1) &
642 + dxt(i,11) * wvr(11,j,1) &
643 + dxt(i,12) * wvr(12,j,1) &
644 + dxt(i,13) * wvr(13,j,1) &
645 + dxt(i,14) * wvr(14,j,1)
647 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
648 + dxt(i,2) * wwr(2,j,1) &
649 + dxt(i,3) * wwr(3,j,1) &
650 + dxt(i,4) * wwr(4,j,1) &
651 + dxt(i,5) * wwr(5,j,1) &
652 + dxt(i,6) * wwr(6,j,1) &
653 + dxt(i,7) * wwr(7,j,1) &
654 + dxt(i,8) * wwr(8,j,1) &
655 + dxt(i,9) * wwr(9,j,1) &
656 + dxt(i,10) * wwr(10,j,1) &
657 + dxt(i,11) * wwr(11,j,1) &
658 + dxt(i,12) * wwr(12,j,1) &
659 + dxt(i,13) * wwr(13,j,1) &
660 + dxt(i,14) * wwr(14,j,1)
668 au(i,j,k,e) = au(i,j,k,e) &
669 + dyt(j,1) * wus(i,1,k) &
670 + dyt(j,2) * wus(i,2,k) &
671 + dyt(j,3) * wus(i,3,k) &
672 + dyt(j,4) * wus(i,4,k) &
673 + dyt(j,5) * wus(i,5,k) &
674 + dyt(j,6) * wus(i,6,k) &
675 + dyt(j,7) * wus(i,7,k) &
676 + dyt(j,8) * wus(i,8,k) &
677 + dyt(j,9) * wus(i,9,k) &
678 + dyt(j,10) * wus(i,10,k) &
679 + dyt(j,11) * wus(i,11,k) &
680 + dyt(j,12) * wus(i,12,k) &
681 + dyt(j,13) * wus(i,13,k) &
682 + dyt(j,14) * wus(i,14,k)
684 av(i,j,k,e) = av(i,j,k,e) &
685 + dyt(j,1) * wvs(i,1,k) &
686 + dyt(j,2) * wvs(i,2,k) &
687 + dyt(j,3) * wvs(i,3,k) &
688 + dyt(j,4) * wvs(i,4,k) &
689 + dyt(j,5) * wvs(i,5,k) &
690 + dyt(j,6) * wvs(i,6,k) &
691 + dyt(j,7) * wvs(i,7,k) &
692 + dyt(j,8) * wvs(i,8,k) &
693 + dyt(j,9) * wvs(i,9,k) &
694 + dyt(j,10) * wvs(i,10,k) &
695 + dyt(j,11) * wvs(i,11,k) &
696 + dyt(j,12) * wvs(i,12,k) &
697 + dyt(j,13) * wvs(i,13,k) &
698 + dyt(j,14) * wvs(i,14,k)
700 aw(i,j,k,e) = aw(i,j,k,e) &
701 + dyt(j,1) * wws(i,1,k) &
702 + dyt(j,2) * wws(i,2,k) &
703 + dyt(j,3) * wws(i,3,k) &
704 + dyt(j,4) * wws(i,4,k) &
705 + dyt(j,5) * wws(i,5,k) &
706 + dyt(j,6) * wws(i,6,k) &
707 + dyt(j,7) * wws(i,7,k) &
708 + dyt(j,8) * wws(i,8,k) &
709 + dyt(j,9) * wws(i,9,k) &
710 + dyt(j,10) * wws(i,10,k) &
711 + dyt(j,11) * wws(i,11,k) &
712 + dyt(j,12) * wws(i,12,k) &
713 + dyt(j,13) * wws(i,13,k) &
714 + dyt(j,14) * wws(i,14,k)
721 au(i,1,k,e) = au(i,1,k,e) &
722 + dzt(k,1) * wut(i,1,1) &
723 + dzt(k,2) * wut(i,1,2) &
724 + dzt(k,3) * wut(i,1,3) &
725 + dzt(k,4) * wut(i,1,4) &
726 + dzt(k,5) * wut(i,1,5) &
727 + dzt(k,6) * wut(i,1,6) &
728 + dzt(k,7) * wut(i,1,7) &
729 + dzt(k,8) * wut(i,1,8) &
730 + dzt(k,9) * wut(i,1,9) &
731 + dzt(k,10) * wut(i,1,10) &
732 + dzt(k,11) * wut(i,1,11) &
733 + dzt(k,12) * wut(i,1,12) &
734 + dzt(k,13) * wut(i,1,13) &
735 + dzt(k,14) * wut(i,1,14)
737 av(i,1,k,e) = av(i,1,k,e) &
738 + dzt(k,1) * wvt(i,1,1) &
739 + dzt(k,2) * wvt(i,1,2) &
740 + dzt(k,3) * wvt(i,1,3) &
741 + dzt(k,4) * wvt(i,1,4) &
742 + dzt(k,5) * wvt(i,1,5) &
743 + dzt(k,6) * wvt(i,1,6) &
744 + dzt(k,7) * wvt(i,1,7) &
745 + dzt(k,8) * wvt(i,1,8) &
746 + dzt(k,9) * wvt(i,1,9) &
747 + dzt(k,10) * wvt(i,1,10) &
748 + dzt(k,11) * wvt(i,1,11) &
749 + dzt(k,12) * wvt(i,1,12) &
750 + dzt(k,13) * wvt(i,1,13) &
751 + dzt(k,14) * wvt(i,1,14)
753 aw(i,1,k,e) = aw(i,1,k,e) &
754 + dzt(k,1) * wwt(i,1,1) &
755 + dzt(k,2) * wwt(i,1,2) &
756 + dzt(k,3) * wwt(i,1,3) &
757 + dzt(k,4) * wwt(i,1,4) &
758 + dzt(k,5) * wwt(i,1,5) &
759 + dzt(k,6) * wwt(i,1,6) &
760 + dzt(k,7) * wwt(i,1,7) &
761 + dzt(k,8) * wwt(i,1,8) &
762 + dzt(k,9) * wwt(i,1,9) &
763 + dzt(k,10) * wwt(i,1,10) &
764 + dzt(k,11) * wwt(i,1,11) &
765 + dzt(k,12) * wwt(i,1,12) &
766 + dzt(k,13) * wwt(i,1,13) &
767 + dzt(k,14) * wwt(i,1,14)
775 subroutine ax_helm_stress_lx13(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
776 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
778 integer,
parameter :: lx = 13
779 integer,
intent(in) :: n
780 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
781 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
782 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
783 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
784 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
785 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
786 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
787 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
788 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
789 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
790 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
791 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
792 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
793 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
794 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
795 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
796 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
797 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
798 real(kind=
rp),
intent(in) :: dx(lx, lx)
799 real(kind=
rp),
intent(in) :: dy(lx, lx)
800 real(kind=
rp),
intent(in) :: dz(lx, lx)
801 real(kind=
rp),
intent(in) :: dxt(lx, lx)
802 real(kind=
rp),
intent(in) :: dyt(lx, lx)
803 real(kind=
rp),
intent(in) :: dzt(lx, lx)
804 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
806 real(kind=
rp) :: wur(lx, lx, lx)
807 real(kind=
rp) :: wus(lx, lx, lx)
808 real(kind=
rp) :: wut(lx, lx, lx)
809 real(kind=
rp) :: wvr(lx, lx, lx)
810 real(kind=
rp) :: wvs(lx, lx, lx)
811 real(kind=
rp) :: wvt(lx, lx, lx)
812 real(kind=
rp) :: wwr(lx, lx, lx)
813 real(kind=
rp) :: wws(lx, lx, lx)
814 real(kind=
rp) :: wwt(lx, lx, lx)
816 integer :: e, i, j, k, l
818 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
819 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
825 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
826 + dx(i,2) * u(2,j,1,e) &
827 + dx(i,3) * u(3,j,1,e) &
828 + dx(i,4) * u(4,j,1,e) &
829 + dx(i,5) * u(5,j,1,e) &
830 + dx(i,6) * u(6,j,1,e) &
831 + dx(i,7) * u(7,j,1,e) &
832 + dx(i,8) * u(8,j,1,e) &
833 + dx(i,9) * u(9,j,1,e) &
834 + dx(i,10) * u(10,j,1,e) &
835 + dx(i,11) * u(11,j,1,e) &
836 + dx(i,12) * u(12,j,1,e) &
837 + dx(i,13) * u(13,j,1,e)
839 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
840 + dx(i,2) * v(2,j,1,e) &
841 + dx(i,3) * v(3,j,1,e) &
842 + dx(i,4) * v(4,j,1,e) &
843 + dx(i,5) * v(5,j,1,e) &
844 + dx(i,6) * v(6,j,1,e) &
845 + dx(i,7) * v(7,j,1,e) &
846 + dx(i,8) * v(8,j,1,e) &
847 + dx(i,9) * v(9,j,1,e) &
848 + dx(i,10) * v(10,j,1,e) &
849 + dx(i,11) * v(11,j,1,e) &
850 + dx(i,12) * v(12,j,1,e) &
851 + dx(i,13) * v(13,j,1,e)
853 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
854 + dx(i,2) * w(2,j,1,e) &
855 + dx(i,3) * w(3,j,1,e) &
856 + dx(i,4) * w(4,j,1,e) &
857 + dx(i,5) * w(5,j,1,e) &
858 + dx(i,6) * w(6,j,1,e) &
859 + dx(i,7) * w(7,j,1,e) &
860 + dx(i,8) * w(8,j,1,e) &
861 + dx(i,9) * w(9,j,1,e) &
862 + dx(i,10) * w(10,j,1,e) &
863 + dx(i,11) * w(11,j,1,e) &
864 + dx(i,12) * w(12,j,1,e) &
865 + dx(i,13) * w(13,j,1,e)
872 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
873 + dy(j,2) * u(i,2,k,e) &
874 + dy(j,3) * u(i,3,k,e) &
875 + dy(j,4) * u(i,4,k,e) &
876 + dy(j,5) * u(i,5,k,e) &
877 + dy(j,6) * u(i,6,k,e) &
878 + dy(j,7) * u(i,7,k,e) &
879 + dy(j,8) * u(i,8,k,e) &
880 + dy(j,9) * u(i,9,k,e) &
881 + dy(j,10) * u(i,10,k,e) &
882 + dy(j,11) * u(i,11,k,e) &
883 + dy(j,12) * u(i,12,k,e) &
884 + dy(j,13) * u(i,13,k,e)
887 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
888 + dy(j,2) * v(i,2,k,e) &
889 + dy(j,3) * v(i,3,k,e) &
890 + dy(j,4) * v(i,4,k,e) &
891 + dy(j,5) * v(i,5,k,e) &
892 + dy(j,6) * v(i,6,k,e) &
893 + dy(j,7) * v(i,7,k,e) &
894 + dy(j,8) * v(i,8,k,e) &
895 + dy(j,9) * v(i,9,k,e) &
896 + dy(j,10) * v(i,10,k,e) &
897 + dy(j,11) * v(i,11,k,e) &
898 + dy(j,12) * v(i,12,k,e) &
899 + dy(j,13) * v(i,13,k,e)
901 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
902 + dy(j,2) * w(i,2,k,e) &
903 + dy(j,3) * w(i,3,k,e) &
904 + dy(j,4) * w(i,4,k,e) &
905 + dy(j,5) * w(i,5,k,e) &
906 + dy(j,6) * w(i,6,k,e) &
907 + dy(j,7) * w(i,7,k,e) &
908 + dy(j,8) * w(i,8,k,e) &
909 + dy(j,9) * w(i,9,k,e) &
910 + dy(j,10) * w(i,10,k,e) &
911 + dy(j,11) * w(i,11,k,e) &
912 + dy(j,12) * w(i,12,k,e) &
913 + dy(j,13) * w(i,13,k,e)
920 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
921 + dz(k,2) * u(i,1,2,e) &
922 + dz(k,3) * u(i,1,3,e) &
923 + dz(k,4) * u(i,1,4,e) &
924 + dz(k,5) * u(i,1,5,e) &
925 + dz(k,6) * u(i,1,6,e) &
926 + dz(k,7) * u(i,1,7,e) &
927 + dz(k,8) * u(i,1,8,e) &
928 + dz(k,9) * u(i,1,9,e) &
929 + dz(k,10) * u(i,1,10,e) &
930 + dz(k,11) * u(i,1,11,e) &
931 + dz(k,12) * u(i,1,12,e) &
932 + dz(k,13) * u(i,1,13,e)
934 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
935 + dz(k,2) * v(i,1,2,e) &
936 + dz(k,3) * v(i,1,3,e) &
937 + dz(k,4) * v(i,1,4,e) &
938 + dz(k,5) * v(i,1,5,e) &
939 + dz(k,6) * v(i,1,6,e) &
940 + dz(k,7) * v(i,1,7,e) &
941 + dz(k,8) * v(i,1,8,e) &
942 + dz(k,9) * v(i,1,9,e) &
943 + dz(k,10) * v(i,1,10,e) &
944 + dz(k,11) * v(i,1,11,e) &
945 + dz(k,12) * v(i,1,12,e) &
946 + dz(k,13) * v(i,1,13,e)
948 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
949 + dz(k,2) * w(i,1,2,e) &
950 + dz(k,3) * w(i,1,3,e) &
951 + dz(k,4) * w(i,1,4,e) &
952 + dz(k,5) * w(i,1,5,e) &
953 + dz(k,6) * w(i,1,6,e) &
954 + dz(k,7) * w(i,1,7,e) &
955 + dz(k,8) * w(i,1,8,e) &
956 + dz(k,9) * w(i,1,9,e) &
957 + dz(k,10) * w(i,1,10,e) &
958 + dz(k,11) * w(i,1,11,e) &
959 + dz(k,12) * w(i,1,12,e) &
960 + dz(k,13) * w(i,1,13,e)
966 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
967 + wut(i,1,1) * dtdx(i,1,1,e)
968 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
969 + wut(i,1,1) * dtdy(i,1,1,e)
970 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
971 + wut(i,1,1) * dtdz(i,1,1,e)
973 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
974 + wvt(i,1,1) * dtdx(i,1,1,e)
975 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
976 + wvt(i,1,1) * dtdy(i,1,1,e)
977 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
978 + wvt(i,1,1) * dtdz(i,1,1,e)
980 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
981 + wwt(i,1,1) * dtdx(i,1,1,e)
982 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
983 + wwt(i,1,1) * dtdy(i,1,1,e)
984 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
985 + wwt(i,1,1) * dtdz(i,1,1,e)
987 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
998 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
999 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1000 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1002 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1003 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1004 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1006 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
1007 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
1008 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
1013 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1014 + dxt(i,2) * wur(2,j,1) &
1015 + dxt(i,3) * wur(3,j,1) &
1016 + dxt(i,4) * wur(4,j,1) &
1017 + dxt(i,5) * wur(5,j,1) &
1018 + dxt(i,6) * wur(6,j,1) &
1019 + dxt(i,7) * wur(7,j,1) &
1020 + dxt(i,8) * wur(8,j,1) &
1021 + dxt(i,9) * wur(9,j,1) &
1022 + dxt(i,10) * wur(10,j,1) &
1023 + dxt(i,11) * wur(11,j,1) &
1024 + dxt(i,12) * wur(12,j,1) &
1025 + dxt(i,13) * wur(13,j,1)
1027 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1028 + dxt(i,2) * wvr(2,j,1) &
1029 + dxt(i,3) * wvr(3,j,1) &
1030 + dxt(i,4) * wvr(4,j,1) &
1031 + dxt(i,5) * wvr(5,j,1) &
1032 + dxt(i,6) * wvr(6,j,1) &
1033 + dxt(i,7) * wvr(7,j,1) &
1034 + dxt(i,8) * wvr(8,j,1) &
1035 + dxt(i,9) * wvr(9,j,1) &
1036 + dxt(i,10) * wvr(10,j,1) &
1037 + dxt(i,11) * wvr(11,j,1) &
1038 + dxt(i,12) * wvr(12,j,1) &
1039 + dxt(i,13) * wvr(13,j,1)
1041 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1042 + dxt(i,2) * wwr(2,j,1) &
1043 + dxt(i,3) * wwr(3,j,1) &
1044 + dxt(i,4) * wwr(4,j,1) &
1045 + dxt(i,5) * wwr(5,j,1) &
1046 + dxt(i,6) * wwr(6,j,1) &
1047 + dxt(i,7) * wwr(7,j,1) &
1048 + dxt(i,8) * wwr(8,j,1) &
1049 + dxt(i,9) * wwr(9,j,1) &
1050 + dxt(i,10) * wwr(10,j,1) &
1051 + dxt(i,11) * wwr(11,j,1) &
1052 + dxt(i,12) * wwr(12,j,1) &
1053 + dxt(i,13) * wwr(13,j,1)
1060 au(i,j,k,e) = au(i,j,k,e) &
1061 + dyt(j,1) * wus(i,1,k) &
1062 + dyt(j,2) * wus(i,2,k) &
1063 + dyt(j,3) * wus(i,3,k) &
1064 + dyt(j,4) * wus(i,4,k) &
1065 + dyt(j,5) * wus(i,5,k) &
1066 + dyt(j,6) * wus(i,6,k) &
1067 + dyt(j,7) * wus(i,7,k) &
1068 + dyt(j,8) * wus(i,8,k) &
1069 + dyt(j,9) * wus(i,9,k) &
1070 + dyt(j,10) * wus(i,10,k) &
1071 + dyt(j,11) * wus(i,11,k) &
1072 + dyt(j,12) * wus(i,12,k) &
1073 + dyt(j,13) * wus(i,13,k)
1075 av(i,j,k,e) = av(i,j,k,e) &
1076 + dyt(j,1) * wvs(i,1,k) &
1077 + dyt(j,2) * wvs(i,2,k) &
1078 + dyt(j,3) * wvs(i,3,k) &
1079 + dyt(j,4) * wvs(i,4,k) &
1080 + dyt(j,5) * wvs(i,5,k) &
1081 + dyt(j,6) * wvs(i,6,k) &
1082 + dyt(j,7) * wvs(i,7,k) &
1083 + dyt(j,8) * wvs(i,8,k) &
1084 + dyt(j,9) * wvs(i,9,k) &
1085 + dyt(j,10) * wvs(i,10,k) &
1086 + dyt(j,11) * wvs(i,11,k) &
1087 + dyt(j,12) * wvs(i,12,k) &
1088 + dyt(j,13) * wvs(i,13,k)
1090 aw(i,j,k,e) = aw(i,j,k,e) &
1091 + dyt(j,1) * wws(i,1,k) &
1092 + dyt(j,2) * wws(i,2,k) &
1093 + dyt(j,3) * wws(i,3,k) &
1094 + dyt(j,4) * wws(i,4,k) &
1095 + dyt(j,5) * wws(i,5,k) &
1096 + dyt(j,6) * wws(i,6,k) &
1097 + dyt(j,7) * wws(i,7,k) &
1098 + dyt(j,8) * wws(i,8,k) &
1099 + dyt(j,9) * wws(i,9,k) &
1100 + dyt(j,10) * wws(i,10,k) &
1101 + dyt(j,11) * wws(i,11,k) &
1102 + dyt(j,12) * wws(i,12,k) &
1103 + dyt(j,13) * wws(i,13,k)
1110 au(i,1,k,e) = au(i,1,k,e) &
1111 + dzt(k,1) * wut(i,1,1) &
1112 + dzt(k,2) * wut(i,1,2) &
1113 + dzt(k,3) * wut(i,1,3) &
1114 + dzt(k,4) * wut(i,1,4) &
1115 + dzt(k,5) * wut(i,1,5) &
1116 + dzt(k,6) * wut(i,1,6) &
1117 + dzt(k,7) * wut(i,1,7) &
1118 + dzt(k,8) * wut(i,1,8) &
1119 + dzt(k,9) * wut(i,1,9) &
1120 + dzt(k,10) * wut(i,1,10) &
1121 + dzt(k,11) * wut(i,1,11) &
1122 + dzt(k,12) * wut(i,1,12) &
1123 + dzt(k,13) * wut(i,1,13)
1125 av(i,1,k,e) = av(i,1,k,e) &
1126 + dzt(k,1) * wvt(i,1,1) &
1127 + dzt(k,2) * wvt(i,1,2) &
1128 + dzt(k,3) * wvt(i,1,3) &
1129 + dzt(k,4) * wvt(i,1,4) &
1130 + dzt(k,5) * wvt(i,1,5) &
1131 + dzt(k,6) * wvt(i,1,6) &
1132 + dzt(k,7) * wvt(i,1,7) &
1133 + dzt(k,8) * wvt(i,1,8) &
1134 + dzt(k,9) * wvt(i,1,9) &
1135 + dzt(k,10) * wvt(i,1,10) &
1136 + dzt(k,11) * wvt(i,1,11) &
1137 + dzt(k,12) * wvt(i,1,12) &
1138 + dzt(k,13) * wvt(i,1,13)
1140 aw(i,1,k,e) = aw(i,1,k,e) &
1141 + dzt(k,1) * wwt(i,1,1) &
1142 + dzt(k,2) * wwt(i,1,2) &
1143 + dzt(k,3) * wwt(i,1,3) &
1144 + dzt(k,4) * wwt(i,1,4) &
1145 + dzt(k,5) * wwt(i,1,5) &
1146 + dzt(k,6) * wwt(i,1,6) &
1147 + dzt(k,7) * wwt(i,1,7) &
1148 + dzt(k,8) * wwt(i,1,8) &
1149 + dzt(k,9) * wwt(i,1,9) &
1150 + dzt(k,10) * wwt(i,1,10) &
1151 + dzt(k,11) * wwt(i,1,11) &
1152 + dzt(k,12) * wwt(i,1,12) &
1153 + dzt(k,13) * wwt(i,1,13)
1161 subroutine ax_helm_stress_lx12(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
1162 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
1163 jacinv, weights3, n)
1164 integer,
parameter :: lx = 12
1165 integer,
intent(in) :: n
1166 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
1167 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
1168 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1169 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
1170 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
1171 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
1172 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1173 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
1174 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
1175 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
1176 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
1177 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
1178 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
1179 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
1180 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
1181 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
1182 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
1183 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
1184 real(kind=
rp),
intent(in) :: dx(lx, lx)
1185 real(kind=
rp),
intent(in) :: dy(lx, lx)
1186 real(kind=
rp),
intent(in) :: dz(lx, lx)
1187 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1188 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1189 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1190 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
1192 real(kind=
rp) :: wur(lx, lx, lx)
1193 real(kind=
rp) :: wus(lx, lx, lx)
1194 real(kind=
rp) :: wut(lx, lx, lx)
1195 real(kind=
rp) :: wvr(lx, lx, lx)
1196 real(kind=
rp) :: wvs(lx, lx, lx)
1197 real(kind=
rp) :: wvt(lx, lx, lx)
1198 real(kind=
rp) :: wwr(lx, lx, lx)
1199 real(kind=
rp) :: wws(lx, lx, lx)
1200 real(kind=
rp) :: wwt(lx, lx, lx)
1202 integer :: e, i, j, k, l
1204 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
1205 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
1211 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1212 + dx(i,2) * u(2,j,1,e) &
1213 + dx(i,3) * u(3,j,1,e) &
1214 + dx(i,4) * u(4,j,1,e) &
1215 + dx(i,5) * u(5,j,1,e) &
1216 + dx(i,6) * u(6,j,1,e) &
1217 + dx(i,7) * u(7,j,1,e) &
1218 + dx(i,8) * u(8,j,1,e) &
1219 + dx(i,9) * u(9,j,1,e) &
1220 + dx(i,10) * u(10,j,1,e) &
1221 + dx(i,11) * u(11,j,1,e) &
1222 + dx(i,12) * u(12,j,1,e)
1224 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
1225 + dx(i,2) * v(2,j,1,e) &
1226 + dx(i,3) * v(3,j,1,e) &
1227 + dx(i,4) * v(4,j,1,e) &
1228 + dx(i,5) * v(5,j,1,e) &
1229 + dx(i,6) * v(6,j,1,e) &
1230 + dx(i,7) * v(7,j,1,e) &
1231 + dx(i,8) * v(8,j,1,e) &
1232 + dx(i,9) * v(9,j,1,e) &
1233 + dx(i,10) * v(10,j,1,e) &
1234 + dx(i,11) * v(11,j,1,e) &
1235 + dx(i,12) * v(12,j,1,e)
1237 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
1238 + dx(i,2) * w(2,j,1,e) &
1239 + dx(i,3) * w(3,j,1,e) &
1240 + dx(i,4) * w(4,j,1,e) &
1241 + dx(i,5) * w(5,j,1,e) &
1242 + dx(i,6) * w(6,j,1,e) &
1243 + dx(i,7) * w(7,j,1,e) &
1244 + dx(i,8) * w(8,j,1,e) &
1245 + dx(i,9) * w(9,j,1,e) &
1246 + dx(i,10) * w(10,j,1,e) &
1247 + dx(i,11) * w(11,j,1,e) &
1248 + dx(i,12) * w(12,j,1,e)
1255 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1256 + dy(j,2) * u(i,2,k,e) &
1257 + dy(j,3) * u(i,3,k,e) &
1258 + dy(j,4) * u(i,4,k,e) &
1259 + dy(j,5) * u(i,5,k,e) &
1260 + dy(j,6) * u(i,6,k,e) &
1261 + dy(j,7) * u(i,7,k,e) &
1262 + dy(j,8) * u(i,8,k,e) &
1263 + dy(j,9) * u(i,9,k,e) &
1264 + dy(j,10) * u(i,10,k,e) &
1265 + dy(j,11) * u(i,11,k,e) &
1266 + dy(j,12) * u(i,12,k,e)
1269 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
1270 + dy(j,2) * v(i,2,k,e) &
1271 + dy(j,3) * v(i,3,k,e) &
1272 + dy(j,4) * v(i,4,k,e) &
1273 + dy(j,5) * v(i,5,k,e) &
1274 + dy(j,6) * v(i,6,k,e) &
1275 + dy(j,7) * v(i,7,k,e) &
1276 + dy(j,8) * v(i,8,k,e) &
1277 + dy(j,9) * v(i,9,k,e) &
1278 + dy(j,10) * v(i,10,k,e) &
1279 + dy(j,11) * v(i,11,k,e) &
1280 + dy(j,12) * v(i,12,k,e)
1282 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
1283 + dy(j,2) * w(i,2,k,e) &
1284 + dy(j,3) * w(i,3,k,e) &
1285 + dy(j,4) * w(i,4,k,e) &
1286 + dy(j,5) * w(i,5,k,e) &
1287 + dy(j,6) * w(i,6,k,e) &
1288 + dy(j,7) * w(i,7,k,e) &
1289 + dy(j,8) * w(i,8,k,e) &
1290 + dy(j,9) * w(i,9,k,e) &
1291 + dy(j,10) * w(i,10,k,e) &
1292 + dy(j,11) * w(i,11,k,e) &
1293 + dy(j,12) * w(i,12,k,e)
1300 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1301 + dz(k,2) * u(i,1,2,e) &
1302 + dz(k,3) * u(i,1,3,e) &
1303 + dz(k,4) * u(i,1,4,e) &
1304 + dz(k,5) * u(i,1,5,e) &
1305 + dz(k,6) * u(i,1,6,e) &
1306 + dz(k,7) * u(i,1,7,e) &
1307 + dz(k,8) * u(i,1,8,e) &
1308 + dz(k,9) * u(i,1,9,e) &
1309 + dz(k,10) * u(i,1,10,e) &
1310 + dz(k,11) * u(i,1,11,e) &
1311 + dz(k,12) * u(i,1,12,e)
1313 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
1314 + dz(k,2) * v(i,1,2,e) &
1315 + dz(k,3) * v(i,1,3,e) &
1316 + dz(k,4) * v(i,1,4,e) &
1317 + dz(k,5) * v(i,1,5,e) &
1318 + dz(k,6) * v(i,1,6,e) &
1319 + dz(k,7) * v(i,1,7,e) &
1320 + dz(k,8) * v(i,1,8,e) &
1321 + dz(k,9) * v(i,1,9,e) &
1322 + dz(k,10) * v(i,1,10,e) &
1323 + dz(k,11) * v(i,1,11,e) &
1324 + dz(k,12) * v(i,1,12,e)
1326 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
1327 + dz(k,2) * w(i,1,2,e) &
1328 + dz(k,3) * w(i,1,3,e) &
1329 + dz(k,4) * w(i,1,4,e) &
1330 + dz(k,5) * w(i,1,5,e) &
1331 + dz(k,6) * w(i,1,6,e) &
1332 + dz(k,7) * w(i,1,7,e) &
1333 + dz(k,8) * w(i,1,8,e) &
1334 + dz(k,9) * w(i,1,9,e) &
1335 + dz(k,10) * w(i,1,10,e) &
1336 + dz(k,11) * w(i,1,11,e) &
1337 + dz(k,12) * w(i,1,12,e)
1343 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
1344 + wut(i,1,1) * dtdx(i,1,1,e)
1345 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
1346 + wut(i,1,1) * dtdy(i,1,1,e)
1347 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
1348 + wut(i,1,1) * dtdz(i,1,1,e)
1350 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
1351 + wvt(i,1,1) * dtdx(i,1,1,e)
1352 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
1353 + wvt(i,1,1) * dtdy(i,1,1,e)
1354 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
1355 + wvt(i,1,1) * dtdz(i,1,1,e)
1357 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
1358 + wwt(i,1,1) * dtdx(i,1,1,e)
1359 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
1360 + wwt(i,1,1) * dtdy(i,1,1,e)
1361 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
1362 + wwt(i,1,1) * dtdz(i,1,1,e)
1364 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
1375 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
1376 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1377 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1379 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1380 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1381 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1383 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
1384 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
1385 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
1390 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1391 + dxt(i,2) * wur(2,j,1) &
1392 + dxt(i,3) * wur(3,j,1) &
1393 + dxt(i,4) * wur(4,j,1) &
1394 + dxt(i,5) * wur(5,j,1) &
1395 + dxt(i,6) * wur(6,j,1) &
1396 + dxt(i,7) * wur(7,j,1) &
1397 + dxt(i,8) * wur(8,j,1) &
1398 + dxt(i,9) * wur(9,j,1) &
1399 + dxt(i,10) * wur(10,j,1) &
1400 + dxt(i,11) * wur(11,j,1) &
1401 + dxt(i,12) * wur(12,j,1)
1403 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1404 + dxt(i,2) * wvr(2,j,1) &
1405 + dxt(i,3) * wvr(3,j,1) &
1406 + dxt(i,4) * wvr(4,j,1) &
1407 + dxt(i,5) * wvr(5,j,1) &
1408 + dxt(i,6) * wvr(6,j,1) &
1409 + dxt(i,7) * wvr(7,j,1) &
1410 + dxt(i,8) * wvr(8,j,1) &
1411 + dxt(i,9) * wvr(9,j,1) &
1412 + dxt(i,10) * wvr(10,j,1) &
1413 + dxt(i,11) * wvr(11,j,1) &
1414 + dxt(i,12) * wvr(12,j,1)
1416 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1417 + dxt(i,2) * wwr(2,j,1) &
1418 + dxt(i,3) * wwr(3,j,1) &
1419 + dxt(i,4) * wwr(4,j,1) &
1420 + dxt(i,5) * wwr(5,j,1) &
1421 + dxt(i,6) * wwr(6,j,1) &
1422 + dxt(i,7) * wwr(7,j,1) &
1423 + dxt(i,8) * wwr(8,j,1) &
1424 + dxt(i,9) * wwr(9,j,1) &
1425 + dxt(i,10) * wwr(10,j,1) &
1426 + dxt(i,11) * wwr(11,j,1) &
1427 + dxt(i,12) * wwr(12,j,1)
1434 au(i,j,k,e) = au(i,j,k,e) &
1435 + dyt(j,1) * wus(i,1,k) &
1436 + dyt(j,2) * wus(i,2,k) &
1437 + dyt(j,3) * wus(i,3,k) &
1438 + dyt(j,4) * wus(i,4,k) &
1439 + dyt(j,5) * wus(i,5,k) &
1440 + dyt(j,6) * wus(i,6,k) &
1441 + dyt(j,7) * wus(i,7,k) &
1442 + dyt(j,8) * wus(i,8,k) &
1443 + dyt(j,9) * wus(i,9,k) &
1444 + dyt(j,10) * wus(i,10,k) &
1445 + dyt(j,11) * wus(i,11,k) &
1446 + dyt(j,12) * wus(i,12,k)
1448 av(i,j,k,e) = av(i,j,k,e) &
1449 + dyt(j,1) * wvs(i,1,k) &
1450 + dyt(j,2) * wvs(i,2,k) &
1451 + dyt(j,3) * wvs(i,3,k) &
1452 + dyt(j,4) * wvs(i,4,k) &
1453 + dyt(j,5) * wvs(i,5,k) &
1454 + dyt(j,6) * wvs(i,6,k) &
1455 + dyt(j,7) * wvs(i,7,k) &
1456 + dyt(j,8) * wvs(i,8,k) &
1457 + dyt(j,9) * wvs(i,9,k) &
1458 + dyt(j,10) * wvs(i,10,k) &
1459 + dyt(j,11) * wvs(i,11,k) &
1460 + dyt(j,12) * wvs(i,12,k)
1462 aw(i,j,k,e) = aw(i,j,k,e) &
1463 + dyt(j,1) * wws(i,1,k) &
1464 + dyt(j,2) * wws(i,2,k) &
1465 + dyt(j,3) * wws(i,3,k) &
1466 + dyt(j,4) * wws(i,4,k) &
1467 + dyt(j,5) * wws(i,5,k) &
1468 + dyt(j,6) * wws(i,6,k) &
1469 + dyt(j,7) * wws(i,7,k) &
1470 + dyt(j,8) * wws(i,8,k) &
1471 + dyt(j,9) * wws(i,9,k) &
1472 + dyt(j,10) * wws(i,10,k) &
1473 + dyt(j,11) * wws(i,11,k) &
1474 + dyt(j,12) * wws(i,12,k)
1481 au(i,1,k,e) = au(i,1,k,e) &
1482 + dzt(k,1) * wut(i,1,1) &
1483 + dzt(k,2) * wut(i,1,2) &
1484 + dzt(k,3) * wut(i,1,3) &
1485 + dzt(k,4) * wut(i,1,4) &
1486 + dzt(k,5) * wut(i,1,5) &
1487 + dzt(k,6) * wut(i,1,6) &
1488 + dzt(k,7) * wut(i,1,7) &
1489 + dzt(k,8) * wut(i,1,8) &
1490 + dzt(k,9) * wut(i,1,9) &
1491 + dzt(k,10) * wut(i,1,10) &
1492 + dzt(k,11) * wut(i,1,11) &
1493 + dzt(k,12) * wut(i,1,12)
1495 av(i,1,k,e) = av(i,1,k,e) &
1496 + dzt(k,1) * wvt(i,1,1) &
1497 + dzt(k,2) * wvt(i,1,2) &
1498 + dzt(k,3) * wvt(i,1,3) &
1499 + dzt(k,4) * wvt(i,1,4) &
1500 + dzt(k,5) * wvt(i,1,5) &
1501 + dzt(k,6) * wvt(i,1,6) &
1502 + dzt(k,7) * wvt(i,1,7) &
1503 + dzt(k,8) * wvt(i,1,8) &
1504 + dzt(k,9) * wvt(i,1,9) &
1505 + dzt(k,10) * wvt(i,1,10) &
1506 + dzt(k,11) * wvt(i,1,11) &
1507 + dzt(k,12) * wvt(i,1,12)
1509 aw(i,1,k,e) = aw(i,1,k,e) &
1510 + dzt(k,1) * wwt(i,1,1) &
1511 + dzt(k,2) * wwt(i,1,2) &
1512 + dzt(k,3) * wwt(i,1,3) &
1513 + dzt(k,4) * wwt(i,1,4) &
1514 + dzt(k,5) * wwt(i,1,5) &
1515 + dzt(k,6) * wwt(i,1,6) &
1516 + dzt(k,7) * wwt(i,1,7) &
1517 + dzt(k,8) * wwt(i,1,8) &
1518 + dzt(k,9) * wwt(i,1,9) &
1519 + dzt(k,10) * wwt(i,1,10) &
1520 + dzt(k,11) * wwt(i,1,11) &
1521 + dzt(k,12) * wwt(i,1,12)
1529 subroutine ax_helm_stress_lx11(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, &
1530 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
1531 jacinv, weights3, n)
1532 integer,
parameter :: lx = 11
1533 integer,
intent(in) :: n
1534 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
1535 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
1536 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1537 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
1538 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
1539 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
1540 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1541 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
1542 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
1543 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
1544 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
1545 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
1546 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
1547 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
1548 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
1549 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
1550 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
1551 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
1552 real(kind=
rp),
intent(in) :: dx(lx, lx)
1553 real(kind=
rp),
intent(in) :: dy(lx, lx)
1554 real(kind=
rp),
intent(in) :: dz(lx, lx)
1555 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1556 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1557 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1558 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
1560 real(kind=
rp) :: wur(lx, lx, lx)
1561 real(kind=
rp) :: wus(lx, lx, lx)
1562 real(kind=
rp) :: wut(lx, lx, lx)
1563 real(kind=
rp) :: wvr(lx, lx, lx)
1564 real(kind=
rp) :: wvs(lx, lx, lx)
1565 real(kind=
rp) :: wvt(lx, lx, lx)
1566 real(kind=
rp) :: wwr(lx, lx, lx)
1567 real(kind=
rp) :: wws(lx, lx, lx)
1568 real(kind=
rp) :: wwt(lx, lx, lx)
1570 integer :: e, i, j, k, l
1572 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
1573 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
1579 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1580 + dx(i,2) * u(2,j,1,e) &
1581 + dx(i,3) * u(3,j,1,e) &
1582 + dx(i,4) * u(4,j,1,e) &
1583 + dx(i,5) * u(5,j,1,e) &
1584 + dx(i,6) * u(6,j,1,e) &
1585 + dx(i,7) * u(7,j,1,e) &
1586 + dx(i,8) * u(8,j,1,e) &
1587 + dx(i,9) * u(9,j,1,e) &
1588 + dx(i,10) * u(10,j,1,e) &
1589 + dx(i,11) * u(11,j,1,e)
1591 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
1592 + dx(i,2) * v(2,j,1,e) &
1593 + dx(i,3) * v(3,j,1,e) &
1594 + dx(i,4) * v(4,j,1,e) &
1595 + dx(i,5) * v(5,j,1,e) &
1596 + dx(i,6) * v(6,j,1,e) &
1597 + dx(i,7) * v(7,j,1,e) &
1598 + dx(i,8) * v(8,j,1,e) &
1599 + dx(i,9) * v(9,j,1,e) &
1600 + dx(i,10) * v(10,j,1,e) &
1601 + dx(i,11) * v(11,j,1,e)
1603 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
1604 + dx(i,2) * w(2,j,1,e) &
1605 + dx(i,3) * w(3,j,1,e) &
1606 + dx(i,4) * w(4,j,1,e) &
1607 + dx(i,5) * w(5,j,1,e) &
1608 + dx(i,6) * w(6,j,1,e) &
1609 + dx(i,7) * w(7,j,1,e) &
1610 + dx(i,8) * w(8,j,1,e) &
1611 + dx(i,9) * w(9,j,1,e) &
1612 + dx(i,10) * w(10,j,1,e) &
1613 + dx(i,11) * w(11,j,1,e)
1620 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1621 + dy(j,2) * u(i,2,k,e) &
1622 + dy(j,3) * u(i,3,k,e) &
1623 + dy(j,4) * u(i,4,k,e) &
1624 + dy(j,5) * u(i,5,k,e) &
1625 + dy(j,6) * u(i,6,k,e) &
1626 + dy(j,7) * u(i,7,k,e) &
1627 + dy(j,8) * u(i,8,k,e) &
1628 + dy(j,9) * u(i,9,k,e) &
1629 + dy(j,10) * u(i,10,k,e) &
1630 + dy(j,11) * u(i,11,k,e)
1632 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
1633 + dy(j,2) * v(i,2,k,e) &
1634 + dy(j,3) * v(i,3,k,e) &
1635 + dy(j,4) * v(i,4,k,e) &
1636 + dy(j,5) * v(i,5,k,e) &
1637 + dy(j,6) * v(i,6,k,e) &
1638 + dy(j,7) * v(i,7,k,e) &
1639 + dy(j,8) * v(i,8,k,e) &
1640 + dy(j,9) * v(i,9,k,e) &
1641 + dy(j,10) * v(i,10,k,e) &
1642 + dy(j,11) * v(i,11,k,e)
1644 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
1645 + dy(j,2) * w(i,2,k,e) &
1646 + dy(j,3) * w(i,3,k,e) &
1647 + dy(j,4) * w(i,4,k,e) &
1648 + dy(j,5) * w(i,5,k,e) &
1649 + dy(j,6) * w(i,6,k,e) &
1650 + dy(j,7) * w(i,7,k,e) &
1651 + dy(j,8) * w(i,8,k,e) &
1652 + dy(j,9) * w(i,9,k,e) &
1653 + dy(j,10) * w(i,10,k,e) &
1654 + dy(j,11) * w(i,11,k,e)
1661 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1662 + dz(k,2) * u(i,1,2,e) &
1663 + dz(k,3) * u(i,1,3,e) &
1664 + dz(k,4) * u(i,1,4,e) &
1665 + dz(k,5) * u(i,1,5,e) &
1666 + dz(k,6) * u(i,1,6,e) &
1667 + dz(k,7) * u(i,1,7,e) &
1668 + dz(k,8) * u(i,1,8,e) &
1669 + dz(k,9) * u(i,1,9,e) &
1670 + dz(k,10) * u(i,1,10,e) &
1671 + dz(k,11) * u(i,1,11,e)
1673 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
1674 + dz(k,2) * v(i,1,2,e) &
1675 + dz(k,3) * v(i,1,3,e) &
1676 + dz(k,4) * v(i,1,4,e) &
1677 + dz(k,5) * v(i,1,5,e) &
1678 + dz(k,6) * v(i,1,6,e) &
1679 + dz(k,7) * v(i,1,7,e) &
1680 + dz(k,8) * v(i,1,8,e) &
1681 + dz(k,9) * v(i,1,9,e) &
1682 + dz(k,10) * v(i,1,10,e) &
1683 + dz(k,11) * v(i,1,11,e)
1685 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
1686 + dz(k,2) * w(i,1,2,e) &
1687 + dz(k,3) * w(i,1,3,e) &
1688 + dz(k,4) * w(i,1,4,e) &
1689 + dz(k,5) * w(i,1,5,e) &
1690 + dz(k,6) * w(i,1,6,e) &
1691 + dz(k,7) * w(i,1,7,e) &
1692 + dz(k,8) * w(i,1,8,e) &
1693 + dz(k,9) * w(i,1,9,e) &
1694 + dz(k,10) * w(i,1,10,e) &
1695 + dz(k,11) * w(i,1,11,e)
1701 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
1702 + wut(i,1,1) * dtdx(i,1,1,e)
1703 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
1704 + wut(i,1,1) * dtdy(i,1,1,e)
1705 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
1706 + wut(i,1,1) * dtdz(i,1,1,e)
1708 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
1709 + wvt(i,1,1) * dtdx(i,1,1,e)
1710 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
1711 + wvt(i,1,1) * dtdy(i,1,1,e)
1712 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
1713 + wvt(i,1,1) * dtdz(i,1,1,e)
1715 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
1716 + wwt(i,1,1) * dtdx(i,1,1,e)
1717 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
1718 + wwt(i,1,1) * dtdy(i,1,1,e)
1719 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
1720 + wwt(i,1,1) * dtdz(i,1,1,e)
1722 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
1733 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
1734 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
1735 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
1737 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
1738 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
1739 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
1741 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
1742 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
1743 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
1748 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
1749 + dxt(i,2) * wur(2,j,1) &
1750 + dxt(i,3) * wur(3,j,1) &
1751 + dxt(i,4) * wur(4,j,1) &
1752 + dxt(i,5) * wur(5,j,1) &
1753 + dxt(i,6) * wur(6,j,1) &
1754 + dxt(i,7) * wur(7,j,1) &
1755 + dxt(i,8) * wur(8,j,1) &
1756 + dxt(i,9) * wur(9,j,1) &
1757 + dxt(i,10) * wur(10,j,1) &
1758 + dxt(i,11) * wur(11,j,1)
1760 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
1761 + dxt(i,2) * wvr(2,j,1) &
1762 + dxt(i,3) * wvr(3,j,1) &
1763 + dxt(i,4) * wvr(4,j,1) &
1764 + dxt(i,5) * wvr(5,j,1) &
1765 + dxt(i,6) * wvr(6,j,1) &
1766 + dxt(i,7) * wvr(7,j,1) &
1767 + dxt(i,8) * wvr(8,j,1) &
1768 + dxt(i,9) * wvr(9,j,1) &
1769 + dxt(i,10) * wvr(10,j,1) &
1770 + dxt(i,11) * wvr(11,j,1)
1772 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
1773 + dxt(i,2) * wwr(2,j,1) &
1774 + dxt(i,3) * wwr(3,j,1) &
1775 + dxt(i,4) * wwr(4,j,1) &
1776 + dxt(i,5) * wwr(5,j,1) &
1777 + dxt(i,6) * wwr(6,j,1) &
1778 + dxt(i,7) * wwr(7,j,1) &
1779 + dxt(i,8) * wwr(8,j,1) &
1780 + dxt(i,9) * wwr(9,j,1) &
1781 + dxt(i,10) * wwr(10,j,1) &
1782 + dxt(i,11) * wwr(11,j,1)
1789 au(i,j,k,e) = au(i,j,k,e) &
1790 + dyt(j,1) * wus(i,1,k) &
1791 + dyt(j,2) * wus(i,2,k) &
1792 + dyt(j,3) * wus(i,3,k) &
1793 + dyt(j,4) * wus(i,4,k) &
1794 + dyt(j,5) * wus(i,5,k) &
1795 + dyt(j,6) * wus(i,6,k) &
1796 + dyt(j,7) * wus(i,7,k) &
1797 + dyt(j,8) * wus(i,8,k) &
1798 + dyt(j,9) * wus(i,9,k) &
1799 + dyt(j,10) * wus(i,10,k) &
1800 + dyt(j,11) * wus(i,11,k)
1802 av(i,j,k,e) = av(i,j,k,e) &
1803 + dyt(j,1) * wvs(i,1,k) &
1804 + dyt(j,2) * wvs(i,2,k) &
1805 + dyt(j,3) * wvs(i,3,k) &
1806 + dyt(j,4) * wvs(i,4,k) &
1807 + dyt(j,5) * wvs(i,5,k) &
1808 + dyt(j,6) * wvs(i,6,k) &
1809 + dyt(j,7) * wvs(i,7,k) &
1810 + dyt(j,8) * wvs(i,8,k) &
1811 + dyt(j,9) * wvs(i,9,k) &
1812 + dyt(j,10) * wvs(i,10,k) &
1813 + dyt(j,11) * wvs(i,11,k)
1815 aw(i,j,k,e) = aw(i,j,k,e) &
1816 + dyt(j,1) * wws(i,1,k) &
1817 + dyt(j,2) * wws(i,2,k) &
1818 + dyt(j,3) * wws(i,3,k) &
1819 + dyt(j,4) * wws(i,4,k) &
1820 + dyt(j,5) * wws(i,5,k) &
1821 + dyt(j,6) * wws(i,6,k) &
1822 + dyt(j,7) * wws(i,7,k) &
1823 + dyt(j,8) * wws(i,8,k) &
1824 + dyt(j,9) * wws(i,9,k) &
1825 + dyt(j,10) * wws(i,10,k) &
1826 + dyt(j,11) * wws(i,11,k)
1833 au(i,1,k,e) = au(i,1,k,e) &
1834 + dzt(k,1) * wut(i,1,1) &
1835 + dzt(k,2) * wut(i,1,2) &
1836 + dzt(k,3) * wut(i,1,3) &
1837 + dzt(k,4) * wut(i,1,4) &
1838 + dzt(k,5) * wut(i,1,5) &
1839 + dzt(k,6) * wut(i,1,6) &
1840 + dzt(k,7) * wut(i,1,7) &
1841 + dzt(k,8) * wut(i,1,8) &
1842 + dzt(k,9) * wut(i,1,9) &
1843 + dzt(k,10) * wut(i,1,10) &
1844 + dzt(k,11) * wut(i,1,11)
1846 av(i,1,k,e) = av(i,1,k,e) &
1847 + dzt(k,1) * wvt(i,1,1) &
1848 + dzt(k,2) * wvt(i,1,2) &
1849 + dzt(k,3) * wvt(i,1,3) &
1850 + dzt(k,4) * wvt(i,1,4) &
1851 + dzt(k,5) * wvt(i,1,5) &
1852 + dzt(k,6) * wvt(i,1,6) &
1853 + dzt(k,7) * wvt(i,1,7) &
1854 + dzt(k,8) * wvt(i,1,8) &
1855 + dzt(k,9) * wvt(i,1,9) &
1856 + dzt(k,10) * wvt(i,1,10) &
1857 + dzt(k,11) * wvt(i,1,11)
1859 aw(i,1,k,e) = aw(i,1,k,e) &
1860 + dzt(k,1) * wwt(i,1,1) &
1861 + dzt(k,2) * wwt(i,1,2) &
1862 + dzt(k,3) * wwt(i,1,3) &
1863 + dzt(k,4) * wwt(i,1,4) &
1864 + dzt(k,5) * wwt(i,1,5) &
1865 + dzt(k,6) * wwt(i,1,6) &
1866 + dzt(k,7) * wwt(i,1,7) &
1867 + dzt(k,8) * wwt(i,1,8) &
1868 + dzt(k,9) * wwt(i,1,9) &
1869 + dzt(k,10) * wwt(i,1,10) &
1870 + dzt(k,11) * wwt(i,1,11)
1878 subroutine ax_helm_stress_lx10(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, &
1879 h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
1880 jacinv, weights3, n)
1881 integer,
parameter :: lx = 10
1882 integer,
intent(in) :: n
1883 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
1884 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
1885 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1886 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
1887 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
1888 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
1889 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1890 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
1891 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
1892 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
1893 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
1894 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
1895 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
1896 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
1897 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
1898 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
1899 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
1900 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
1901 real(kind=
rp),
intent(in) :: dx(lx, lx)
1902 real(kind=
rp),
intent(in) :: dy(lx, lx)
1903 real(kind=
rp),
intent(in) :: dz(lx, lx)
1904 real(kind=
rp),
intent(in) :: dxt(lx, lx)
1905 real(kind=
rp),
intent(in) :: dyt(lx, lx)
1906 real(kind=
rp),
intent(in) :: dzt(lx, lx)
1907 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
1909 real(kind=
rp) :: wur(lx, lx, lx)
1910 real(kind=
rp) :: wus(lx, lx, lx)
1911 real(kind=
rp) :: wut(lx, lx, lx)
1912 real(kind=
rp) :: wvr(lx, lx, lx)
1913 real(kind=
rp) :: wvs(lx, lx, lx)
1914 real(kind=
rp) :: wvt(lx, lx, lx)
1915 real(kind=
rp) :: wwr(lx, lx, lx)
1916 real(kind=
rp) :: wws(lx, lx, lx)
1917 real(kind=
rp) :: wwt(lx, lx, lx)
1919 integer :: e, i, j, k, l
1921 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
1922 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
1928 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1929 + dx(i,2) * u(2,j,1,e) &
1930 + dx(i,3) * u(3,j,1,e) &
1931 + dx(i,4) * u(4,j,1,e) &
1932 + dx(i,5) * u(5,j,1,e) &
1933 + dx(i,6) * u(6,j,1,e) &
1934 + dx(i,7) * u(7,j,1,e) &
1935 + dx(i,8) * u(8,j,1,e) &
1936 + dx(i,9) * u(9,j,1,e) &
1937 + dx(i,10) * u(10,j,1,e)
1939 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
1940 + dx(i,2) * v(2,j,1,e) &
1941 + dx(i,3) * v(3,j,1,e) &
1942 + dx(i,4) * v(4,j,1,e) &
1943 + dx(i,5) * v(5,j,1,e) &
1944 + dx(i,6) * v(6,j,1,e) &
1945 + dx(i,7) * v(7,j,1,e) &
1946 + dx(i,8) * v(8,j,1,e) &
1947 + dx(i,9) * v(9,j,1,e) &
1948 + dx(i,10) * v(10,j,1,e)
1950 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
1951 + dx(i,2) * w(2,j,1,e) &
1952 + dx(i,3) * w(3,j,1,e) &
1953 + dx(i,4) * w(4,j,1,e) &
1954 + dx(i,5) * w(5,j,1,e) &
1955 + dx(i,6) * w(6,j,1,e) &
1956 + dx(i,7) * w(7,j,1,e) &
1957 + dx(i,8) * w(8,j,1,e) &
1958 + dx(i,9) * w(9,j,1,e) &
1959 + dx(i,10) * w(10,j,1,e)
1966 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1967 + dy(j,2) * u(i,2,k,e) &
1968 + dy(j,3) * u(i,3,k,e) &
1969 + dy(j,4) * u(i,4,k,e) &
1970 + dy(j,5) * u(i,5,k,e) &
1971 + dy(j,6) * u(i,6,k,e) &
1972 + dy(j,7) * u(i,7,k,e) &
1973 + dy(j,8) * u(i,8,k,e) &
1974 + dy(j,9) * u(i,9,k,e) &
1975 + dy(j,10) * u(i,10,k,e)
1977 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
1978 + dy(j,2) * v(i,2,k,e) &
1979 + dy(j,3) * v(i,3,k,e) &
1980 + dy(j,4) * v(i,4,k,e) &
1981 + dy(j,5) * v(i,5,k,e) &
1982 + dy(j,6) * v(i,6,k,e) &
1983 + dy(j,7) * v(i,7,k,e) &
1984 + dy(j,8) * v(i,8,k,e) &
1985 + dy(j,9) * v(i,9,k,e) &
1986 + dy(j,10) * v(i,10,k,e)
1988 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
1989 + dy(j,2) * w(i,2,k,e) &
1990 + dy(j,3) * w(i,3,k,e) &
1991 + dy(j,4) * w(i,4,k,e) &
1992 + dy(j,5) * w(i,5,k,e) &
1993 + dy(j,6) * w(i,6,k,e) &
1994 + dy(j,7) * w(i,7,k,e) &
1995 + dy(j,8) * w(i,8,k,e) &
1996 + dy(j,9) * w(i,9,k,e) &
1997 + dy(j,10) * w(i,10,k,e)
2004 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2005 + dz(k,2) * u(i,1,2,e) &
2006 + dz(k,3) * u(i,1,3,e) &
2007 + dz(k,4) * u(i,1,4,e) &
2008 + dz(k,5) * u(i,1,5,e) &
2009 + dz(k,6) * u(i,1,6,e) &
2010 + dz(k,7) * u(i,1,7,e) &
2011 + dz(k,8) * u(i,1,8,e) &
2012 + dz(k,9) * u(i,1,9,e) &
2013 + dz(k,10) * u(i,1,10,e)
2015 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2016 + dz(k,2) * v(i,1,2,e) &
2017 + dz(k,3) * v(i,1,3,e) &
2018 + dz(k,4) * v(i,1,4,e) &
2019 + dz(k,5) * v(i,1,5,e) &
2020 + dz(k,6) * v(i,1,6,e) &
2021 + dz(k,7) * v(i,1,7,e) &
2022 + dz(k,8) * v(i,1,8,e) &
2023 + dz(k,9) * v(i,1,9,e) &
2024 + dz(k,10) * v(i,1,10,e)
2026 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2027 + dz(k,2) * w(i,1,2,e) &
2028 + dz(k,3) * w(i,1,3,e) &
2029 + dz(k,4) * w(i,1,4,e) &
2030 + dz(k,5) * w(i,1,5,e) &
2031 + dz(k,6) * w(i,1,6,e) &
2032 + dz(k,7) * w(i,1,7,e) &
2033 + dz(k,8) * w(i,1,8,e) &
2034 + dz(k,9) * w(i,1,9,e) &
2035 + dz(k,10) * w(i,1,10,e)
2041 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2042 + wut(i,1,1) * dtdx(i,1,1,e)
2043 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2044 + wut(i,1,1) * dtdy(i,1,1,e)
2045 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2046 + wut(i,1,1) * dtdz(i,1,1,e)
2048 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2049 + wvt(i,1,1) * dtdx(i,1,1,e)
2050 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2051 + wvt(i,1,1) * dtdy(i,1,1,e)
2052 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2053 + wvt(i,1,1) * dtdz(i,1,1,e)
2055 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2056 + wwt(i,1,1) * dtdx(i,1,1,e)
2057 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2058 + wwt(i,1,1) * dtdy(i,1,1,e)
2059 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2060 + wwt(i,1,1) * dtdz(i,1,1,e)
2062 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2073 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2074 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2075 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2077 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2078 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2079 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2081 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
2082 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
2083 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
2088 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
2089 + dxt(i,2) * wur(2,j,1) &
2090 + dxt(i,3) * wur(3,j,1) &
2091 + dxt(i,4) * wur(4,j,1) &
2092 + dxt(i,5) * wur(5,j,1) &
2093 + dxt(i,6) * wur(6,j,1) &
2094 + dxt(i,7) * wur(7,j,1) &
2095 + dxt(i,8) * wur(8,j,1) &
2096 + dxt(i,9) * wur(9,j,1) &
2097 + dxt(i,10) * wur(10,j,1)
2099 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
2100 + dxt(i,2) * wvr(2,j,1) &
2101 + dxt(i,3) * wvr(3,j,1) &
2102 + dxt(i,4) * wvr(4,j,1) &
2103 + dxt(i,5) * wvr(5,j,1) &
2104 + dxt(i,6) * wvr(6,j,1) &
2105 + dxt(i,7) * wvr(7,j,1) &
2106 + dxt(i,8) * wvr(8,j,1) &
2107 + dxt(i,9) * wvr(9,j,1) &
2108 + dxt(i,10) * wvr(10,j,1)
2110 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
2111 + dxt(i,2) * wwr(2,j,1) &
2112 + dxt(i,3) * wwr(3,j,1) &
2113 + dxt(i,4) * wwr(4,j,1) &
2114 + dxt(i,5) * wwr(5,j,1) &
2115 + dxt(i,6) * wwr(6,j,1) &
2116 + dxt(i,7) * wwr(7,j,1) &
2117 + dxt(i,8) * wwr(8,j,1) &
2118 + dxt(i,9) * wwr(9,j,1) &
2119 + dxt(i,10) * wwr(10,j,1)
2126 au(i,j,k,e) = au(i,j,k,e) &
2127 + dyt(j,1) * wus(i,1,k) &
2128 + dyt(j,2) * wus(i,2,k) &
2129 + dyt(j,3) * wus(i,3,k) &
2130 + dyt(j,4) * wus(i,4,k) &
2131 + dyt(j,5) * wus(i,5,k) &
2132 + dyt(j,6) * wus(i,6,k) &
2133 + dyt(j,7) * wus(i,7,k) &
2134 + dyt(j,8) * wus(i,8,k) &
2135 + dyt(j,9) * wus(i,9,k) &
2136 + dyt(j,10) * wus(i,10,k)
2138 av(i,j,k,e) = av(i,j,k,e) &
2139 + dyt(j,1) * wvs(i,1,k) &
2140 + dyt(j,2) * wvs(i,2,k) &
2141 + dyt(j,3) * wvs(i,3,k) &
2142 + dyt(j,4) * wvs(i,4,k) &
2143 + dyt(j,5) * wvs(i,5,k) &
2144 + dyt(j,6) * wvs(i,6,k) &
2145 + dyt(j,7) * wvs(i,7,k) &
2146 + dyt(j,8) * wvs(i,8,k) &
2147 + dyt(j,9) * wvs(i,9,k) &
2148 + dyt(j,10) * wvs(i,10,k)
2150 aw(i,j,k,e) = aw(i,j,k,e) &
2151 + dyt(j,1) * wws(i,1,k) &
2152 + dyt(j,2) * wws(i,2,k) &
2153 + dyt(j,3) * wws(i,3,k) &
2154 + dyt(j,4) * wws(i,4,k) &
2155 + dyt(j,5) * wws(i,5,k) &
2156 + dyt(j,6) * wws(i,6,k) &
2157 + dyt(j,7) * wws(i,7,k) &
2158 + dyt(j,8) * wws(i,8,k) &
2159 + dyt(j,9) * wws(i,9,k) &
2160 + dyt(j,10) * wws(i,10,k)
2167 au(i,1,k,e) = au(i,1,k,e) &
2168 + dzt(k,1) * wut(i,1,1) &
2169 + dzt(k,2) * wut(i,1,2) &
2170 + dzt(k,3) * wut(i,1,3) &
2171 + dzt(k,4) * wut(i,1,4) &
2172 + dzt(k,5) * wut(i,1,5) &
2173 + dzt(k,6) * wut(i,1,6) &
2174 + dzt(k,7) * wut(i,1,7) &
2175 + dzt(k,8) * wut(i,1,8) &
2176 + dzt(k,9) * wut(i,1,9) &
2177 + dzt(k,10) * wut(i,1,10)
2179 av(i,1,k,e) = av(i,1,k,e) &
2180 + dzt(k,1) * wvt(i,1,1) &
2181 + dzt(k,2) * wvt(i,1,2) &
2182 + dzt(k,3) * wvt(i,1,3) &
2183 + dzt(k,4) * wvt(i,1,4) &
2184 + dzt(k,5) * wvt(i,1,5) &
2185 + dzt(k,6) * wvt(i,1,6) &
2186 + dzt(k,7) * wvt(i,1,7) &
2187 + dzt(k,8) * wvt(i,1,8) &
2188 + dzt(k,9) * wvt(i,1,9) &
2189 + dzt(k,10) * wvt(i,1,10)
2191 aw(i,1,k,e) = aw(i,1,k,e) &
2192 + dzt(k,1) * wwt(i,1,1) &
2193 + dzt(k,2) * wwt(i,1,2) &
2194 + dzt(k,3) * wwt(i,1,3) &
2195 + dzt(k,4) * wwt(i,1,4) &
2196 + dzt(k,5) * wwt(i,1,5) &
2197 + dzt(k,6) * wwt(i,1,6) &
2198 + dzt(k,7) * wwt(i,1,7) &
2199 + dzt(k,8) * wwt(i,1,8) &
2200 + dzt(k,9) * wwt(i,1,9) &
2201 + dzt(k,10) * wwt(i,1,10)
2209 subroutine ax_helm_stress_lx9(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
2210 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2211 jacinv, weights3, n)
2212 integer,
parameter :: lx = 9
2213 integer,
intent(in) :: n
2214 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
2215 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
2216 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
2217 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2218 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2219 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2220 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2221 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2222 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2223 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2224 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2225 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2226 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2227 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2228 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2229 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2230 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2231 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
2232 real(kind=
rp),
intent(in) :: dx(lx, lx)
2233 real(kind=
rp),
intent(in) :: dy(lx, lx)
2234 real(kind=
rp),
intent(in) :: dz(lx, lx)
2235 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2236 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2237 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2238 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2240 real(kind=
rp) :: wur(lx, lx, lx)
2241 real(kind=
rp) :: wus(lx, lx, lx)
2242 real(kind=
rp) :: wut(lx, lx, lx)
2243 real(kind=
rp) :: wvr(lx, lx, lx)
2244 real(kind=
rp) :: wvs(lx, lx, lx)
2245 real(kind=
rp) :: wvt(lx, lx, lx)
2246 real(kind=
rp) :: wwr(lx, lx, lx)
2247 real(kind=
rp) :: wws(lx, lx, lx)
2248 real(kind=
rp) :: wwt(lx, lx, lx)
2250 integer :: e, i, j, k, l
2252 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
2253 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2259 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2260 + dx(i,2) * u(2,j,1,e) &
2261 + dx(i,3) * u(3,j,1,e) &
2262 + dx(i,4) * u(4,j,1,e) &
2263 + dx(i,5) * u(5,j,1,e) &
2264 + dx(i,6) * u(6,j,1,e) &
2265 + dx(i,7) * u(7,j,1,e) &
2266 + dx(i,8) * u(8,j,1,e) &
2267 + dx(i,9) * u(9,j,1,e)
2269 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2270 + dx(i,2) * v(2,j,1,e) &
2271 + dx(i,3) * v(3,j,1,e) &
2272 + dx(i,4) * v(4,j,1,e) &
2273 + dx(i,5) * v(5,j,1,e) &
2274 + dx(i,6) * v(6,j,1,e) &
2275 + dx(i,7) * v(7,j,1,e) &
2276 + dx(i,8) * v(8,j,1,e) &
2277 + dx(i,9) * v(9,j,1,e)
2279 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2280 + dx(i,2) * w(2,j,1,e) &
2281 + dx(i,3) * w(3,j,1,e) &
2282 + dx(i,4) * w(4,j,1,e) &
2283 + dx(i,5) * w(5,j,1,e) &
2284 + dx(i,6) * w(6,j,1,e) &
2285 + dx(i,7) * w(7,j,1,e) &
2286 + dx(i,8) * w(8,j,1,e) &
2287 + dx(i,9) * w(9,j,1,e)
2294 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2295 + dy(j,2) * u(i,2,k,e) &
2296 + dy(j,3) * u(i,3,k,e) &
2297 + dy(j,4) * u(i,4,k,e) &
2298 + dy(j,5) * u(i,5,k,e) &
2299 + dy(j,6) * u(i,6,k,e) &
2300 + dy(j,7) * u(i,7,k,e) &
2301 + dy(j,8) * u(i,8,k,e) &
2302 + dy(j,9) * u(i,9,k,e)
2304 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2305 + dy(j,2) * v(i,2,k,e) &
2306 + dy(j,3) * v(i,3,k,e) &
2307 + dy(j,4) * v(i,4,k,e) &
2308 + dy(j,5) * v(i,5,k,e) &
2309 + dy(j,6) * v(i,6,k,e) &
2310 + dy(j,7) * v(i,7,k,e) &
2311 + dy(j,8) * v(i,8,k,e) &
2312 + dy(j,9) * v(i,9,k,e)
2314 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2315 + dy(j,2) * w(i,2,k,e) &
2316 + dy(j,3) * w(i,3,k,e) &
2317 + dy(j,4) * w(i,4,k,e) &
2318 + dy(j,5) * w(i,5,k,e) &
2319 + dy(j,6) * w(i,6,k,e) &
2320 + dy(j,7) * w(i,7,k,e) &
2321 + dy(j,8) * w(i,8,k,e) &
2322 + dy(j,9) * w(i,9,k,e)
2329 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2330 + dz(k,2) * u(i,1,2,e) &
2331 + dz(k,3) * u(i,1,3,e) &
2332 + dz(k,4) * u(i,1,4,e) &
2333 + dz(k,5) * u(i,1,5,e) &
2334 + dz(k,6) * u(i,1,6,e) &
2335 + dz(k,7) * u(i,1,7,e) &
2336 + dz(k,8) * u(i,1,8,e) &
2337 + dz(k,9) * u(i,1,9,e)
2339 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2340 + dz(k,2) * v(i,1,2,e) &
2341 + dz(k,3) * v(i,1,3,e) &
2342 + dz(k,4) * v(i,1,4,e) &
2343 + dz(k,5) * v(i,1,5,e) &
2344 + dz(k,6) * v(i,1,6,e) &
2345 + dz(k,7) * v(i,1,7,e) &
2346 + dz(k,8) * v(i,1,8,e) &
2347 + dz(k,9) * v(i,1,9,e)
2349 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2350 + dz(k,2) * w(i,1,2,e) &
2351 + dz(k,3) * w(i,1,3,e) &
2352 + dz(k,4) * w(i,1,4,e) &
2353 + dz(k,5) * w(i,1,5,e) &
2354 + dz(k,6) * w(i,1,6,e) &
2355 + dz(k,7) * w(i,1,7,e) &
2356 + dz(k,8) * w(i,1,8,e) &
2357 + dz(k,9) * w(i,1,9,e)
2363 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2364 + wut(i,1,1) * dtdx(i,1,1,e)
2365 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2366 + wut(i,1,1) * dtdy(i,1,1,e)
2367 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2368 + wut(i,1,1) * dtdz(i,1,1,e)
2370 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2371 + wvt(i,1,1) * dtdx(i,1,1,e)
2372 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2373 + wvt(i,1,1) * dtdy(i,1,1,e)
2374 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2375 + wvt(i,1,1) * dtdz(i,1,1,e)
2377 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2378 + wwt(i,1,1) * dtdx(i,1,1,e)
2379 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2380 + wwt(i,1,1) * dtdy(i,1,1,e)
2381 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2382 + wwt(i,1,1) * dtdz(i,1,1,e)
2384 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2395 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2396 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2397 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2399 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2400 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2401 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2403 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
2404 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
2405 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
2410 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
2411 + dxt(i,2) * wur(2,j,1) &
2412 + dxt(i,3) * wur(3,j,1) &
2413 + dxt(i,4) * wur(4,j,1) &
2414 + dxt(i,5) * wur(5,j,1) &
2415 + dxt(i,6) * wur(6,j,1) &
2416 + dxt(i,7) * wur(7,j,1) &
2417 + dxt(i,8) * wur(8,j,1) &
2418 + dxt(i,9) * wur(9,j,1)
2420 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
2421 + dxt(i,2) * wvr(2,j,1) &
2422 + dxt(i,3) * wvr(3,j,1) &
2423 + dxt(i,4) * wvr(4,j,1) &
2424 + dxt(i,5) * wvr(5,j,1) &
2425 + dxt(i,6) * wvr(6,j,1) &
2426 + dxt(i,7) * wvr(7,j,1) &
2427 + dxt(i,8) * wvr(8,j,1) &
2428 + dxt(i,9) * wvr(9,j,1)
2430 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
2431 + dxt(i,2) * wwr(2,j,1) &
2432 + dxt(i,3) * wwr(3,j,1) &
2433 + dxt(i,4) * wwr(4,j,1) &
2434 + dxt(i,5) * wwr(5,j,1) &
2435 + dxt(i,6) * wwr(6,j,1) &
2436 + dxt(i,7) * wwr(7,j,1) &
2437 + dxt(i,8) * wwr(8,j,1) &
2438 + dxt(i,9) * wwr(9,j,1)
2445 au(i,j,k,e) = au(i,j,k,e) &
2446 + dyt(j,1) * wus(i,1,k) &
2447 + dyt(j,2) * wus(i,2,k) &
2448 + dyt(j,3) * wus(i,3,k) &
2449 + dyt(j,4) * wus(i,4,k) &
2450 + dyt(j,5) * wus(i,5,k) &
2451 + dyt(j,6) * wus(i,6,k) &
2452 + dyt(j,7) * wus(i,7,k) &
2453 + dyt(j,8) * wus(i,8,k) &
2454 + dyt(j,9) * wus(i,9,k)
2456 av(i,j,k,e) = av(i,j,k,e) &
2457 + dyt(j,1) * wvs(i,1,k) &
2458 + dyt(j,2) * wvs(i,2,k) &
2459 + dyt(j,3) * wvs(i,3,k) &
2460 + dyt(j,4) * wvs(i,4,k) &
2461 + dyt(j,5) * wvs(i,5,k) &
2462 + dyt(j,6) * wvs(i,6,k) &
2463 + dyt(j,7) * wvs(i,7,k) &
2464 + dyt(j,8) * wvs(i,8,k) &
2465 + dyt(j,9) * wvs(i,9,k)
2467 aw(i,j,k,e) = aw(i,j,k,e) &
2468 + dyt(j,1) * wws(i,1,k) &
2469 + dyt(j,2) * wws(i,2,k) &
2470 + dyt(j,3) * wws(i,3,k) &
2471 + dyt(j,4) * wws(i,4,k) &
2472 + dyt(j,5) * wws(i,5,k) &
2473 + dyt(j,6) * wws(i,6,k) &
2474 + dyt(j,7) * wws(i,7,k) &
2475 + dyt(j,8) * wws(i,8,k) &
2476 + dyt(j,9) * wws(i,9,k)
2483 au(i,1,k,e) = au(i,1,k,e) &
2484 + dzt(k,1) * wut(i,1,1) &
2485 + dzt(k,2) * wut(i,1,2) &
2486 + dzt(k,3) * wut(i,1,3) &
2487 + dzt(k,4) * wut(i,1,4) &
2488 + dzt(k,5) * wut(i,1,5) &
2489 + dzt(k,6) * wut(i,1,6) &
2490 + dzt(k,7) * wut(i,1,7) &
2491 + dzt(k,8) * wut(i,1,8) &
2492 + dzt(k,9) * wut(i,1,9)
2494 av(i,1,k,e) = av(i,1,k,e) &
2495 + dzt(k,1) * wvt(i,1,1) &
2496 + dzt(k,2) * wvt(i,1,2) &
2497 + dzt(k,3) * wvt(i,1,3) &
2498 + dzt(k,4) * wvt(i,1,4) &
2499 + dzt(k,5) * wvt(i,1,5) &
2500 + dzt(k,6) * wvt(i,1,6) &
2501 + dzt(k,7) * wvt(i,1,7) &
2502 + dzt(k,8) * wvt(i,1,8) &
2503 + dzt(k,9) * wvt(i,1,9)
2505 aw(i,1,k,e) = aw(i,1,k,e) &
2506 + dzt(k,1) * wwt(i,1,1) &
2507 + dzt(k,2) * wwt(i,1,2) &
2508 + dzt(k,3) * wwt(i,1,3) &
2509 + dzt(k,4) * wwt(i,1,4) &
2510 + dzt(k,5) * wwt(i,1,5) &
2511 + dzt(k,6) * wwt(i,1,6) &
2512 + dzt(k,7) * wwt(i,1,7) &
2513 + dzt(k,8) * wwt(i,1,8) &
2514 + dzt(k,9) * wwt(i,1,9)
2522 subroutine ax_helm_stress_lx8(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
2523 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2524 jacinv, weights3, n)
2525 integer,
parameter :: lx = 8
2526 integer,
intent(in) :: n
2527 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
2528 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
2529 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
2530 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2531 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2532 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2533 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2534 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2535 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2536 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2537 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2538 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2539 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2540 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2541 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2542 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2543 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2544 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
2545 real(kind=
rp),
intent(in) :: dx(lx, lx)
2546 real(kind=
rp),
intent(in) :: dy(lx, lx)
2547 real(kind=
rp),
intent(in) :: dz(lx, lx)
2548 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2549 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2550 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2551 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2553 real(kind=
rp) :: wur(lx, lx, lx)
2554 real(kind=
rp) :: wus(lx, lx, lx)
2555 real(kind=
rp) :: wut(lx, lx, lx)
2556 real(kind=
rp) :: wvr(lx, lx, lx)
2557 real(kind=
rp) :: wvs(lx, lx, lx)
2558 real(kind=
rp) :: wvt(lx, lx, lx)
2559 real(kind=
rp) :: wwr(lx, lx, lx)
2560 real(kind=
rp) :: wws(lx, lx, lx)
2561 real(kind=
rp) :: wwt(lx, lx, lx)
2563 integer :: e, i, j, k, l
2565 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
2566 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2572 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2573 + dx(i,2) * u(2,j,1,e) &
2574 + dx(i,3) * u(3,j,1,e) &
2575 + dx(i,4) * u(4,j,1,e) &
2576 + dx(i,5) * u(5,j,1,e) &
2577 + dx(i,6) * u(6,j,1,e) &
2578 + dx(i,7) * u(7,j,1,e) &
2579 + dx(i,8) * u(8,j,1,e)
2581 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2582 + dx(i,2) * v(2,j,1,e) &
2583 + dx(i,3) * v(3,j,1,e) &
2584 + dx(i,4) * v(4,j,1,e) &
2585 + dx(i,5) * v(5,j,1,e) &
2586 + dx(i,6) * v(6,j,1,e) &
2587 + dx(i,7) * v(7,j,1,e) &
2588 + dx(i,8) * v(8,j,1,e)
2590 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2591 + dx(i,2) * w(2,j,1,e) &
2592 + dx(i,3) * w(3,j,1,e) &
2593 + dx(i,4) * w(4,j,1,e) &
2594 + dx(i,5) * w(5,j,1,e) &
2595 + dx(i,6) * w(6,j,1,e) &
2596 + dx(i,7) * w(7,j,1,e) &
2597 + dx(i,8) * w(8,j,1,e)
2604 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2605 + dy(j,2) * u(i,2,k,e) &
2606 + dy(j,3) * u(i,3,k,e) &
2607 + dy(j,4) * u(i,4,k,e) &
2608 + dy(j,5) * u(i,5,k,e) &
2609 + dy(j,6) * u(i,6,k,e) &
2610 + dy(j,7) * u(i,7,k,e) &
2611 + dy(j,8) * u(i,8,k,e)
2613 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2614 + dy(j,2) * v(i,2,k,e) &
2615 + dy(j,3) * v(i,3,k,e) &
2616 + dy(j,4) * v(i,4,k,e) &
2617 + dy(j,5) * v(i,5,k,e) &
2618 + dy(j,6) * v(i,6,k,e) &
2619 + dy(j,7) * v(i,7,k,e) &
2620 + dy(j,8) * v(i,8,k,e)
2622 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2623 + dy(j,2) * w(i,2,k,e) &
2624 + dy(j,3) * w(i,3,k,e) &
2625 + dy(j,4) * w(i,4,k,e) &
2626 + dy(j,5) * w(i,5,k,e) &
2627 + dy(j,6) * w(i,6,k,e) &
2628 + dy(j,7) * w(i,7,k,e) &
2629 + dy(j,8) * w(i,8,k,e)
2636 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2637 + dz(k,2) * u(i,1,2,e) &
2638 + dz(k,3) * u(i,1,3,e) &
2639 + dz(k,4) * u(i,1,4,e) &
2640 + dz(k,5) * u(i,1,5,e) &
2641 + dz(k,6) * u(i,1,6,e) &
2642 + dz(k,7) * u(i,1,7,e) &
2643 + dz(k,8) * u(i,1,8,e)
2645 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2646 + dz(k,2) * v(i,1,2,e) &
2647 + dz(k,3) * v(i,1,3,e) &
2648 + dz(k,4) * v(i,1,4,e) &
2649 + dz(k,5) * v(i,1,5,e) &
2650 + dz(k,6) * v(i,1,6,e) &
2651 + dz(k,7) * v(i,1,7,e) &
2652 + dz(k,8) * v(i,1,8,e)
2654 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2655 + dz(k,2) * w(i,1,2,e) &
2656 + dz(k,3) * w(i,1,3,e) &
2657 + dz(k,4) * w(i,1,4,e) &
2658 + dz(k,5) * w(i,1,5,e) &
2659 + dz(k,6) * w(i,1,6,e) &
2660 + dz(k,7) * w(i,1,7,e) &
2661 + dz(k,8) * w(i,1,8,e)
2667 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2668 + wut(i,1,1) * dtdx(i,1,1,e)
2669 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2670 + wut(i,1,1) * dtdy(i,1,1,e)
2671 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2672 + wut(i,1,1) * dtdz(i,1,1,e)
2674 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2675 + wvt(i,1,1) * dtdx(i,1,1,e)
2676 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2677 + wvt(i,1,1) * dtdy(i,1,1,e)
2678 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2679 + wvt(i,1,1) * dtdz(i,1,1,e)
2681 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2682 + wwt(i,1,1) * dtdx(i,1,1,e)
2683 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2684 + wwt(i,1,1) * dtdy(i,1,1,e)
2685 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2686 + wwt(i,1,1) * dtdz(i,1,1,e)
2688 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2699 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2700 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2701 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2703 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2704 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2705 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2707 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
2708 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
2709 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
2714 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
2715 + dxt(i,2) * wur(2,j,1) &
2716 + dxt(i,3) * wur(3,j,1) &
2717 + dxt(i,4) * wur(4,j,1) &
2718 + dxt(i,5) * wur(5,j,1) &
2719 + dxt(i,6) * wur(6,j,1) &
2720 + dxt(i,7) * wur(7,j,1) &
2721 + dxt(i,8) * wur(8,j,1)
2723 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
2724 + dxt(i,2) * wvr(2,j,1) &
2725 + dxt(i,3) * wvr(3,j,1) &
2726 + dxt(i,4) * wvr(4,j,1) &
2727 + dxt(i,5) * wvr(5,j,1) &
2728 + dxt(i,6) * wvr(6,j,1) &
2729 + dxt(i,7) * wvr(7,j,1) &
2730 + dxt(i,8) * wvr(8,j,1)
2732 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
2733 + dxt(i,2) * wwr(2,j,1) &
2734 + dxt(i,3) * wwr(3,j,1) &
2735 + dxt(i,4) * wwr(4,j,1) &
2736 + dxt(i,5) * wwr(5,j,1) &
2737 + dxt(i,6) * wwr(6,j,1) &
2738 + dxt(i,7) * wwr(7,j,1) &
2739 + dxt(i,8) * wwr(8,j,1)
2747 au(i,j,k,e) = au(i,j,k,e) &
2748 + dyt(j,1) * wus(i,1,k) &
2749 + dyt(j,2) * wus(i,2,k) &
2750 + dyt(j,3) * wus(i,3,k) &
2751 + dyt(j,4) * wus(i,4,k) &
2752 + dyt(j,5) * wus(i,5,k) &
2753 + dyt(j,6) * wus(i,6,k) &
2754 + dyt(j,7) * wus(i,7,k) &
2755 + dyt(j,8) * wus(i,8,k)
2757 av(i,j,k,e) = av(i,j,k,e) &
2758 + dyt(j,1) * wvs(i,1,k) &
2759 + dyt(j,2) * wvs(i,2,k) &
2760 + dyt(j,3) * wvs(i,3,k) &
2761 + dyt(j,4) * wvs(i,4,k) &
2762 + dyt(j,5) * wvs(i,5,k) &
2763 + dyt(j,6) * wvs(i,6,k) &
2764 + dyt(j,7) * wvs(i,7,k) &
2765 + dyt(j,8) * wvs(i,8,k)
2767 aw(i,j,k,e) = aw(i,j,k,e) &
2768 + dyt(j,1) * wws(i,1,k) &
2769 + dyt(j,2) * wws(i,2,k) &
2770 + dyt(j,3) * wws(i,3,k) &
2771 + dyt(j,4) * wws(i,4,k) &
2772 + dyt(j,5) * wws(i,5,k) &
2773 + dyt(j,6) * wws(i,6,k) &
2774 + dyt(j,7) * wws(i,7,k) &
2775 + dyt(j,8) * wws(i,8,k)
2782 au(i,1,k,e) = au(i,1,k,e) &
2783 + dzt(k,1) * wut(i,1,1) &
2784 + dzt(k,2) * wut(i,1,2) &
2785 + dzt(k,3) * wut(i,1,3) &
2786 + dzt(k,4) * wut(i,1,4) &
2787 + dzt(k,5) * wut(i,1,5) &
2788 + dzt(k,6) * wut(i,1,6) &
2789 + dzt(k,7) * wut(i,1,7) &
2790 + dzt(k,8) * wut(i,1,8)
2792 av(i,1,k,e) = av(i,1,k,e) &
2793 + dzt(k,1) * wvt(i,1,1) &
2794 + dzt(k,2) * wvt(i,1,2) &
2795 + dzt(k,3) * wvt(i,1,3) &
2796 + dzt(k,4) * wvt(i,1,4) &
2797 + dzt(k,5) * wvt(i,1,5) &
2798 + dzt(k,6) * wvt(i,1,6) &
2799 + dzt(k,7) * wvt(i,1,7) &
2800 + dzt(k,8) * wvt(i,1,8)
2802 aw(i,1,k,e) = aw(i,1,k,e) &
2803 + dzt(k,1) * wwt(i,1,1) &
2804 + dzt(k,2) * wwt(i,1,2) &
2805 + dzt(k,3) * wwt(i,1,3) &
2806 + dzt(k,4) * wwt(i,1,4) &
2807 + dzt(k,5) * wwt(i,1,5) &
2808 + dzt(k,6) * wwt(i,1,6) &
2809 + dzt(k,7) * wwt(i,1,7) &
2810 + dzt(k,8) * wwt(i,1,8)
2818 subroutine ax_helm_stress_lx7(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
2819 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
2820 jacinv, weights3, n)
2821 integer,
parameter :: lx = 7
2822 integer,
intent(in) :: n
2823 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
2824 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
2825 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
2826 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
2827 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
2828 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
2829 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
2830 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
2831 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
2832 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
2833 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
2834 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
2835 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
2836 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
2837 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
2838 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
2839 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
2840 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
2841 real(kind=
rp),
intent(in) :: dx(lx, lx)
2842 real(kind=
rp),
intent(in) :: dy(lx, lx)
2843 real(kind=
rp),
intent(in) :: dz(lx, lx)
2844 real(kind=
rp),
intent(in) :: dxt(lx, lx)
2845 real(kind=
rp),
intent(in) :: dyt(lx, lx)
2846 real(kind=
rp),
intent(in) :: dzt(lx, lx)
2847 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
2849 real(kind=
rp) :: wur(lx, lx, lx)
2850 real(kind=
rp) :: wus(lx, lx, lx)
2851 real(kind=
rp) :: wut(lx, lx, lx)
2852 real(kind=
rp) :: wvr(lx, lx, lx)
2853 real(kind=
rp) :: wvs(lx, lx, lx)
2854 real(kind=
rp) :: wvt(lx, lx, lx)
2855 real(kind=
rp) :: wwr(lx, lx, lx)
2856 real(kind=
rp) :: wws(lx, lx, lx)
2857 real(kind=
rp) :: wwt(lx, lx, lx)
2859 integer :: e, i, j, k, l
2861 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
2862 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
2868 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
2869 + dx(i,2) * u(2,j,1,e) &
2870 + dx(i,3) * u(3,j,1,e) &
2871 + dx(i,4) * u(4,j,1,e) &
2872 + dx(i,5) * u(5,j,1,e) &
2873 + dx(i,6) * u(6,j,1,e) &
2874 + dx(i,7) * u(7,j,1,e)
2876 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
2877 + dx(i,2) * v(2,j,1,e) &
2878 + dx(i,3) * v(3,j,1,e) &
2879 + dx(i,4) * v(4,j,1,e) &
2880 + dx(i,5) * v(5,j,1,e) &
2881 + dx(i,6) * v(6,j,1,e) &
2882 + dx(i,7) * v(7,j,1,e)
2884 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
2885 + dx(i,2) * w(2,j,1,e) &
2886 + dx(i,3) * w(3,j,1,e) &
2887 + dx(i,4) * w(4,j,1,e) &
2888 + dx(i,5) * w(5,j,1,e) &
2889 + dx(i,6) * w(6,j,1,e) &
2890 + dx(i,7) * w(7,j,1,e)
2897 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
2898 + dy(j,2) * u(i,2,k,e) &
2899 + dy(j,3) * u(i,3,k,e) &
2900 + dy(j,4) * u(i,4,k,e) &
2901 + dy(j,5) * u(i,5,k,e) &
2902 + dy(j,6) * u(i,6,k,e) &
2903 + dy(j,7) * u(i,7,k,e)
2905 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
2906 + dy(j,2) * v(i,2,k,e) &
2907 + dy(j,3) * v(i,3,k,e) &
2908 + dy(j,4) * v(i,4,k,e) &
2909 + dy(j,5) * v(i,5,k,e) &
2910 + dy(j,6) * v(i,6,k,e) &
2911 + dy(j,7) * v(i,7,k,e)
2913 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
2914 + dy(j,2) * w(i,2,k,e) &
2915 + dy(j,3) * w(i,3,k,e) &
2916 + dy(j,4) * w(i,4,k,e) &
2917 + dy(j,5) * w(i,5,k,e) &
2918 + dy(j,6) * w(i,6,k,e) &
2919 + dy(j,7) * w(i,7,k,e)
2927 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
2928 + dz(k,2) * u(i,1,2,e) &
2929 + dz(k,3) * u(i,1,3,e) &
2930 + dz(k,4) * u(i,1,4,e) &
2931 + dz(k,5) * u(i,1,5,e) &
2932 + dz(k,6) * u(i,1,6,e) &
2933 + dz(k,7) * u(i,1,7,e)
2935 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
2936 + dz(k,2) * v(i,1,2,e) &
2937 + dz(k,3) * v(i,1,3,e) &
2938 + dz(k,4) * v(i,1,4,e) &
2939 + dz(k,5) * v(i,1,5,e) &
2940 + dz(k,6) * v(i,1,6,e) &
2941 + dz(k,7) * v(i,1,7,e)
2943 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
2944 + dz(k,2) * w(i,1,2,e) &
2945 + dz(k,3) * w(i,1,3,e) &
2946 + dz(k,4) * w(i,1,4,e) &
2947 + dz(k,5) * w(i,1,5,e) &
2948 + dz(k,6) * w(i,1,6,e) &
2949 + dz(k,7) * w(i,1,7,e)
2955 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
2956 + wut(i,1,1) * dtdx(i,1,1,e)
2957 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
2958 + wut(i,1,1) * dtdy(i,1,1,e)
2959 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
2960 + wut(i,1,1) * dtdz(i,1,1,e)
2962 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
2963 + wvt(i,1,1) * dtdx(i,1,1,e)
2964 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
2965 + wvt(i,1,1) * dtdy(i,1,1,e)
2966 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
2967 + wvt(i,1,1) * dtdz(i,1,1,e)
2969 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
2970 + wwt(i,1,1) * dtdx(i,1,1,e)
2971 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
2972 + wwt(i,1,1) * dtdy(i,1,1,e)
2973 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
2974 + wwt(i,1,1) * dtdz(i,1,1,e)
2976 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
2987 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
2988 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
2989 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
2991 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
2992 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
2993 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
2995 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
2996 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
2997 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
3002 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3003 + dxt(i,2) * wur(2,j,1) &
3004 + dxt(i,3) * wur(3,j,1) &
3005 + dxt(i,4) * wur(4,j,1) &
3006 + dxt(i,5) * wur(5,j,1) &
3007 + dxt(i,6) * wur(6,j,1) &
3008 + dxt(i,7) * wur(7,j,1)
3010 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3011 + dxt(i,2) * wvr(2,j,1) &
3012 + dxt(i,3) * wvr(3,j,1) &
3013 + dxt(i,4) * wvr(4,j,1) &
3014 + dxt(i,5) * wvr(5,j,1) &
3015 + dxt(i,6) * wvr(6,j,1) &
3016 + dxt(i,7) * wvr(7,j,1)
3018 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3019 + dxt(i,2) * wwr(2,j,1) &
3020 + dxt(i,3) * wwr(3,j,1) &
3021 + dxt(i,4) * wwr(4,j,1) &
3022 + dxt(i,5) * wwr(5,j,1) &
3023 + dxt(i,6) * wwr(6,j,1) &
3024 + dxt(i,7) * wwr(7,j,1)
3032 au(i,j,k,e) = au(i,j,k,e) &
3033 + dyt(j,1) * wus(i,1,k) &
3034 + dyt(j,2) * wus(i,2,k) &
3035 + dyt(j,3) * wus(i,3,k) &
3036 + dyt(j,4) * wus(i,4,k) &
3037 + dyt(j,5) * wus(i,5,k) &
3038 + dyt(j,6) * wus(i,6,k) &
3039 + dyt(j,7) * wus(i,7,k)
3041 av(i,j,k,e) = av(i,j,k,e) &
3042 + dyt(j,1) * wvs(i,1,k) &
3043 + dyt(j,2) * wvs(i,2,k) &
3044 + dyt(j,3) * wvs(i,3,k) &
3045 + dyt(j,4) * wvs(i,4,k) &
3046 + dyt(j,5) * wvs(i,5,k) &
3047 + dyt(j,6) * wvs(i,6,k) &
3048 + dyt(j,7) * wvs(i,7,k)
3050 aw(i,j,k,e) = aw(i,j,k,e) &
3051 + dyt(j,1) * wws(i,1,k) &
3052 + dyt(j,2) * wws(i,2,k) &
3053 + dyt(j,3) * wws(i,3,k) &
3054 + dyt(j,4) * wws(i,4,k) &
3055 + dyt(j,5) * wws(i,5,k) &
3056 + dyt(j,6) * wws(i,6,k) &
3057 + dyt(j,7) * wws(i,7,k)
3064 au(i,1,k,e) = au(i,1,k,e) &
3065 + dzt(k,1) * wut(i,1,1) &
3066 + dzt(k,2) * wut(i,1,2) &
3067 + dzt(k,3) * wut(i,1,3) &
3068 + dzt(k,4) * wut(i,1,4) &
3069 + dzt(k,5) * wut(i,1,5) &
3070 + dzt(k,6) * wut(i,1,6) &
3071 + dzt(k,7) * wut(i,1,7)
3073 av(i,1,k,e) = av(i,1,k,e) &
3074 + dzt(k,1) * wvt(i,1,1) &
3075 + dzt(k,2) * wvt(i,1,2) &
3076 + dzt(k,3) * wvt(i,1,3) &
3077 + dzt(k,4) * wvt(i,1,4) &
3078 + dzt(k,5) * wvt(i,1,5) &
3079 + dzt(k,6) * wvt(i,1,6) &
3080 + dzt(k,7) * wvt(i,1,7)
3082 aw(i,1,k,e) = aw(i,1,k,e) &
3083 + dzt(k,1) * wwt(i,1,1) &
3084 + dzt(k,2) * wwt(i,1,2) &
3085 + dzt(k,3) * wwt(i,1,3) &
3086 + dzt(k,4) * wwt(i,1,4) &
3087 + dzt(k,5) * wwt(i,1,5) &
3088 + dzt(k,6) * wwt(i,1,6) &
3089 + dzt(k,7) * wwt(i,1,7)
3097 subroutine ax_helm_stress_lx6(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3098 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3099 jacinv, weights3, n)
3100 integer,
parameter :: lx = 6
3101 integer,
intent(in) :: n
3102 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
3103 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
3104 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
3105 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3106 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3107 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3108 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3109 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3110 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3111 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3112 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3113 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3114 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3115 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3116 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3117 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3118 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3119 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
3120 real(kind=
rp),
intent(in) :: dx(lx, lx)
3121 real(kind=
rp),
intent(in) :: dy(lx, lx)
3122 real(kind=
rp),
intent(in) :: dz(lx, lx)
3123 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3124 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3125 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3126 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3128 real(kind=
rp) :: wur(lx, lx, lx)
3129 real(kind=
rp) :: wus(lx, lx, lx)
3130 real(kind=
rp) :: wut(lx, lx, lx)
3131 real(kind=
rp) :: wvr(lx, lx, lx)
3132 real(kind=
rp) :: wvs(lx, lx, lx)
3133 real(kind=
rp) :: wvt(lx, lx, lx)
3134 real(kind=
rp) :: wwr(lx, lx, lx)
3135 real(kind=
rp) :: wws(lx, lx, lx)
3136 real(kind=
rp) :: wwt(lx, lx, lx)
3138 integer :: e, i, j, k, l
3140 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
3141 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3147 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3148 + dx(i,2) * u(2,j,1,e) &
3149 + dx(i,3) * u(3,j,1,e) &
3150 + dx(i,4) * u(4,j,1,e) &
3151 + dx(i,5) * u(5,j,1,e) &
3152 + dx(i,6) * u(6,j,1,e)
3154 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3155 + dx(i,2) * v(2,j,1,e) &
3156 + dx(i,3) * v(3,j,1,e) &
3157 + dx(i,4) * v(4,j,1,e) &
3158 + dx(i,5) * v(5,j,1,e) &
3159 + dx(i,6) * v(6,j,1,e)
3161 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3162 + dx(i,2) * w(2,j,1,e) &
3163 + dx(i,3) * w(3,j,1,e) &
3164 + dx(i,4) * w(4,j,1,e) &
3165 + dx(i,5) * w(5,j,1,e) &
3166 + dx(i,6) * w(6,j,1,e)
3173 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3174 + dy(j,2) * u(i,2,k,e) &
3175 + dy(j,3) * u(i,3,k,e) &
3176 + dy(j,4) * u(i,4,k,e) &
3177 + dy(j,5) * u(i,5,k,e) &
3178 + dy(j,6) * u(i,6,k,e)
3180 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3181 + dy(j,2) * v(i,2,k,e) &
3182 + dy(j,3) * v(i,3,k,e) &
3183 + dy(j,4) * v(i,4,k,e) &
3184 + dy(j,5) * v(i,5,k,e) &
3185 + dy(j,6) * v(i,6,k,e)
3187 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3188 + dy(j,2) * w(i,2,k,e) &
3189 + dy(j,3) * w(i,3,k,e) &
3190 + dy(j,4) * w(i,4,k,e) &
3191 + dy(j,5) * w(i,5,k,e) &
3192 + dy(j,6) * w(i,6,k,e)
3199 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3200 + dz(k,2) * u(i,1,2,e) &
3201 + dz(k,3) * u(i,1,3,e) &
3202 + dz(k,4) * u(i,1,4,e) &
3203 + dz(k,5) * u(i,1,5,e) &
3204 + dz(k,6) * u(i,1,6,e)
3206 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3207 + dz(k,2) * v(i,1,2,e) &
3208 + dz(k,3) * v(i,1,3,e) &
3209 + dz(k,4) * v(i,1,4,e) &
3210 + dz(k,5) * v(i,1,5,e) &
3211 + dz(k,6) * v(i,1,6,e)
3213 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3214 + dz(k,2) * w(i,1,2,e) &
3215 + dz(k,3) * w(i,1,3,e) &
3216 + dz(k,4) * w(i,1,4,e) &
3217 + dz(k,5) * w(i,1,5,e) &
3218 + dz(k,6) * w(i,1,6,e)
3224 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3225 + wut(i,1,1) * dtdx(i,1,1,e)
3226 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3227 + wut(i,1,1) * dtdy(i,1,1,e)
3228 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3229 + wut(i,1,1) * dtdz(i,1,1,e)
3231 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3232 + wvt(i,1,1) * dtdx(i,1,1,e)
3233 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3234 + wvt(i,1,1) * dtdy(i,1,1,e)
3235 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3236 + wvt(i,1,1) * dtdz(i,1,1,e)
3238 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3239 + wwt(i,1,1) * dtdx(i,1,1,e)
3240 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3241 + wwt(i,1,1) * dtdy(i,1,1,e)
3242 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3243 + wwt(i,1,1) * dtdz(i,1,1,e)
3245 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3256 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3257 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3258 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3260 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3261 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3262 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3264 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
3265 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
3266 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
3271 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3272 + dxt(i,2) * wur(2,j,1) &
3273 + dxt(i,3) * wur(3,j,1) &
3274 + dxt(i,4) * wur(4,j,1) &
3275 + dxt(i,5) * wur(5,j,1) &
3276 + dxt(i,6) * wur(6,j,1)
3278 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3279 + dxt(i,2) * wvr(2,j,1) &
3280 + dxt(i,3) * wvr(3,j,1) &
3281 + dxt(i,4) * wvr(4,j,1) &
3282 + dxt(i,5) * wvr(5,j,1) &
3283 + dxt(i,6) * wvr(6,j,1)
3285 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3286 + dxt(i,2) * wwr(2,j,1) &
3287 + dxt(i,3) * wwr(3,j,1) &
3288 + dxt(i,4) * wwr(4,j,1) &
3289 + dxt(i,5) * wwr(5,j,1) &
3290 + dxt(i,6) * wwr(6,j,1)
3297 au(i,j,k,e) = au(i,j,k,e) &
3298 + dyt(j,1) * wus(i,1,k) &
3299 + dyt(j,2) * wus(i,2,k) &
3300 + dyt(j,3) * wus(i,3,k) &
3301 + dyt(j,4) * wus(i,4,k) &
3302 + dyt(j,5) * wus(i,5,k) &
3303 + dyt(j,6) * wus(i,6,k)
3305 av(i,j,k,e) = av(i,j,k,e) &
3306 + dyt(j,1) * wvs(i,1,k) &
3307 + dyt(j,2) * wvs(i,2,k) &
3308 + dyt(j,3) * wvs(i,3,k) &
3309 + dyt(j,4) * wvs(i,4,k) &
3310 + dyt(j,5) * wvs(i,5,k) &
3311 + dyt(j,6) * wvs(i,6,k)
3313 aw(i,j,k,e) = aw(i,j,k,e) &
3314 + dyt(j,1) * wws(i,1,k) &
3315 + dyt(j,2) * wws(i,2,k) &
3316 + dyt(j,3) * wws(i,3,k) &
3317 + dyt(j,4) * wws(i,4,k) &
3318 + dyt(j,5) * wws(i,5,k) &
3319 + dyt(j,6) * wws(i,6,k)
3326 au(i,1,k,e) = au(i,1,k,e) &
3327 + dzt(k,1) * wut(i,1,1) &
3328 + dzt(k,2) * wut(i,1,2) &
3329 + dzt(k,3) * wut(i,1,3) &
3330 + dzt(k,4) * wut(i,1,4) &
3331 + dzt(k,5) * wut(i,1,5) &
3332 + dzt(k,6) * wut(i,1,6)
3334 av(i,1,k,e) = av(i,1,k,e) &
3335 + dzt(k,1) * wvt(i,1,1) &
3336 + dzt(k,2) * wvt(i,1,2) &
3337 + dzt(k,3) * wvt(i,1,3) &
3338 + dzt(k,4) * wvt(i,1,4) &
3339 + dzt(k,5) * wvt(i,1,5) &
3340 + dzt(k,6) * wvt(i,1,6)
3342 aw(i,1,k,e) = aw(i,1,k,e) &
3343 + dzt(k,1) * wwt(i,1,1) &
3344 + dzt(k,2) * wwt(i,1,2) &
3345 + dzt(k,3) * wwt(i,1,3) &
3346 + dzt(k,4) * wwt(i,1,4) &
3347 + dzt(k,5) * wwt(i,1,5) &
3348 + dzt(k,6) * wwt(i,1,6)
3356 subroutine ax_helm_stress_lx5(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3357 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3358 jacinv, weights3, n)
3359 integer,
parameter :: lx = 5
3360 integer,
intent(in) :: n
3361 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
3362 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
3363 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
3364 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3365 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3366 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3367 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3368 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3369 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3370 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3371 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3372 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3373 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3374 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3375 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3376 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3377 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3378 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
3379 real(kind=
rp),
intent(in) :: dx(lx, lx)
3380 real(kind=
rp),
intent(in) :: dy(lx, lx)
3381 real(kind=
rp),
intent(in) :: dz(lx, lx)
3382 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3383 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3384 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3385 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3387 real(kind=
rp) :: wur(lx, lx, lx)
3388 real(kind=
rp) :: wus(lx, lx, lx)
3389 real(kind=
rp) :: wut(lx, lx, lx)
3390 real(kind=
rp) :: wvr(lx, lx, lx)
3391 real(kind=
rp) :: wvs(lx, lx, lx)
3392 real(kind=
rp) :: wvt(lx, lx, lx)
3393 real(kind=
rp) :: wwr(lx, lx, lx)
3394 real(kind=
rp) :: wws(lx, lx, lx)
3395 real(kind=
rp) :: wwt(lx, lx, lx)
3397 integer :: e, i, j, k, l
3399 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
3400 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3406 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3407 + dx(i,2) * u(2,j,1,e) &
3408 + dx(i,3) * u(3,j,1,e) &
3409 + dx(i,4) * u(4,j,1,e) &
3410 + dx(i,5) * u(5,j,1,e)
3412 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3413 + dx(i,2) * v(2,j,1,e) &
3414 + dx(i,3) * v(3,j,1,e) &
3415 + dx(i,4) * v(4,j,1,e) &
3416 + dx(i,5) * v(5,j,1,e)
3418 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3419 + dx(i,2) * w(2,j,1,e) &
3420 + dx(i,3) * w(3,j,1,e) &
3421 + dx(i,4) * w(4,j,1,e) &
3422 + dx(i,5) * w(5,j,1,e)
3429 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3430 + dy(j,2) * u(i,2,k,e) &
3431 + dy(j,3) * u(i,3,k,e) &
3432 + dy(j,4) * u(i,4,k,e) &
3433 + dy(j,5) * u(i,5,k,e)
3435 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3436 + dy(j,2) * v(i,2,k,e) &
3437 + dy(j,3) * v(i,3,k,e) &
3438 + dy(j,4) * v(i,4,k,e) &
3439 + dy(j,5) * v(i,5,k,e)
3441 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3442 + dy(j,2) * w(i,2,k,e) &
3443 + dy(j,3) * w(i,3,k,e) &
3444 + dy(j,4) * w(i,4,k,e) &
3445 + dy(j,5) * w(i,5,k,e)
3452 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3453 + dz(k,2) * u(i,1,2,e) &
3454 + dz(k,3) * u(i,1,3,e) &
3455 + dz(k,4) * u(i,1,4,e) &
3456 + dz(k,5) * u(i,1,5,e)
3458 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3459 + dz(k,2) * v(i,1,2,e) &
3460 + dz(k,3) * v(i,1,3,e) &
3461 + dz(k,4) * v(i,1,4,e) &
3462 + dz(k,5) * v(i,1,5,e)
3464 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3465 + dz(k,2) * w(i,1,2,e) &
3466 + dz(k,3) * w(i,1,3,e) &
3467 + dz(k,4) * w(i,1,4,e) &
3468 + dz(k,5) * w(i,1,5,e)
3474 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3475 + wut(i,1,1) * dtdx(i,1,1,e)
3476 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3477 + wut(i,1,1) * dtdy(i,1,1,e)
3478 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3479 + wut(i,1,1) * dtdz(i,1,1,e)
3481 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3482 + wvt(i,1,1) * dtdx(i,1,1,e)
3483 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3484 + wvt(i,1,1) * dtdy(i,1,1,e)
3485 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3486 + wvt(i,1,1) * dtdz(i,1,1,e)
3488 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3489 + wwt(i,1,1) * dtdx(i,1,1,e)
3490 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3491 + wwt(i,1,1) * dtdy(i,1,1,e)
3492 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3493 + wwt(i,1,1) * dtdz(i,1,1,e)
3495 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3506 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3507 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3508 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3510 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3511 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3512 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3514 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
3515 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
3516 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
3521 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3522 + dxt(i,2) * wur(2,j,1) &
3523 + dxt(i,3) * wur(3,j,1) &
3524 + dxt(i,4) * wur(4,j,1) &
3525 + dxt(i,5) * wur(5,j,1)
3527 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3528 + dxt(i,2) * wvr(2,j,1) &
3529 + dxt(i,3) * wvr(3,j,1) &
3530 + dxt(i,4) * wvr(4,j,1) &
3531 + dxt(i,5) * wvr(5,j,1)
3533 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3534 + dxt(i,2) * wwr(2,j,1) &
3535 + dxt(i,3) * wwr(3,j,1) &
3536 + dxt(i,4) * wwr(4,j,1) &
3537 + dxt(i,5) * wwr(5,j,1)
3545 au(i,j,k,e) = au(i,j,k,e) &
3546 + dyt(j,1) * wus(i,1,k) &
3547 + dyt(j,2) * wus(i,2,k) &
3548 + dyt(j,3) * wus(i,3,k) &
3549 + dyt(j,4) * wus(i,4,k) &
3550 + dyt(j,5) * wus(i,5,k)
3552 av(i,j,k,e) = av(i,j,k,e) &
3553 + dyt(j,1) * wvs(i,1,k) &
3554 + dyt(j,2) * wvs(i,2,k) &
3555 + dyt(j,3) * wvs(i,3,k) &
3556 + dyt(j,4) * wvs(i,4,k) &
3557 + dyt(j,5) * wvs(i,5,k)
3559 aw(i,j,k,e) = aw(i,j,k,e) &
3560 + dyt(j,1) * wws(i,1,k) &
3561 + dyt(j,2) * wws(i,2,k) &
3562 + dyt(j,3) * wws(i,3,k) &
3563 + dyt(j,4) * wws(i,4,k) &
3564 + dyt(j,5) * wws(i,5,k)
3571 au(i,1,k,e) = au(i,1,k,e) &
3572 + dzt(k,1) * wut(i,1,1) &
3573 + dzt(k,2) * wut(i,1,2) &
3574 + dzt(k,3) * wut(i,1,3) &
3575 + dzt(k,4) * wut(i,1,4) &
3576 + dzt(k,5) * wut(i,1,5)
3578 av(i,1,k,e) = av(i,1,k,e) &
3579 + dzt(k,1) * wvt(i,1,1) &
3580 + dzt(k,2) * wvt(i,1,2) &
3581 + dzt(k,3) * wvt(i,1,3) &
3582 + dzt(k,4) * wvt(i,1,4) &
3583 + dzt(k,5) * wvt(i,1,5)
3585 aw(i,1,k,e) = aw(i,1,k,e) &
3586 + dzt(k,1) * wwt(i,1,1) &
3587 + dzt(k,2) * wwt(i,1,2) &
3588 + dzt(k,3) * wwt(i,1,3) &
3589 + dzt(k,4) * wwt(i,1,4) &
3590 + dzt(k,5) * wwt(i,1,5)
3598 subroutine ax_helm_stress_lx4(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3599 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3600 jacinv, weights3, n)
3601 integer,
parameter :: lx = 4
3602 integer,
intent(in) :: n
3603 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
3604 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
3605 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
3606 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3607 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3608 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3609 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3610 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3611 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3612 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3613 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3614 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3615 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3616 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3617 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3618 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3619 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3620 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
3621 real(kind=
rp),
intent(in) :: dx(lx, lx)
3622 real(kind=
rp),
intent(in) :: dy(lx, lx)
3623 real(kind=
rp),
intent(in) :: dz(lx, lx)
3624 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3625 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3626 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3627 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3629 real(kind=
rp) :: wur(lx, lx, lx)
3630 real(kind=
rp) :: wus(lx, lx, lx)
3631 real(kind=
rp) :: wut(lx, lx, lx)
3632 real(kind=
rp) :: wvr(lx, lx, lx)
3633 real(kind=
rp) :: wvs(lx, lx, lx)
3634 real(kind=
rp) :: wvt(lx, lx, lx)
3635 real(kind=
rp) :: wwr(lx, lx, lx)
3636 real(kind=
rp) :: wws(lx, lx, lx)
3637 real(kind=
rp) :: wwt(lx, lx, lx)
3639 integer :: e, i, j, k, l
3641 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
3642 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3648 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3649 + dx(i,2) * u(2,j,1,e) &
3650 + dx(i,3) * u(3,j,1,e) &
3651 + dx(i,4) * u(4,j,1,e)
3653 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3654 + dx(i,2) * v(2,j,1,e) &
3655 + dx(i,3) * v(3,j,1,e) &
3656 + dx(i,4) * v(4,j,1,e)
3658 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3659 + dx(i,2) * w(2,j,1,e) &
3660 + dx(i,3) * w(3,j,1,e) &
3661 + dx(i,4) * w(4,j,1,e)
3668 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3669 + dy(j,2) * u(i,2,k,e) &
3670 + dy(j,3) * u(i,3,k,e) &
3671 + dy(j,4) * u(i,4,k,e)
3673 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3674 + dy(j,2) * v(i,2,k,e) &
3675 + dy(j,3) * v(i,3,k,e) &
3676 + dy(j,4) * v(i,4,k,e)
3678 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3679 + dy(j,2) * w(i,2,k,e) &
3680 + dy(j,3) * w(i,3,k,e) &
3681 + dy(j,4) * w(i,4,k,e)
3688 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3689 + dz(k,2) * u(i,1,2,e) &
3690 + dz(k,3) * u(i,1,3,e) &
3691 + dz(k,4) * u(i,1,4,e)
3693 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3694 + dz(k,2) * v(i,1,2,e) &
3695 + dz(k,3) * v(i,1,3,e) &
3696 + dz(k,4) * v(i,1,4,e)
3698 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3699 + dz(k,2) * w(i,1,2,e) &
3700 + dz(k,3) * w(i,1,3,e) &
3701 + dz(k,4) * w(i,1,4,e)
3707 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3708 + wut(i,1,1) * dtdx(i,1,1,e)
3709 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3710 + wut(i,1,1) * dtdy(i,1,1,e)
3711 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3712 + wut(i,1,1) * dtdz(i,1,1,e)
3714 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3715 + wvt(i,1,1) * dtdx(i,1,1,e)
3716 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3717 + wvt(i,1,1) * dtdy(i,1,1,e)
3718 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3719 + wvt(i,1,1) * dtdz(i,1,1,e)
3721 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3722 + wwt(i,1,1) * dtdx(i,1,1,e)
3723 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3724 + wwt(i,1,1) * dtdy(i,1,1,e)
3725 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3726 + wwt(i,1,1) * dtdz(i,1,1,e)
3728 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3739 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3740 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3741 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3743 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3744 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3745 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3747 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
3748 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
3749 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
3754 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3755 + dxt(i,2) * wur(2,j,1) &
3756 + dxt(i,3) * wur(3,j,1) &
3757 + dxt(i,4) * wur(4,j,1)
3759 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3760 + dxt(i,2) * wvr(2,j,1) &
3761 + dxt(i,3) * wvr(3,j,1) &
3762 + dxt(i,4) * wvr(4,j,1)
3764 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3765 + dxt(i,2) * wwr(2,j,1) &
3766 + dxt(i,3) * wwr(3,j,1) &
3767 + dxt(i,4) * wwr(4,j,1)
3774 au(i,j,k,e) = au(i,j,k,e) &
3775 + dyt(j,1) * wus(i,1,k) &
3776 + dyt(j,2) * wus(i,2,k) &
3777 + dyt(j,3) * wus(i,3,k) &
3778 + dyt(j,4) * wus(i,4,k)
3780 av(i,j,k,e) = av(i,j,k,e) &
3781 + dyt(j,1) * wvs(i,1,k) &
3782 + dyt(j,2) * wvs(i,2,k) &
3783 + dyt(j,3) * wvs(i,3,k) &
3784 + dyt(j,4) * wvs(i,4,k)
3786 aw(i,j,k,e) = aw(i,j,k,e) &
3787 + dyt(j,1) * wws(i,1,k) &
3788 + dyt(j,2) * wws(i,2,k) &
3789 + dyt(j,3) * wws(i,3,k) &
3790 + dyt(j,4) * wws(i,4,k)
3797 au(i,1,k,e) = au(i,1,k,e) &
3798 + dzt(k,1) * wut(i,1,1) &
3799 + dzt(k,2) * wut(i,1,2) &
3800 + dzt(k,3) * wut(i,1,3) &
3801 + dzt(k,4) * wut(i,1,4)
3803 av(i,1,k,e) = av(i,1,k,e) &
3804 + dzt(k,1) * wvt(i,1,1) &
3805 + dzt(k,2) * wvt(i,1,2) &
3806 + dzt(k,3) * wvt(i,1,3) &
3807 + dzt(k,4) * wvt(i,1,4)
3809 aw(i,1,k,e) = aw(i,1,k,e) &
3810 + dzt(k,1) * wwt(i,1,1) &
3811 + dzt(k,2) * wwt(i,1,2) &
3812 + dzt(k,3) * wwt(i,1,3) &
3813 + dzt(k,4) * wwt(i,1,4)
3821 subroutine ax_helm_stress_lx3(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
3822 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
3823 jacinv, weights3, n)
3824 integer,
parameter :: lx = 3
3825 integer,
intent(in) :: n
3826 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
3827 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
3828 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
3829 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
3830 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
3831 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
3832 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
3833 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
3834 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
3835 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
3836 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
3837 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
3838 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
3839 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
3840 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
3841 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
3842 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
3843 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
3844 real(kind=
rp),
intent(in) :: dx(lx, lx)
3845 real(kind=
rp),
intent(in) :: dy(lx, lx)
3846 real(kind=
rp),
intent(in) :: dz(lx, lx)
3847 real(kind=
rp),
intent(in) :: dxt(lx, lx)
3848 real(kind=
rp),
intent(in) :: dyt(lx, lx)
3849 real(kind=
rp),
intent(in) :: dzt(lx, lx)
3850 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
3852 real(kind=
rp) :: wur(lx, lx, lx)
3853 real(kind=
rp) :: wus(lx, lx, lx)
3854 real(kind=
rp) :: wut(lx, lx, lx)
3855 real(kind=
rp) :: wvr(lx, lx, lx)
3856 real(kind=
rp) :: wvs(lx, lx, lx)
3857 real(kind=
rp) :: wvt(lx, lx, lx)
3858 real(kind=
rp) :: wwr(lx, lx, lx)
3859 real(kind=
rp) :: wws(lx, lx, lx)
3860 real(kind=
rp) :: wwt(lx, lx, lx)
3862 integer :: e, i, j, k, l
3864 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
3865 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
3871 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
3872 + dx(i,2) * u(2,j,1,e) &
3873 + dx(i,3) * u(3,j,1,e)
3875 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
3876 + dx(i,2) * v(2,j,1,e) &
3877 + dx(i,3) * v(3,j,1,e)
3879 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
3880 + dx(i,2) * w(2,j,1,e) &
3881 + dx(i,3) * w(3,j,1,e)
3888 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
3889 + dy(j,2) * u(i,2,k,e) &
3890 + dy(j,3) * u(i,3,k,e)
3892 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
3893 + dy(j,2) * v(i,2,k,e) &
3894 + dy(j,3) * v(i,3,k,e)
3896 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
3897 + dy(j,2) * w(i,2,k,e) &
3898 + dy(j,3) * w(i,3,k,e)
3905 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
3906 + dz(k,2) * u(i,1,2,e) &
3907 + dz(k,3) * u(i,1,3,e)
3909 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
3910 + dz(k,2) * v(i,1,2,e) &
3911 + dz(k,3) * v(i,1,3,e)
3913 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
3914 + dz(k,2) * w(i,1,2,e) &
3915 + dz(k,3) * w(i,1,3,e)
3921 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
3922 + wut(i,1,1) * dtdx(i,1,1,e)
3923 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
3924 + wut(i,1,1) * dtdy(i,1,1,e)
3925 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
3926 + wut(i,1,1) * dtdz(i,1,1,e)
3928 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
3929 + wvt(i,1,1) * dtdx(i,1,1,e)
3930 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
3931 + wvt(i,1,1) * dtdy(i,1,1,e)
3932 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
3933 + wvt(i,1,1) * dtdz(i,1,1,e)
3935 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
3936 + wwt(i,1,1) * dtdx(i,1,1,e)
3937 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
3938 + wwt(i,1,1) * dtdy(i,1,1,e)
3939 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
3940 + wwt(i,1,1) * dtdz(i,1,1,e)
3942 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
3953 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
3954 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
3955 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
3957 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
3958 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
3959 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
3961 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
3962 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
3963 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
3968 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
3969 + dxt(i,2) * wur(2,j,1) &
3970 + dxt(i,3) * wur(3,j,1)
3972 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
3973 + dxt(i,2) * wvr(2,j,1) &
3974 + dxt(i,3) * wvr(3,j,1)
3976 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
3977 + dxt(i,2) * wwr(2,j,1) &
3978 + dxt(i,3) * wwr(3,j,1)
3985 au(i,j,k,e) = au(i,j,k,e) &
3986 + dyt(j,1) * wus(i,1,k) &
3987 + dyt(j,2) * wus(i,2,k) &
3988 + dyt(j,3) * wus(i,3,k)
3990 av(i,j,k,e) = av(i,j,k,e) &
3991 + dyt(j,1) * wvs(i,1,k) &
3992 + dyt(j,2) * wvs(i,2,k) &
3993 + dyt(j,3) * wvs(i,3,k)
3995 aw(i,j,k,e) = aw(i,j,k,e) &
3996 + dyt(j,1) * wws(i,1,k) &
3997 + dyt(j,2) * wws(i,2,k) &
3998 + dyt(j,3) * wws(i,3,k)
4005 au(i,1,k,e) = au(i,1,k,e) &
4006 + dzt(k,1) * wut(i,1,1) &
4007 + dzt(k,2) * wut(i,1,2) &
4008 + dzt(k,3) * wut(i,1,3)
4010 av(i,1,k,e) = av(i,1,k,e) &
4011 + dzt(k,1) * wvt(i,1,1) &
4012 + dzt(k,2) * wvt(i,1,2) &
4013 + dzt(k,3) * wvt(i,1,3)
4015 aw(i,1,k,e) = aw(i,1,k,e) &
4016 + dzt(k,1) * wwt(i,1,1) &
4017 + dzt(k,2) * wwt(i,1,2) &
4018 + dzt(k,3) * wwt(i,1,3)
4026 subroutine ax_helm_stress_lx2(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, &
4027 Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, &
4028 jacinv, weights3, n)
4029 integer,
parameter :: lx = 2
4030 integer,
intent(in) :: n
4031 real(kind=
rp),
intent(inout) :: u(lx, lx, lx, n)
4032 real(kind=
rp),
intent(inout) :: v(lx, lx, lx, n)
4033 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
4034 real(kind=
rp),
intent(inout) :: au(lx, lx, lx, n)
4035 real(kind=
rp),
intent(inout) :: av(lx, lx, lx, n)
4036 real(kind=
rp),
intent(inout) :: aw(lx, lx, lx, n)
4037 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
4038 real(kind=
rp),
intent(in) :: h2(lx, lx, lx, n)
4039 real(kind=
rp),
intent(in) :: drdx(lx, lx, lx, n)
4040 real(kind=
rp),
intent(in) :: drdy(lx, lx, lx, n)
4041 real(kind=
rp),
intent(in) :: drdz(lx, lx, lx, n)
4042 real(kind=
rp),
intent(in) :: dsdx(lx, lx, lx, n)
4043 real(kind=
rp),
intent(in) :: dsdy(lx, lx, lx, n)
4044 real(kind=
rp),
intent(in) :: dsdz(lx, lx, lx, n)
4045 real(kind=
rp),
intent(in) :: dtdx(lx, lx, lx, n)
4046 real(kind=
rp),
intent(in) :: dtdy(lx, lx, lx, n)
4047 real(kind=
rp),
intent(in) :: dtdz(lx, lx, lx, n)
4048 real(kind=
rp),
intent(inout) :: jacinv(lx, lx, lx, n)
4049 real(kind=
rp),
intent(in) :: dx(lx, lx)
4050 real(kind=
rp),
intent(in) :: dy(lx, lx)
4051 real(kind=
rp),
intent(in) :: dz(lx, lx)
4052 real(kind=
rp),
intent(in) :: dxt(lx, lx)
4053 real(kind=
rp),
intent(in) :: dyt(lx, lx)
4054 real(kind=
rp),
intent(in) :: dzt(lx, lx)
4055 real(kind=
rp),
intent(in) :: weights3(lx, lx, lx)
4057 real(kind=
rp) :: wur(lx, lx, lx)
4058 real(kind=
rp) :: wus(lx, lx, lx)
4059 real(kind=
rp) :: wut(lx, lx, lx)
4060 real(kind=
rp) :: wvr(lx, lx, lx)
4061 real(kind=
rp) :: wvs(lx, lx, lx)
4062 real(kind=
rp) :: wvt(lx, lx, lx)
4063 real(kind=
rp) :: wwr(lx, lx, lx)
4064 real(kind=
rp) :: wws(lx, lx, lx)
4065 real(kind=
rp) :: wwt(lx, lx, lx)
4067 integer :: e, i, j, k
4069 real(kind=
rp) :: s11, s12, s13, s21, s22, s23, s31, s32, s33
4070 real(kind=
rp) :: u1, u2, u3, v1, v2, v3, w1, w2, w3
4076 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
4077 + dx(i,2) * u(2,j,1,e)
4079 wvr(i,j,1) = dx(i,1) * v(1,j,1,e) &
4080 + dx(i,2) * v(2,j,1,e)
4082 wwr(i,j,1) = dx(i,1) * w(1,j,1,e) &
4083 + dx(i,2) * w(2,j,1,e)
4090 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
4091 + dy(j,2) * u(i,2,k,e)
4093 wvs(i,j,k) = dy(j,1) * v(i,1,k,e) &
4094 + dy(j,2) * v(i,2,k,e)
4096 wws(i,j,k) = dy(j,1) * w(i,1,k,e) &
4097 + dy(j,2) * w(i,2,k,e)
4104 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
4105 + dz(k,2) * u(i,1,2,e)
4107 wvt(i,1,k) = dz(k,1) * v(i,1,1,e) &
4108 + dz(k,2) * v(i,1,2,e)
4110 wwt(i,1,k) = dz(k,1) * w(i,1,1,e) &
4111 + dz(k,2) * w(i,1,2,e)
4117 u1 = wur(i,1,1) * drdx(i,1,1,e) + wus(i,1,1) * dsdx(i,1,1,e) &
4118 + wut(i,1,1) * dtdx(i,1,1,e)
4119 u2 = wur(i,1,1) * drdy(i,1,1,e) + wus(i,1,1) * dsdy(i,1,1,e) &
4120 + wut(i,1,1) * dtdy(i,1,1,e)
4121 u3 = wur(i,1,1) * drdz(i,1,1,e) + wus(i,1,1) * dsdz(i,1,1,e) &
4122 + wut(i,1,1) * dtdz(i,1,1,e)
4124 v1 = wvr(i,1,1) * drdx(i,1,1,e) + wvs(i,1,1) * dsdx(i,1,1,e) &
4125 + wvt(i,1,1) * dtdx(i,1,1,e)
4126 v2 = wvr(i,1,1) * drdy(i,1,1,e) + wvs(i,1,1) * dsdy(i,1,1,e) &
4127 + wvt(i,1,1) * dtdy(i,1,1,e)
4128 v3 = wvr(i,1,1) * drdz(i,1,1,e) + wvs(i,1,1) * dsdz(i,1,1,e) &
4129 + wvt(i,1,1) * dtdz(i,1,1,e)
4131 w1 = wwr(i,1,1) * drdx(i,1,1,e) + wws(i,1,1) * dsdx(i,1,1,e) &
4132 + wwt(i,1,1) * dtdx(i,1,1,e)
4133 w2 = wwr(i,1,1) * drdy(i,1,1,e) + wws(i,1,1) * dsdy(i,1,1,e) &
4134 + wwt(i,1,1) * dtdy(i,1,1,e)
4135 w3 = wwr(i,1,1) * drdz(i,1,1,e) + wws(i,1,1) * dsdz(i,1,1,e) &
4136 + wwt(i,1,1) * dtdz(i,1,1,e)
4138 dj = h1(i,1,1,e) * weights3(i,1,1) * jacinv(i,1,1,e)
4149 wur(i,1,1) = drdx(i,1,1,e)*s11 + drdy(i,1,1,e)*s12 + drdz(i,1,1,e)*s13
4150 wus(i,1,1) = dsdx(i,1,1,e)*s11 + dsdy(i,1,1,e)*s12 + dsdz(i,1,1,e)*s13
4151 wut(i,1,1) = dtdx(i,1,1,e)*s11 + dtdy(i,1,1,e)*s12 + dtdz(i,1,1,e)*s13
4153 wvr(i,1,1) = drdx(i,1,1,e)*s21 + drdy(i,1,1,e)*s22 + drdz(i,1,1,e)*s23
4154 wvs(i,1,1) = dsdx(i,1,1,e)*s21 + dsdy(i,1,1,e)*s22 + dsdz(i,1,1,e)*s23
4155 wvt(i,1,1) = dtdx(i,1,1,e)*s21 + dtdy(i,1,1,e)*s22 + dtdz(i,1,1,e)*s23
4157 wwr(i,1,1) = drdx(i,1,1,e)*s31 + drdy(i,1,1,e)*s32 + drdz(i,1,1,e)*s33
4158 wws(i,1,1) = dsdx(i,1,1,e)*s31 + dsdy(i,1,1,e)*s32 + dsdz(i,1,1,e)*s33
4159 wwt(i,1,1) = dtdx(i,1,1,e)*s31 + dtdy(i,1,1,e)*s32 + dtdz(i,1,1,e)*s33
4164 au(i,j,1,e) = dxt(i,1) * wur(1,j,1) &
4165 + dxt(i,2) * wur(2,j,1)
4167 av(i,j,1,e) = dxt(i,1) * wvr(1,j,1) &
4168 + dxt(i,2) * wvr(2,j,1)
4170 aw(i,j,1,e) = dxt(i,1) * wwr(1,j,1) &
4171 + dxt(i,2) * wwr(2,j,1)
4178 au(i,j,k,e) = au(i,j,k,e) &
4179 + dyt(j,1) * wus(i,1,k) &
4180 + dyt(j,2) * wus(i,2,k)
4182 av(i,j,k,e) = av(i,j,k,e) &
4183 + dyt(j,1) * wvs(i,1,k) &
4184 + dyt(j,2) * wvs(i,2,k)
4186 aw(i,j,k,e) = aw(i,j,k,e) &
4187 + dyt(j,1) * wws(i,1,k) &
4188 + dyt(j,2) * wws(i,2,k)
4195 au(i,1,k,e) = au(i,1,k,e) &
4196 + dzt(k,1) * wut(i,1,1) &
4197 + dzt(k,2) * wut(i,1,2)
4199 av(i,1,k,e) = av(i,1,k,e) &
4200 + dzt(k,1) * wvt(i,1,1) &
4201 + dzt(k,2) * wvt(i,1,2)
4203 aw(i,1,k,e) = aw(i,1,k,e) &
4204 + dzt(k,1) * wwt(i,1,1) &
4205 + dzt(k,2) * wwt(i,1,2)
subroutine ax_helm_stress_lx14(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx8(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx13(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx11(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_full_compute_vector(this, au, av, aw, u, v, w, coef, msh, Xh)
Compute inside a Krylov method, taking 3 components of a vector field in a coupled manner.
subroutine ax_helm_stress_lx(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n, lx)
subroutine ax_helm_stress_lx5(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx6(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx10(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx7(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx4(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx2(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx9(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx3(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine ax_helm_stress_lx12(au, av, aw, u, v, w, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, h2, drdx, drdy, drdz, dsdx, dsdy, dsdz, dtdx, dtdy, dtdz, jacinv, weights3, n)
subroutine, public addcol4(a, b, c, d, n)
Returns .
integer, parameter, public rp
Global precision used in computations.
Defines a function space.
Matrix-vector product for a Helmholtz problem.
CPU matrix-vector product for a Helmholtz problem with full stress tensor.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
The function space for the SEM solution fields.