61 type(
mesh_t),
intent(inout) :: msh
62 type(
space_t),
intent(inout) :: Xh
63 type(
coef_t),
intent(inout) :: coef
64 real(kind=
rp),
intent(inout) :: w(xh%lx, xh%ly, xh%lz, msh%nelv)
65 real(kind=
rp),
intent(inout) :: u(xh%lx, xh%ly, xh%lz, msh%nelv)
70 call ax_helm_lx14(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
71 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
74 call ax_helm_lx13(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
75 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
78 call ax_helm_lx12(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
79 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
82 call ax_helm_lx11(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
83 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
86 call ax_helm_lx10(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
87 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
90 call ax_helm_lx9(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
91 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
94 call ax_helm_lx8(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
95 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
98 call ax_helm_lx7(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
99 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
102 call ax_helm_lx6(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
103 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
106 call ax_helm_lx5(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
107 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
110 call ax_helm_lx4(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
111 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
114 call ax_helm_lx3(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
115 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
118 call ax_helm_lx2(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, &
119 coef%h1, coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, &
122 call ax_helm_lx(w, u, xh%dx, xh%dy, xh%dz, xh%dxt, xh%dyt, xh%dzt, coef%h1, &
123 coef%G11, coef%G22, coef%G33, coef%G12, coef%G13, coef%G23, &
127 if (coef%ifh2)
call addcol4 (w,coef%h2,coef%B,u,coef%dof%size())
145 h1, G11, G22, G33, G12, G13, G23, n, lx)
146 integer,
intent(in) :: n, lx
147 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
148 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
149 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
150 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
151 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
152 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
153 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
154 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
155 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
156 real(kind=
rp),
intent(in) :: dx(lx,lx)
157 real(kind=
rp),
intent(in) :: dy(lx,lx)
158 real(kind=
rp),
intent(in) :: dz(lx,lx)
159 real(kind=
rp),
intent(in) :: dxt(lx,lx)
160 real(kind=
rp),
intent(in) :: dyt(lx,lx)
161 real(kind=
rp),
intent(in) :: dzt(lx,lx)
162 real(kind=
rp) :: ur(lx, lx, lx)
163 real(kind=
rp) :: us(lx, lx, lx)
164 real(kind=
rp) :: ut(lx, lx, lx)
165 real(kind=
rp) :: wur(lx, lx, lx)
166 real(kind=
rp) :: wus(lx, lx, lx)
167 real(kind=
rp) :: wut(lx, lx, lx)
169 integer :: e, i, j, k, l
176 tmp = tmp + dx(i,k) * u(k,j,1,e)
187 tmp = tmp + dy(j,l) * u(i,l,k,e)
198 tmp = tmp + dz(k,l) * u(i,1,l,e)
205 ur(i,1,1) = h1(i,1,1,e) &
206 * ( g11(i,1,1,e) * wur(i,1,1) &
207 + g12(i,1,1,e) * wus(i,1,1) &
208 + g13(i,1,1,e) * wut(i,1,1) )
209 us(i,1,1) = h1(i,1,1,e) &
210 * ( g12(i,1,1,e) * wur(i,1,1) &
211 + g22(i,1,1,e) * wus(i,1,1) &
212 + g23(i,1,1,e) * wut(i,1,1) )
213 ut(i,1,1) = h1(i,1,1,e) &
214 * ( g13(i,1,1,e) * wur(i,1,1) &
215 + g23(i,1,1,e) * wus(i,1,1) &
216 + g33(i,1,1,e) * wut(i,1,1) )
223 tmp = tmp + dxt(i,k) * ur(k,j,1)
234 tmp = tmp + dyt(j,l) * us(i,l,k)
236 w(i,j,k,e) = w(i,j,k,e) + tmp
245 tmp = tmp + dzt(k,l) * ut(i,1,l)
247 w(i,1,k,e) = w(i,1,k,e) + tmp
255 h1, G11, G22, G33, G12, G13, G23, n)
256 integer,
parameter :: lx = 14
257 integer,
intent(in) :: n
258 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
259 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
260 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
261 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
262 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
263 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
264 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
265 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
266 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
267 real(kind=
rp),
intent(in) :: dx(lx,lx)
268 real(kind=
rp),
intent(in) :: dy(lx,lx)
269 real(kind=
rp),
intent(in) :: dz(lx,lx)
270 real(kind=
rp),
intent(in) :: dxt(lx,lx)
271 real(kind=
rp),
intent(in) :: dyt(lx,lx)
272 real(kind=
rp),
intent(in) :: dzt(lx,lx)
273 real(kind=
rp) :: ur(lx, lx, lx)
274 real(kind=
rp) :: us(lx, lx, lx)
275 real(kind=
rp) :: ut(lx, lx, lx)
276 real(kind=
rp) :: wur(lx, lx, lx)
277 real(kind=
rp) :: wus(lx, lx, lx)
278 real(kind=
rp) :: wut(lx, lx, lx)
279 integer :: e, i, j, k
284 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
285 + dx(i,2) * u(2,j,1,e) &
286 + dx(i,3) * u(3,j,1,e) &
287 + dx(i,4) * u(4,j,1,e) &
288 + dx(i,5) * u(5,j,1,e) &
289 + dx(i,6) * u(6,j,1,e) &
290 + dx(i,7) * u(7,j,1,e) &
291 + dx(i,8) * u(8,j,1,e) &
292 + dx(i,9) * u(9,j,1,e) &
293 + dx(i,10) * u(10,j,1,e) &
294 + dx(i,11) * u(11,j,1,e) &
295 + dx(i,12) * u(12,j,1,e) &
296 + dx(i,13) * u(13,j,1,e) &
297 + dx(i,14) * u(14,j,1,e)
304 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
305 + dy(j,2) * u(i,2,k,e) &
306 + dy(j,3) * u(i,3,k,e) &
307 + dy(j,4) * u(i,4,k,e) &
308 + dy(j,5) * u(i,5,k,e) &
309 + dy(j,6) * u(i,6,k,e) &
310 + dy(j,7) * u(i,7,k,e) &
311 + dy(j,8) * u(i,8,k,e) &
312 + dy(j,9) * u(i,9,k,e) &
313 + dy(j,10) * u(i,10,k,e) &
314 + dy(j,11) * u(i,11,k,e) &
315 + dy(j,12) * u(i,12,k,e) &
316 + dy(j,13) * u(i,13,k,e) &
317 + dy(j,14) * u(i,14,k,e)
324 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
325 + dz(k,2) * u(i,1,2,e) &
326 + dz(k,3) * u(i,1,3,e) &
327 + dz(k,4) * u(i,1,4,e) &
328 + dz(k,5) * u(i,1,5,e) &
329 + dz(k,6) * u(i,1,6,e) &
330 + dz(k,7) * u(i,1,7,e) &
331 + dz(k,8) * u(i,1,8,e) &
332 + dz(k,9) * u(i,1,9,e) &
333 + dz(k,10) * u(i,1,10,e) &
334 + dz(k,11) * u(i,1,11,e) &
335 + dz(k,12) * u(i,1,12,e) &
336 + dz(k,13) * u(i,1,13,e) &
337 + dz(k,14) * u(i,1,14,e)
342 ur(i,1,1) = h1(i,1,1,e) &
343 * ( g11(i,1,1,e) * wur(i,1,1) &
344 + g12(i,1,1,e) * wus(i,1,1) &
345 + g13(i,1,1,e) * wut(i,1,1) )
346 us(i,1,1) = h1(i,1,1,e) &
347 * ( g12(i,1,1,e) * wur(i,1,1) &
348 + g22(i,1,1,e) * wus(i,1,1) &
349 + g23(i,1,1,e) * wut(i,1,1) )
350 ut(i,1,1) = h1(i,1,1,e) &
351 * ( g13(i,1,1,e) * wur(i,1,1) &
352 + g23(i,1,1,e) * wus(i,1,1) &
353 + g33(i,1,1,e) * wut(i,1,1) )
358 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
359 + dxt(i,2) * ur(2,j,1) &
360 + dxt(i,3) * ur(3,j,1) &
361 + dxt(i,4) * ur(4,j,1) &
362 + dxt(i,5) * ur(5,j,1) &
363 + dxt(i,6) * ur(6,j,1) &
364 + dxt(i,7) * ur(7,j,1) &
365 + dxt(i,8) * ur(8,j,1) &
366 + dxt(i,9) * ur(9,j,1) &
367 + dxt(i,10) * ur(10,j,1) &
368 + dxt(i,11) * ur(11,j,1) &
369 + dxt(i,12) * ur(12,j,1) &
370 + dxt(i,13) * ur(13,j,1) &
371 + dxt(i,14) * ur(14,j,1)
378 w(i,j,k,e) = w(i,j,k,e) &
379 + dyt(j,1) * us(i,1,k) &
380 + dyt(j,2) * us(i,2,k) &
381 + dyt(j,3) * us(i,3,k) &
382 + dyt(j,4) * us(i,4,k) &
383 + dyt(j,5) * us(i,5,k) &
384 + dyt(j,6) * us(i,6,k) &
385 + dyt(j,7) * us(i,7,k) &
386 + dyt(j,8) * us(i,8,k) &
387 + dyt(j,9) * us(i,9,k) &
388 + dyt(j,10) * us(i,10,k) &
389 + dyt(j,11) * us(i,11,k) &
390 + dyt(j,12) * us(i,12,k) &
391 + dyt(j,13) * us(i,13,k) &
392 + dyt(j,14) * us(i,14,k)
399 w(i,1,k,e) = w(i,1,k,e) &
400 + dzt(k,1) * ut(i,1,1) &
401 + dzt(k,2) * ut(i,1,2) &
402 + dzt(k,3) * ut(i,1,3) &
403 + dzt(k,4) * ut(i,1,4) &
404 + dzt(k,5) * ut(i,1,5) &
405 + dzt(k,6) * ut(i,1,6) &
406 + dzt(k,7) * ut(i,1,7) &
407 + dzt(k,8) * ut(i,1,8) &
408 + dzt(k,9) * ut(i,1,9) &
409 + dzt(k,10) * ut(i,1,10) &
410 + dzt(k,11) * ut(i,1,11) &
411 + dzt(k,12) * ut(i,1,12) &
412 + dzt(k,13) * ut(i,1,13) &
413 + dzt(k,14) * ut(i,1,14)
421 h1, G11, G22, G33, G12, G13, G23, n)
422 integer,
parameter :: lx = 13
423 integer,
intent(in) :: n
424 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
425 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
426 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
427 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
428 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
429 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
430 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
431 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
432 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
433 real(kind=
rp),
intent(in) :: dx(lx,lx)
434 real(kind=
rp),
intent(in) :: dy(lx,lx)
435 real(kind=
rp),
intent(in) :: dz(lx,lx)
436 real(kind=
rp),
intent(in) :: dxt(lx,lx)
437 real(kind=
rp),
intent(in) :: dyt(lx,lx)
438 real(kind=
rp),
intent(in) :: dzt(lx,lx)
439 real(kind=
rp) :: ur(lx, lx, lx)
440 real(kind=
rp) :: us(lx, lx, lx)
441 real(kind=
rp) :: ut(lx, lx, lx)
442 real(kind=
rp) :: wur(lx, lx, lx)
443 real(kind=
rp) :: wus(lx, lx, lx)
444 real(kind=
rp) :: wut(lx, lx, lx)
445 integer :: e, i, j, k
450 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
451 + dx(i,2) * u(2,j,1,e) &
452 + dx(i,3) * u(3,j,1,e) &
453 + dx(i,4) * u(4,j,1,e) &
454 + dx(i,5) * u(5,j,1,e) &
455 + dx(i,6) * u(6,j,1,e) &
456 + dx(i,7) * u(7,j,1,e) &
457 + dx(i,8) * u(8,j,1,e) &
458 + dx(i,9) * u(9,j,1,e) &
459 + dx(i,10) * u(10,j,1,e) &
460 + dx(i,11) * u(11,j,1,e) &
461 + dx(i,12) * u(12,j,1,e) &
462 + dx(i,13) * u(13,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)
489 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
490 + dz(k,2) * u(i,1,2,e) &
491 + dz(k,3) * u(i,1,3,e) &
492 + dz(k,4) * u(i,1,4,e) &
493 + dz(k,5) * u(i,1,5,e) &
494 + dz(k,6) * u(i,1,6,e) &
495 + dz(k,7) * u(i,1,7,e) &
496 + dz(k,8) * u(i,1,8,e) &
497 + dz(k,9) * u(i,1,9,e) &
498 + dz(k,10) * u(i,1,10,e) &
499 + dz(k,11) * u(i,1,11,e) &
500 + dz(k,12) * u(i,1,12,e) &
501 + dz(k,13) * u(i,1,13,e)
506 ur(i,1,1) = h1(i,1,1,e) &
507 * ( g11(i,1,1,e) * wur(i,1,1) &
508 + g12(i,1,1,e) * wus(i,1,1) &
509 + g13(i,1,1,e) * wut(i,1,1) )
510 us(i,1,1) = h1(i,1,1,e) &
511 * ( g12(i,1,1,e) * wur(i,1,1) &
512 + g22(i,1,1,e) * wus(i,1,1) &
513 + g23(i,1,1,e) * wut(i,1,1) )
514 ut(i,1,1) = h1(i,1,1,e) &
515 * ( g13(i,1,1,e) * wur(i,1,1) &
516 + g23(i,1,1,e) * wus(i,1,1) &
517 + g33(i,1,1,e) * wut(i,1,1) )
522 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
523 + dxt(i,2) * ur(2,j,1) &
524 + dxt(i,3) * ur(3,j,1) &
525 + dxt(i,4) * ur(4,j,1) &
526 + dxt(i,5) * ur(5,j,1) &
527 + dxt(i,6) * ur(6,j,1) &
528 + dxt(i,7) * ur(7,j,1) &
529 + dxt(i,8) * ur(8,j,1) &
530 + dxt(i,9) * ur(9,j,1) &
531 + dxt(i,10) * ur(10,j,1) &
532 + dxt(i,11) * ur(11,j,1) &
533 + dxt(i,12) * ur(12,j,1) &
534 + dxt(i,13) * ur(13,j,1)
541 w(i,j,k,e) = w(i,j,k,e) &
542 + dyt(j,1) * us(i,1,k) &
543 + dyt(j,2) * us(i,2,k) &
544 + dyt(j,3) * us(i,3,k) &
545 + dyt(j,4) * us(i,4,k) &
546 + dyt(j,5) * us(i,5,k) &
547 + dyt(j,6) * us(i,6,k) &
548 + dyt(j,7) * us(i,7,k) &
549 + dyt(j,8) * us(i,8,k) &
550 + dyt(j,9) * us(i,9,k) &
551 + dyt(j,10) * us(i,10,k) &
552 + dyt(j,11) * us(i,11,k) &
553 + dyt(j,12) * us(i,12,k) &
554 + dyt(j,13) * us(i,13,k)
561 w(i,1,k,e) = w(i,1,k,e) &
562 + dzt(k,1) * ut(i,1,1) &
563 + dzt(k,2) * ut(i,1,2) &
564 + dzt(k,3) * ut(i,1,3) &
565 + dzt(k,4) * ut(i,1,4) &
566 + dzt(k,5) * ut(i,1,5) &
567 + dzt(k,6) * ut(i,1,6) &
568 + dzt(k,7) * ut(i,1,7) &
569 + dzt(k,8) * ut(i,1,8) &
570 + dzt(k,9) * ut(i,1,9) &
571 + dzt(k,10) * ut(i,1,10) &
572 + dzt(k,11) * ut(i,1,11) &
573 + dzt(k,12) * ut(i,1,12) &
574 + dzt(k,13) * ut(i,1,13)
582 h1, G11, G22, G33, G12, G13, G23, n)
583 integer,
parameter :: lx = 12
584 integer,
intent(in) :: n
585 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
586 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
587 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
588 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
589 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
590 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
591 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
592 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
593 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
594 real(kind=
rp),
intent(in) :: dx(lx,lx)
595 real(kind=
rp),
intent(in) :: dy(lx,lx)
596 real(kind=
rp),
intent(in) :: dz(lx,lx)
597 real(kind=
rp),
intent(in) :: dxt(lx,lx)
598 real(kind=
rp),
intent(in) :: dyt(lx,lx)
599 real(kind=
rp),
intent(in) :: dzt(lx,lx)
600 real(kind=
rp) :: ur(lx, lx, lx)
601 real(kind=
rp) :: us(lx, lx, lx)
602 real(kind=
rp) :: ut(lx, lx, lx)
603 real(kind=
rp) :: wur(lx, lx, lx)
604 real(kind=
rp) :: wus(lx, lx, lx)
605 real(kind=
rp) :: wut(lx, lx, lx)
606 integer :: e, i, j, k
611 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
612 + dx(i,2) * u(2,j,1,e) &
613 + dx(i,3) * u(3,j,1,e) &
614 + dx(i,4) * u(4,j,1,e) &
615 + dx(i,5) * u(5,j,1,e) &
616 + dx(i,6) * u(6,j,1,e) &
617 + dx(i,7) * u(7,j,1,e) &
618 + dx(i,8) * u(8,j,1,e) &
619 + dx(i,9) * u(9,j,1,e) &
620 + dx(i,10) * u(10,j,1,e) &
621 + dx(i,11) * u(11,j,1,e) &
622 + dx(i,12) * u(12,j,1,e)
629 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
630 + dy(j,2) * u(i,2,k,e) &
631 + dy(j,3) * u(i,3,k,e) &
632 + dy(j,4) * u(i,4,k,e) &
633 + dy(j,5) * u(i,5,k,e) &
634 + dy(j,6) * u(i,6,k,e) &
635 + dy(j,7) * u(i,7,k,e) &
636 + dy(j,8) * u(i,8,k,e) &
637 + dy(j,9) * u(i,9,k,e) &
638 + dy(j,10) * u(i,10,k,e) &
639 + dy(j,11) * u(i,11,k,e) &
640 + dy(j,12) * u(i,12,k,e)
647 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
648 + dz(k,2) * u(i,1,2,e) &
649 + dz(k,3) * u(i,1,3,e) &
650 + dz(k,4) * u(i,1,4,e) &
651 + dz(k,5) * u(i,1,5,e) &
652 + dz(k,6) * u(i,1,6,e) &
653 + dz(k,7) * u(i,1,7,e) &
654 + dz(k,8) * u(i,1,8,e) &
655 + dz(k,9) * u(i,1,9,e) &
656 + dz(k,10) * u(i,1,10,e) &
657 + dz(k,11) * u(i,1,11,e) &
658 + dz(k,12) * u(i,1,12,e)
663 ur(i,1,1) = h1(i,1,1,e) &
664 * ( g11(i,1,1,e) * wur(i,1,1) &
665 + g12(i,1,1,e) * wus(i,1,1) &
666 + g13(i,1,1,e) * wut(i,1,1) )
667 us(i,1,1) = h1(i,1,1,e) &
668 * ( g12(i,1,1,e) * wur(i,1,1) &
669 + g22(i,1,1,e) * wus(i,1,1) &
670 + g23(i,1,1,e) * wut(i,1,1) )
671 ut(i,1,1) = h1(i,1,1,e) &
672 * ( g13(i,1,1,e) * wur(i,1,1) &
673 + g23(i,1,1,e) * wus(i,1,1) &
674 + g33(i,1,1,e) * wut(i,1,1) )
679 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
680 + dxt(i,2) * ur(2,j,1) &
681 + dxt(i,3) * ur(3,j,1) &
682 + dxt(i,4) * ur(4,j,1) &
683 + dxt(i,5) * ur(5,j,1) &
684 + dxt(i,6) * ur(6,j,1) &
685 + dxt(i,7) * ur(7,j,1) &
686 + dxt(i,8) * ur(8,j,1) &
687 + dxt(i,9) * ur(9,j,1) &
688 + dxt(i,10) * ur(10,j,1) &
689 + dxt(i,11) * ur(11,j,1) &
690 + dxt(i,12) * ur(12,j,1)
697 w(i,j,k,e) = w(i,j,k,e) &
698 + dyt(j,1) * us(i,1,k) &
699 + dyt(j,2) * us(i,2,k) &
700 + dyt(j,3) * us(i,3,k) &
701 + dyt(j,4) * us(i,4,k) &
702 + dyt(j,5) * us(i,5,k) &
703 + dyt(j,6) * us(i,6,k) &
704 + dyt(j,7) * us(i,7,k) &
705 + dyt(j,8) * us(i,8,k) &
706 + dyt(j,9) * us(i,9,k) &
707 + dyt(j,10) * us(i,10,k) &
708 + dyt(j,11) * us(i,11,k) &
709 + dyt(j,12) * us(i,12,k)
716 w(i,1,k,e) = w(i,1,k,e) &
717 + dzt(k,1) * ut(i,1,1) &
718 + dzt(k,2) * ut(i,1,2) &
719 + dzt(k,3) * ut(i,1,3) &
720 + dzt(k,4) * ut(i,1,4) &
721 + dzt(k,5) * ut(i,1,5) &
722 + dzt(k,6) * ut(i,1,6) &
723 + dzt(k,7) * ut(i,1,7) &
724 + dzt(k,8) * ut(i,1,8) &
725 + dzt(k,9) * ut(i,1,9) &
726 + dzt(k,10) * ut(i,1,10) &
727 + dzt(k,11) * ut(i,1,11) &
728 + dzt(k,12) * ut(i,1,12)
736 h1, G11, G22, G33, G12, G13, G23, n)
737 integer,
parameter :: lx = 11
738 integer,
intent(in) :: n
739 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
740 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
741 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
742 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
743 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
744 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
745 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
746 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
747 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
748 real(kind=
rp),
intent(in) :: dx(lx,lx)
749 real(kind=
rp),
intent(in) :: dy(lx,lx)
750 real(kind=
rp),
intent(in) :: dz(lx,lx)
751 real(kind=
rp),
intent(in) :: dxt(lx,lx)
752 real(kind=
rp),
intent(in) :: dyt(lx,lx)
753 real(kind=
rp),
intent(in) :: dzt(lx,lx)
754 real(kind=
rp) :: ur(lx, lx, lx)
755 real(kind=
rp) :: us(lx, lx, lx)
756 real(kind=
rp) :: ut(lx, lx, lx)
757 real(kind=
rp) :: wur(lx, lx, lx)
758 real(kind=
rp) :: wus(lx, lx, lx)
759 real(kind=
rp) :: wut(lx, lx, lx)
760 integer :: e, i, j, k
765 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
766 + dx(i,2) * u(2,j,1,e) &
767 + dx(i,3) * u(3,j,1,e) &
768 + dx(i,4) * u(4,j,1,e) &
769 + dx(i,5) * u(5,j,1,e) &
770 + dx(i,6) * u(6,j,1,e) &
771 + dx(i,7) * u(7,j,1,e) &
772 + dx(i,8) * u(8,j,1,e) &
773 + dx(i,9) * u(9,j,1,e) &
774 + dx(i,10) * u(10,j,1,e) &
775 + dx(i,11) * u(11,j,1,e)
782 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
783 + dy(j,2) * u(i,2,k,e) &
784 + dy(j,3) * u(i,3,k,e) &
785 + dy(j,4) * u(i,4,k,e) &
786 + dy(j,5) * u(i,5,k,e) &
787 + dy(j,6) * u(i,6,k,e) &
788 + dy(j,7) * u(i,7,k,e) &
789 + dy(j,8) * u(i,8,k,e) &
790 + dy(j,9) * u(i,9,k,e) &
791 + dy(j,10) * u(i,10,k,e) &
792 + dy(j,11) * u(i,11,k,e)
799 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
800 + dz(k,2) * u(i,1,2,e) &
801 + dz(k,3) * u(i,1,3,e) &
802 + dz(k,4) * u(i,1,4,e) &
803 + dz(k,5) * u(i,1,5,e) &
804 + dz(k,6) * u(i,1,6,e) &
805 + dz(k,7) * u(i,1,7,e) &
806 + dz(k,8) * u(i,1,8,e) &
807 + dz(k,9) * u(i,1,9,e) &
808 + dz(k,10) * u(i,1,10,e) &
809 + dz(k,11) * u(i,1,11,e)
814 ur(i,1,1) = h1(i,1,1,e) &
815 * ( g11(i,1,1,e) * wur(i,1,1) &
816 + g12(i,1,1,e) * wus(i,1,1) &
817 + g13(i,1,1,e) * wut(i,1,1) )
818 us(i,1,1) = h1(i,1,1,e) &
819 * ( g12(i,1,1,e) * wur(i,1,1) &
820 + g22(i,1,1,e) * wus(i,1,1) &
821 + g23(i,1,1,e) * wut(i,1,1) )
822 ut(i,1,1) = h1(i,1,1,e) &
823 * ( g13(i,1,1,e) * wur(i,1,1) &
824 + g23(i,1,1,e) * wus(i,1,1) &
825 + g33(i,1,1,e) * wut(i,1,1) )
830 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
831 + dxt(i,2) * ur(2,j,1) &
832 + dxt(i,3) * ur(3,j,1) &
833 + dxt(i,4) * ur(4,j,1) &
834 + dxt(i,5) * ur(5,j,1) &
835 + dxt(i,6) * ur(6,j,1) &
836 + dxt(i,7) * ur(7,j,1) &
837 + dxt(i,8) * ur(8,j,1) &
838 + dxt(i,9) * ur(9,j,1) &
839 + dxt(i,10) * ur(10,j,1) &
840 + dxt(i,11) * ur(11,j,1)
847 w(i,j,k,e) = w(i,j,k,e) &
848 + dyt(j,1) * us(i,1,k) &
849 + dyt(j,2) * us(i,2,k) &
850 + dyt(j,3) * us(i,3,k) &
851 + dyt(j,4) * us(i,4,k) &
852 + dyt(j,5) * us(i,5,k) &
853 + dyt(j,6) * us(i,6,k) &
854 + dyt(j,7) * us(i,7,k) &
855 + dyt(j,8) * us(i,8,k) &
856 + dyt(j,9) * us(i,9,k) &
857 + dyt(j,10) * us(i,10,k) &
858 + dyt(j,11) * us(i,11,k)
865 w(i,1,k,e) = w(i,1,k,e) &
866 + dzt(k,1) * ut(i,1,1) &
867 + dzt(k,2) * ut(i,1,2) &
868 + dzt(k,3) * ut(i,1,3) &
869 + dzt(k,4) * ut(i,1,4) &
870 + dzt(k,5) * ut(i,1,5) &
871 + dzt(k,6) * ut(i,1,6) &
872 + dzt(k,7) * ut(i,1,7) &
873 + dzt(k,8) * ut(i,1,8) &
874 + dzt(k,9) * ut(i,1,9) &
875 + dzt(k,10) * ut(i,1,10) &
876 + dzt(k,11) * ut(i,1,11)
884 h1, G11, G22, G33, G12, G13, G23, n)
885 integer,
parameter :: lx = 10
886 integer,
intent(in) :: n
887 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
888 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
889 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
890 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
891 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
892 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
893 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
894 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
895 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
896 real(kind=
rp),
intent(in) :: dx(lx,lx)
897 real(kind=
rp),
intent(in) :: dy(lx,lx)
898 real(kind=
rp),
intent(in) :: dz(lx,lx)
899 real(kind=
rp),
intent(in) :: dxt(lx,lx)
900 real(kind=
rp),
intent(in) :: dyt(lx,lx)
901 real(kind=
rp),
intent(in) :: dzt(lx,lx)
902 real(kind=
rp) :: ur(lx, lx, lx)
903 real(kind=
rp) :: us(lx, lx, lx)
904 real(kind=
rp) :: ut(lx, lx, lx)
905 real(kind=
rp) :: wur(lx, lx, lx)
906 real(kind=
rp) :: wus(lx, lx, lx)
907 real(kind=
rp) :: wut(lx, lx, lx)
908 integer :: e, i, j, k
913 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
914 + dx(i,2) * u(2,j,1,e) &
915 + dx(i,3) * u(3,j,1,e) &
916 + dx(i,4) * u(4,j,1,e) &
917 + dx(i,5) * u(5,j,1,e) &
918 + dx(i,6) * u(6,j,1,e) &
919 + dx(i,7) * u(7,j,1,e) &
920 + dx(i,8) * u(8,j,1,e) &
921 + dx(i,9) * u(9,j,1,e) &
922 + dx(i,10) * u(10,j,1,e)
929 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
930 + dy(j,2) * u(i,2,k,e) &
931 + dy(j,3) * u(i,3,k,e) &
932 + dy(j,4) * u(i,4,k,e) &
933 + dy(j,5) * u(i,5,k,e) &
934 + dy(j,6) * u(i,6,k,e) &
935 + dy(j,7) * u(i,7,k,e) &
936 + dy(j,8) * u(i,8,k,e) &
937 + dy(j,9) * u(i,9,k,e) &
938 + dy(j,10) * u(i,10,k,e)
945 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
946 + dz(k,2) * u(i,1,2,e) &
947 + dz(k,3) * u(i,1,3,e) &
948 + dz(k,4) * u(i,1,4,e) &
949 + dz(k,5) * u(i,1,5,e) &
950 + dz(k,6) * u(i,1,6,e) &
951 + dz(k,7) * u(i,1,7,e) &
952 + dz(k,8) * u(i,1,8,e) &
953 + dz(k,9) * u(i,1,9,e) &
954 + dz(k,10) * u(i,1,10,e)
959 ur(i,1,1) = h1(i,1,1,e) &
960 * ( g11(i,1,1,e) * wur(i,1,1) &
961 + g12(i,1,1,e) * wus(i,1,1) &
962 + g13(i,1,1,e) * wut(i,1,1) )
963 us(i,1,1) = h1(i,1,1,e) &
964 * ( g12(i,1,1,e) * wur(i,1,1) &
965 + g22(i,1,1,e) * wus(i,1,1) &
966 + g23(i,1,1,e) * wut(i,1,1) )
967 ut(i,1,1) = h1(i,1,1,e) &
968 * ( g13(i,1,1,e) * wur(i,1,1) &
969 + g23(i,1,1,e) * wus(i,1,1) &
970 + g33(i,1,1,e) * wut(i,1,1) )
975 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
976 + dxt(i,2) * ur(2,j,1) &
977 + dxt(i,3) * ur(3,j,1) &
978 + dxt(i,4) * ur(4,j,1) &
979 + dxt(i,5) * ur(5,j,1) &
980 + dxt(i,6) * ur(6,j,1) &
981 + dxt(i,7) * ur(7,j,1) &
982 + dxt(i,8) * ur(8,j,1) &
983 + dxt(i,9) * ur(9,j,1) &
984 + dxt(i,10) * ur(10,j,1)
991 w(i,j,k,e) = w(i,j,k,e) &
992 + dyt(j,1) * us(i,1,k) &
993 + dyt(j,2) * us(i,2,k) &
994 + dyt(j,3) * us(i,3,k) &
995 + dyt(j,4) * us(i,4,k) &
996 + dyt(j,5) * us(i,5,k) &
997 + dyt(j,6) * us(i,6,k) &
998 + dyt(j,7) * us(i,7,k) &
999 + dyt(j,8) * us(i,8,k) &
1000 + dyt(j,9) * us(i,9,k) &
1001 + dyt(j,10) * us(i,10,k)
1008 w(i,1,k,e) = w(i,1,k,e) &
1009 + dzt(k,1) * ut(i,1,1) &
1010 + dzt(k,2) * ut(i,1,2) &
1011 + dzt(k,3) * ut(i,1,3) &
1012 + dzt(k,4) * ut(i,1,4) &
1013 + dzt(k,5) * ut(i,1,5) &
1014 + dzt(k,6) * ut(i,1,6) &
1015 + dzt(k,7) * ut(i,1,7) &
1016 + dzt(k,8) * ut(i,1,8) &
1017 + dzt(k,9) * ut(i,1,9) &
1018 + dzt(k,10) * ut(i,1,10)
1026 h1, G11, G22, G33, G12, G13, G23, n)
1027 integer,
parameter :: lx = 9
1028 integer,
intent(in) :: n
1029 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1030 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1031 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1032 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1033 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1034 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1035 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1036 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1037 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1038 real(kind=
rp),
intent(in) :: dx(lx,lx)
1039 real(kind=
rp),
intent(in) :: dy(lx,lx)
1040 real(kind=
rp),
intent(in) :: dz(lx,lx)
1041 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1042 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1043 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1044 real(kind=
rp) :: ur(lx, lx, lx)
1045 real(kind=
rp) :: us(lx, lx, lx)
1046 real(kind=
rp) :: ut(lx, lx, lx)
1047 real(kind=
rp) :: wur(lx, lx, lx)
1048 real(kind=
rp) :: wus(lx, lx, lx)
1049 real(kind=
rp) :: wut(lx, lx, lx)
1050 integer :: e, i, j, k
1055 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1056 + dx(i,2) * u(2,j,1,e) &
1057 + dx(i,3) * u(3,j,1,e) &
1058 + dx(i,4) * u(4,j,1,e) &
1059 + dx(i,5) * u(5,j,1,e) &
1060 + dx(i,6) * u(6,j,1,e) &
1061 + dx(i,7) * u(7,j,1,e) &
1062 + dx(i,8) * u(8,j,1,e) &
1063 + dx(i,9) * u(9,j,1,e)
1070 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1071 + dy(j,2) * u(i,2,k,e) &
1072 + dy(j,3) * u(i,3,k,e) &
1073 + dy(j,4) * u(i,4,k,e) &
1074 + dy(j,5) * u(i,5,k,e) &
1075 + dy(j,6) * u(i,6,k,e) &
1076 + dy(j,7) * u(i,7,k,e) &
1077 + dy(j,8) * u(i,8,k,e) &
1078 + dy(j,9) * u(i,9,k,e)
1085 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1086 + dz(k,2) * u(i,1,2,e) &
1087 + dz(k,3) * u(i,1,3,e) &
1088 + dz(k,4) * u(i,1,4,e) &
1089 + dz(k,5) * u(i,1,5,e) &
1090 + dz(k,6) * u(i,1,6,e) &
1091 + dz(k,7) * u(i,1,7,e) &
1092 + dz(k,8) * u(i,1,8,e) &
1093 + dz(k,9) * u(i,1,9,e)
1098 ur(i,1,1) = h1(i,1,1,e) &
1099 * ( g11(i,1,1,e) * wur(i,1,1) &
1100 + g12(i,1,1,e) * wus(i,1,1) &
1101 + g13(i,1,1,e) * wut(i,1,1) )
1102 us(i,1,1) = h1(i,1,1,e) &
1103 * ( g12(i,1,1,e) * wur(i,1,1) &
1104 + g22(i,1,1,e) * wus(i,1,1) &
1105 + g23(i,1,1,e) * wut(i,1,1) )
1106 ut(i,1,1) = h1(i,1,1,e) &
1107 * ( g13(i,1,1,e) * wur(i,1,1) &
1108 + g23(i,1,1,e) * wus(i,1,1) &
1109 + g33(i,1,1,e) * wut(i,1,1) )
1114 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1115 + dxt(i,2) * ur(2,j,1) &
1116 + dxt(i,3) * ur(3,j,1) &
1117 + dxt(i,4) * ur(4,j,1) &
1118 + dxt(i,5) * ur(5,j,1) &
1119 + dxt(i,6) * ur(6,j,1) &
1120 + dxt(i,7) * ur(7,j,1) &
1121 + dxt(i,8) * ur(8,j,1) &
1122 + dxt(i,9) * ur(9,j,1)
1129 w(i,j,k,e) = w(i,j,k,e) &
1130 + dyt(j,1) * us(i,1,k) &
1131 + dyt(j,2) * us(i,2,k) &
1132 + dyt(j,3) * us(i,3,k) &
1133 + dyt(j,4) * us(i,4,k) &
1134 + dyt(j,5) * us(i,5,k) &
1135 + dyt(j,6) * us(i,6,k) &
1136 + dyt(j,7) * us(i,7,k) &
1137 + dyt(j,8) * us(i,8,k) &
1138 + dyt(j,9) * us(i,9,k)
1145 w(i,1,k,e) = w(i,1,k,e) &
1146 + dzt(k,1) * ut(i,1,1) &
1147 + dzt(k,2) * ut(i,1,2) &
1148 + dzt(k,3) * ut(i,1,3) &
1149 + dzt(k,4) * ut(i,1,4) &
1150 + dzt(k,5) * ut(i,1,5) &
1151 + dzt(k,6) * ut(i,1,6) &
1152 + dzt(k,7) * ut(i,1,7) &
1153 + dzt(k,8) * ut(i,1,8) &
1154 + dzt(k,9) * ut(i,1,9)
1162 h1, G11, G22, G33, G12, G13, G23, n)
1163 integer,
parameter :: lx = 8
1164 integer,
intent(in) :: n
1165 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1166 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1167 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1168 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1169 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1170 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1171 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1172 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1173 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1174 real(kind=
rp),
intent(in) :: dx(lx,lx)
1175 real(kind=
rp),
intent(in) :: dy(lx,lx)
1176 real(kind=
rp),
intent(in) :: dz(lx,lx)
1177 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1178 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1179 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1180 real(kind=
rp) :: ur(lx, lx, lx)
1181 real(kind=
rp) :: us(lx, lx, lx)
1182 real(kind=
rp) :: ut(lx, lx, lx)
1183 real(kind=
rp) :: wur(lx, lx, lx)
1184 real(kind=
rp) :: wus(lx, lx, lx)
1185 real(kind=
rp) :: wut(lx, lx, lx)
1186 integer :: e, i, j, k
1191 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1192 + dx(i,2) * u(2,j,1,e) &
1193 + dx(i,3) * u(3,j,1,e) &
1194 + dx(i,4) * u(4,j,1,e) &
1195 + dx(i,5) * u(5,j,1,e) &
1196 + dx(i,6) * u(6,j,1,e) &
1197 + dx(i,7) * u(7,j,1,e) &
1198 + dx(i,8) * u(8,j,1,e)
1205 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1206 + dy(j,2) * u(i,2,k,e) &
1207 + dy(j,3) * u(i,3,k,e) &
1208 + dy(j,4) * u(i,4,k,e) &
1209 + dy(j,5) * u(i,5,k,e) &
1210 + dy(j,6) * u(i,6,k,e) &
1211 + dy(j,7) * u(i,7,k,e) &
1212 + dy(j,8) * u(i,8,k,e)
1219 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1220 + dz(k,2) * u(i,1,2,e) &
1221 + dz(k,3) * u(i,1,3,e) &
1222 + dz(k,4) * u(i,1,4,e) &
1223 + dz(k,5) * u(i,1,5,e) &
1224 + dz(k,6) * u(i,1,6,e) &
1225 + dz(k,7) * u(i,1,7,e) &
1226 + dz(k,8) * u(i,1,8,e)
1231 ur(i,1,1) = h1(i,1,1,e) &
1232 * ( g11(i,1,1,e) * wur(i,1,1) &
1233 + g12(i,1,1,e) * wus(i,1,1) &
1234 + g13(i,1,1,e) * wut(i,1,1) )
1235 us(i,1,1) = h1(i,1,1,e) &
1236 * ( g12(i,1,1,e) * wur(i,1,1) &
1237 + g22(i,1,1,e) * wus(i,1,1) &
1238 + g23(i,1,1,e) * wut(i,1,1) )
1239 ut(i,1,1) = h1(i,1,1,e) &
1240 * ( g13(i,1,1,e) * wur(i,1,1) &
1241 + g23(i,1,1,e) * wus(i,1,1) &
1242 + g33(i,1,1,e) * wut(i,1,1) )
1247 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1248 + dxt(i,2) * ur(2,j,1) &
1249 + dxt(i,3) * ur(3,j,1) &
1250 + dxt(i,4) * ur(4,j,1) &
1251 + dxt(i,5) * ur(5,j,1) &
1252 + dxt(i,6) * ur(6,j,1) &
1253 + dxt(i,7) * ur(7,j,1) &
1254 + dxt(i,8) * ur(8,j,1)
1261 w(i,j,k,e) = w(i,j,k,e) &
1262 + dyt(j,1) * us(i,1,k) &
1263 + dyt(j,2) * us(i,2,k) &
1264 + dyt(j,3) * us(i,3,k) &
1265 + dyt(j,4) * us(i,4,k) &
1266 + dyt(j,5) * us(i,5,k) &
1267 + dyt(j,6) * us(i,6,k) &
1268 + dyt(j,7) * us(i,7,k) &
1269 + dyt(j,8) * us(i,8,k)
1276 w(i,1,k,e) = w(i,1,k,e) &
1277 + dzt(k,1) * ut(i,1,1) &
1278 + dzt(k,2) * ut(i,1,2) &
1279 + dzt(k,3) * ut(i,1,3) &
1280 + dzt(k,4) * ut(i,1,4) &
1281 + dzt(k,5) * ut(i,1,5) &
1282 + dzt(k,6) * ut(i,1,6) &
1283 + dzt(k,7) * ut(i,1,7) &
1284 + dzt(k,8) * ut(i,1,8)
1292 h1, G11, G22, G33, G12, G13, G23, n)
1293 integer,
parameter :: lx = 7
1294 integer,
intent(in) :: n
1295 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1296 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1297 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1298 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1299 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1300 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1301 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1302 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1303 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1304 real(kind=
rp),
intent(in) :: dx(lx,lx)
1305 real(kind=
rp),
intent(in) :: dy(lx,lx)
1306 real(kind=
rp),
intent(in) :: dz(lx,lx)
1307 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1308 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1309 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1310 real(kind=
rp) :: ur(lx, lx, lx)
1311 real(kind=
rp) :: us(lx, lx, lx)
1312 real(kind=
rp) :: ut(lx, lx, lx)
1313 real(kind=
rp) :: wur(lx, lx, lx)
1314 real(kind=
rp) :: wus(lx, lx, lx)
1315 real(kind=
rp) :: wut(lx, lx, lx)
1316 integer :: e, i, j, k
1321 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1322 + dx(i,2) * u(2,j,1,e) &
1323 + dx(i,3) * u(3,j,1,e) &
1324 + dx(i,4) * u(4,j,1,e) &
1325 + dx(i,5) * u(5,j,1,e) &
1326 + dx(i,6) * u(6,j,1,e) &
1327 + dx(i,7) * u(7,j,1,e)
1334 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1335 + dy(j,2) * u(i,2,k,e) &
1336 + dy(j,3) * u(i,3,k,e) &
1337 + dy(j,4) * u(i,4,k,e) &
1338 + dy(j,5) * u(i,5,k,e) &
1339 + dy(j,6) * u(i,6,k,e) &
1340 + dy(j,7) * u(i,7,k,e)
1347 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1348 + dz(k,2) * u(i,1,2,e) &
1349 + dz(k,3) * u(i,1,3,e) &
1350 + dz(k,4) * u(i,1,4,e) &
1351 + dz(k,5) * u(i,1,5,e) &
1352 + dz(k,6) * u(i,1,6,e) &
1353 + dz(k,7) * u(i,1,7,e)
1358 ur(i,1,1) = h1(i,1,1,e) &
1359 * ( g11(i,1,1,e) * wur(i,1,1) &
1360 + g12(i,1,1,e) * wus(i,1,1) &
1361 + g13(i,1,1,e) * wut(i,1,1) )
1362 us(i,1,1) = h1(i,1,1,e) &
1363 * ( g12(i,1,1,e) * wur(i,1,1) &
1364 + g22(i,1,1,e) * wus(i,1,1) &
1365 + g23(i,1,1,e) * wut(i,1,1) )
1366 ut(i,1,1) = h1(i,1,1,e) &
1367 * ( g13(i,1,1,e) * wur(i,1,1) &
1368 + g23(i,1,1,e) * wus(i,1,1) &
1369 + g33(i,1,1,e) * wut(i,1,1) )
1374 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1375 + dxt(i,2) * ur(2,j,1) &
1376 + dxt(i,3) * ur(3,j,1) &
1377 + dxt(i,4) * ur(4,j,1) &
1378 + dxt(i,5) * ur(5,j,1) &
1379 + dxt(i,6) * ur(6,j,1) &
1380 + dxt(i,7) * ur(7,j,1)
1387 w(i,j,k,e) = w(i,j,k,e) &
1388 + dyt(j,1) * us(i,1,k) &
1389 + dyt(j,2) * us(i,2,k) &
1390 + dyt(j,3) * us(i,3,k) &
1391 + dyt(j,4) * us(i,4,k) &
1392 + dyt(j,5) * us(i,5,k) &
1393 + dyt(j,6) * us(i,6,k) &
1394 + dyt(j,7) * us(i,7,k)
1401 w(i,1,k,e) = w(i,1,k,e) &
1402 + dzt(k,1) * ut(i,1,1) &
1403 + dzt(k,2) * ut(i,1,2) &
1404 + dzt(k,3) * ut(i,1,3) &
1405 + dzt(k,4) * ut(i,1,4) &
1406 + dzt(k,5) * ut(i,1,5) &
1407 + dzt(k,6) * ut(i,1,6) &
1408 + dzt(k,7) * ut(i,1,7)
1416 h1, G11, G22, G33, G12, G13, G23, n)
1417 integer,
parameter :: lx = 6
1418 integer,
intent(in) :: n
1419 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1420 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1421 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1422 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1423 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1424 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1425 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1426 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1427 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1428 real(kind=
rp),
intent(in) :: dx(lx,lx)
1429 real(kind=
rp),
intent(in) :: dy(lx,lx)
1430 real(kind=
rp),
intent(in) :: dz(lx,lx)
1431 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1432 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1433 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1434 real(kind=
rp) :: ur(lx, lx, lx)
1435 real(kind=
rp) :: us(lx, lx, lx)
1436 real(kind=
rp) :: ut(lx, lx, lx)
1437 real(kind=
rp) :: wur(lx, lx, lx)
1438 real(kind=
rp) :: wus(lx, lx, lx)
1439 real(kind=
rp) :: wut(lx, lx, lx)
1440 integer :: e, i, j, k
1445 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1446 + dx(i,2) * u(2,j,1,e) &
1447 + dx(i,3) * u(3,j,1,e) &
1448 + dx(i,4) * u(4,j,1,e) &
1449 + dx(i,5) * u(5,j,1,e) &
1450 + dx(i,6) * u(6,j,1,e)
1457 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1458 + dy(j,2) * u(i,2,k,e) &
1459 + dy(j,3) * u(i,3,k,e) &
1460 + dy(j,4) * u(i,4,k,e) &
1461 + dy(j,5) * u(i,5,k,e) &
1462 + dy(j,6) * u(i,6,k,e)
1469 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1470 + dz(k,2) * u(i,1,2,e) &
1471 + dz(k,3) * u(i,1,3,e) &
1472 + dz(k,4) * u(i,1,4,e) &
1473 + dz(k,5) * u(i,1,5,e) &
1474 + dz(k,6) * u(i,1,6,e)
1479 ur(i,1,1) = h1(i,1,1,e) &
1480 * ( g11(i,1,1,e) * wur(i,1,1) &
1481 + g12(i,1,1,e) * wus(i,1,1) &
1482 + g13(i,1,1,e) * wut(i,1,1) )
1483 us(i,1,1) = h1(i,1,1,e) &
1484 * ( g12(i,1,1,e) * wur(i,1,1) &
1485 + g22(i,1,1,e) * wus(i,1,1) &
1486 + g23(i,1,1,e) * wut(i,1,1) )
1487 ut(i,1,1) = h1(i,1,1,e) &
1488 * ( g13(i,1,1,e) * wur(i,1,1) &
1489 + g23(i,1,1,e) * wus(i,1,1) &
1490 + g33(i,1,1,e) * wut(i,1,1) )
1495 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1496 + dxt(i,2) * ur(2,j,1) &
1497 + dxt(i,3) * ur(3,j,1) &
1498 + dxt(i,4) * ur(4,j,1) &
1499 + dxt(i,5) * ur(5,j,1) &
1500 + dxt(i,6) * ur(6,j,1)
1507 w(i,j,k,e) = w(i,j,k,e) &
1508 + dyt(j,1) * us(i,1,k) &
1509 + dyt(j,2) * us(i,2,k) &
1510 + dyt(j,3) * us(i,3,k) &
1511 + dyt(j,4) * us(i,4,k) &
1512 + dyt(j,5) * us(i,5,k) &
1513 + dyt(j,6) * us(i,6,k)
1520 w(i,1,k,e) = w(i,1,k,e) &
1521 + dzt(k,1) * ut(i,1,1) &
1522 + dzt(k,2) * ut(i,1,2) &
1523 + dzt(k,3) * ut(i,1,3) &
1524 + dzt(k,4) * ut(i,1,4) &
1525 + dzt(k,5) * ut(i,1,5) &
1526 + dzt(k,6) * ut(i,1,6)
1534 h1, G11, G22, G33, G12, G13, G23, n)
1535 integer,
parameter :: lx = 5
1536 integer,
intent(in) :: n
1537 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1538 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1539 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1540 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1541 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1542 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1543 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1544 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1545 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1546 real(kind=
rp),
intent(in) :: dx(lx,lx)
1547 real(kind=
rp),
intent(in) :: dy(lx,lx)
1548 real(kind=
rp),
intent(in) :: dz(lx,lx)
1549 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1550 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1551 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1552 real(kind=
rp) :: ur(lx, lx, lx)
1553 real(kind=
rp) :: us(lx, lx, lx)
1554 real(kind=
rp) :: ut(lx, lx, lx)
1555 real(kind=
rp) :: wur(lx, lx, lx)
1556 real(kind=
rp) :: wus(lx, lx, lx)
1557 real(kind=
rp) :: wut(lx, lx, lx)
1558 integer :: e, i, j, k
1563 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1564 + dx(i,2) * u(2,j,1,e) &
1565 + dx(i,3) * u(3,j,1,e) &
1566 + dx(i,4) * u(4,j,1,e) &
1567 + dx(i,5) * u(5,j,1,e)
1574 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1575 + dy(j,2) * u(i,2,k,e) &
1576 + dy(j,3) * u(i,3,k,e) &
1577 + dy(j,4) * u(i,4,k,e) &
1578 + dy(j,5) * u(i,5,k,e)
1585 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1586 + dz(k,2) * u(i,1,2,e) &
1587 + dz(k,3) * u(i,1,3,e) &
1588 + dz(k,4) * u(i,1,4,e) &
1589 + dz(k,5) * u(i,1,5,e)
1594 ur(i,1,1) = h1(i,1,1,e) &
1595 * ( g11(i,1,1,e) * wur(i,1,1) &
1596 + g12(i,1,1,e) * wus(i,1,1) &
1597 + g13(i,1,1,e) * wut(i,1,1) )
1598 us(i,1,1) = h1(i,1,1,e) &
1599 * ( g12(i,1,1,e) * wur(i,1,1) &
1600 + g22(i,1,1,e) * wus(i,1,1) &
1601 + g23(i,1,1,e) * wut(i,1,1) )
1602 ut(i,1,1) = h1(i,1,1,e) &
1603 * ( g13(i,1,1,e) * wur(i,1,1) &
1604 + g23(i,1,1,e) * wus(i,1,1) &
1605 + g33(i,1,1,e) * wut(i,1,1) )
1610 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1611 + dxt(i,2) * ur(2,j,1) &
1612 + dxt(i,3) * ur(3,j,1) &
1613 + dxt(i,4) * ur(4,j,1) &
1614 + dxt(i,5) * ur(5,j,1)
1621 w(i,j,k,e) = w(i,j,k,e) &
1622 + dyt(j,1) * us(i,1,k) &
1623 + dyt(j,2) * us(i,2,k) &
1624 + dyt(j,3) * us(i,3,k) &
1625 + dyt(j,4) * us(i,4,k) &
1626 + dyt(j,5) * us(i,5,k)
1633 w(i,1,k,e) = w(i,1,k,e) &
1634 + dzt(k,1) * ut(i,1,1) &
1635 + dzt(k,2) * ut(i,1,2) &
1636 + dzt(k,3) * ut(i,1,3) &
1637 + dzt(k,4) * ut(i,1,4) &
1638 + dzt(k,5) * ut(i,1,5)
1646 h1, G11, G22, G33, G12, G13, G23, n)
1647 integer,
parameter :: lx = 4
1648 integer,
intent(in) :: n
1649 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1650 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1651 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1652 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1653 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1654 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1655 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1656 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1657 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1658 real(kind=
rp),
intent(in) :: dx(lx,lx)
1659 real(kind=
rp),
intent(in) :: dy(lx,lx)
1660 real(kind=
rp),
intent(in) :: dz(lx,lx)
1661 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1662 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1663 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1664 real(kind=
rp) :: ur(lx, lx, lx)
1665 real(kind=
rp) :: us(lx, lx, lx)
1666 real(kind=
rp) :: ut(lx, lx, lx)
1667 real(kind=
rp) :: wur(lx, lx, lx)
1668 real(kind=
rp) :: wus(lx, lx, lx)
1669 real(kind=
rp) :: wut(lx, lx, lx)
1670 integer :: e, i, j, k
1675 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1676 + dx(i,2) * u(2,j,1,e) &
1677 + dx(i,3) * u(3,j,1,e) &
1678 + dx(i,4) * u(4,j,1,e)
1685 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1686 + dy(j,2) * u(i,2,k,e) &
1687 + dy(j,3) * u(i,3,k,e) &
1688 + dy(j,4) * u(i,4,k,e)
1695 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1696 + dz(k,2) * u(i,1,2,e) &
1697 + dz(k,3) * u(i,1,3,e) &
1698 + dz(k,4) * u(i,1,4,e)
1703 ur(i,1,1) = h1(i,1,1,e) &
1704 * ( g11(i,1,1,e) * wur(i,1,1) &
1705 + g12(i,1,1,e) * wus(i,1,1) &
1706 + g13(i,1,1,e) * wut(i,1,1) )
1707 us(i,1,1) = h1(i,1,1,e) &
1708 * ( g12(i,1,1,e) * wur(i,1,1) &
1709 + g22(i,1,1,e) * wus(i,1,1) &
1710 + g23(i,1,1,e) * wut(i,1,1) )
1711 ut(i,1,1) = h1(i,1,1,e) &
1712 * ( g13(i,1,1,e) * wur(i,1,1) &
1713 + g23(i,1,1,e) * wus(i,1,1) &
1714 + g33(i,1,1,e) * wut(i,1,1) )
1719 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1720 + dxt(i,2) * ur(2,j,1) &
1721 + dxt(i,3) * ur(3,j,1) &
1722 + dxt(i,4) * ur(4,j,1)
1729 w(i,j,k,e) = w(i,j,k,e) &
1730 + dyt(j,1) * us(i,1,k) &
1731 + dyt(j,2) * us(i,2,k) &
1732 + dyt(j,3) * us(i,3,k) &
1733 + dyt(j,4) * us(i,4,k)
1740 w(i,1,k,e) = w(i,1,k,e) &
1741 + dzt(k,1) * ut(i,1,1) &
1742 + dzt(k,2) * ut(i,1,2) &
1743 + dzt(k,3) * ut(i,1,3) &
1744 + dzt(k,4) * ut(i,1,4)
1752 h1, G11, G22, G33, G12, G13, G23, n)
1753 integer,
parameter :: lx = 3
1754 integer,
intent(in) :: n
1755 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1756 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1757 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1758 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1759 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1760 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1761 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1762 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1763 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1764 real(kind=
rp),
intent(in) :: dx(lx,lx)
1765 real(kind=
rp),
intent(in) :: dy(lx,lx)
1766 real(kind=
rp),
intent(in) :: dz(lx,lx)
1767 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1768 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1769 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1770 real(kind=
rp) :: ur(lx, lx, lx)
1771 real(kind=
rp) :: us(lx, lx, lx)
1772 real(kind=
rp) :: ut(lx, lx, lx)
1773 real(kind=
rp) :: wur(lx, lx, lx)
1774 real(kind=
rp) :: wus(lx, lx, lx)
1775 real(kind=
rp) :: wut(lx, lx, lx)
1776 integer :: e, i, j, k
1781 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1782 + dx(i,2) * u(2,j,1,e) &
1783 + dx(i,3) * u(3,j,1,e)
1790 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1791 + dy(j,2) * u(i,2,k,e) &
1792 + dy(j,3) * u(i,3,k,e)
1799 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1800 + dz(k,2) * u(i,1,2,e) &
1801 + dz(k,3) * u(i,1,3,e)
1806 ur(i,1,1) = h1(i,1,1,e) &
1807 * ( g11(i,1,1,e) * wur(i,1,1) &
1808 + g12(i,1,1,e) * wus(i,1,1) &
1809 + g13(i,1,1,e) * wut(i,1,1) )
1810 us(i,1,1) = h1(i,1,1,e) &
1811 * ( g12(i,1,1,e) * wur(i,1,1) &
1812 + g22(i,1,1,e) * wus(i,1,1) &
1813 + g23(i,1,1,e) * wut(i,1,1) )
1814 ut(i,1,1) = h1(i,1,1,e) &
1815 * ( g13(i,1,1,e) * wur(i,1,1) &
1816 + g23(i,1,1,e) * wus(i,1,1) &
1817 + g33(i,1,1,e) * wut(i,1,1) )
1822 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1823 + dxt(i,2) * ur(2,j,1) &
1824 + dxt(i,3) * ur(3,j,1)
1831 w(i,j,k,e) = w(i,j,k,e) &
1832 + dyt(j,1) * us(i,1,k) &
1833 + dyt(j,2) * us(i,2,k) &
1834 + dyt(j,3) * us(i,3,k)
1841 w(i,1,k,e) = w(i,1,k,e) &
1842 + dzt(k,1) * ut(i,1,1) &
1843 + dzt(k,2) * ut(i,1,2) &
1844 + dzt(k,3) * ut(i,1,3)
1852 h1, G11, G22, G33, G12, G13, G23, n)
1853 integer,
parameter :: lx = 2
1854 integer,
intent(in) :: n
1855 real(kind=
rp),
intent(inout) :: w(lx, lx, lx, n)
1856 real(kind=
rp),
intent(in) :: u(lx, lx, lx, n)
1857 real(kind=
rp),
intent(in) :: h1(lx, lx, lx, n)
1858 real(kind=
rp),
intent(in) :: g11(lx, lx, lx, n)
1859 real(kind=
rp),
intent(in) :: g22(lx, lx, lx, n)
1860 real(kind=
rp),
intent(in) :: g33(lx, lx, lx, n)
1861 real(kind=
rp),
intent(in) :: g12(lx, lx, lx, n)
1862 real(kind=
rp),
intent(in) :: g13(lx, lx, lx, n)
1863 real(kind=
rp),
intent(in) :: g23(lx, lx, lx, n)
1864 real(kind=
rp),
intent(in) :: dx(lx,lx)
1865 real(kind=
rp),
intent(in) :: dy(lx,lx)
1866 real(kind=
rp),
intent(in) :: dz(lx,lx)
1867 real(kind=
rp),
intent(in) :: dxt(lx,lx)
1868 real(kind=
rp),
intent(in) :: dyt(lx,lx)
1869 real(kind=
rp),
intent(in) :: dzt(lx,lx)
1870 real(kind=
rp) :: ur(lx, lx, lx)
1871 real(kind=
rp) :: us(lx, lx, lx)
1872 real(kind=
rp) :: ut(lx, lx, lx)
1873 real(kind=
rp) :: wur(lx, lx, lx)
1874 real(kind=
rp) :: wus(lx, lx, lx)
1875 real(kind=
rp) :: wut(lx, lx, lx)
1876 integer :: e, i, j, k
1881 wur(i,j,1) = dx(i,1) * u(1,j,1,e) &
1882 + dx(i,2) * u(2,j,1,e)
1889 wus(i,j,k) = dy(j,1) * u(i,1,k,e) &
1890 + dy(j,2) * u(i,2,k,e)
1897 wut(i,1,k) = dz(k,1) * u(i,1,1,e) &
1898 + dz(k,2) * u(i,1,2,e)
1903 ur(i,1,1) = h1(i,1,1,e) &
1904 * ( g11(i,1,1,e) * wur(i,1,1) &
1905 + g12(i,1,1,e) * wus(i,1,1) &
1906 + g13(i,1,1,e) * wut(i,1,1) )
1907 us(i,1,1) = h1(i,1,1,e) &
1908 * ( g12(i,1,1,e) * wur(i,1,1) &
1909 + g22(i,1,1,e) * wus(i,1,1) &
1910 + g23(i,1,1,e) * wut(i,1,1) )
1911 ut(i,1,1) = h1(i,1,1,e) &
1912 * ( g13(i,1,1,e) * wur(i,1,1) &
1913 + g23(i,1,1,e) * wus(i,1,1) &
1914 + g33(i,1,1,e) * wut(i,1,1) )
1919 w(i,j,1,e) = dxt(i,1) * ur(1,j,1) &
1920 + dxt(i,2) * ur(2,j,1)
1927 w(i,j,k,e) = w(i,j,k,e) &
1928 + dyt(j,1) * us(i,1,k) &
1929 + dyt(j,2) * us(i,2,k)
1936 w(i,1,k,e) = w(i,1,k,e) &
1937 + dzt(k,1) * ut(i,1,1) &
1938 + dzt(k,2) * ut(i,1,2)
subroutine ax_helm_lx6(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx9(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx11(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n, lx)
Generic CPU kernel for the Helmholz matrix-vector product.
subroutine ax_helm_lx2(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx10(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx7(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx13(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_compute(w, u, coef, msh, Xh)
Compute the product.
subroutine ax_helm_lx4(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx5(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx3(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx12(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx14(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, n)
subroutine ax_helm_lx8(w, u, Dx, Dy, Dz, Dxt, Dyt, Dzt, h1, G11, G22, G33, G12, G13, G23, 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.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
The function space for the SEM solution fields.