Middle third of the spectral post-process for the 110 case: the Y paired even/odd split, the Poisson divide, and the Y paired even/odd recombine.
Layout: div_u(n1, n2, n3) with dim1 = Z r2c modes, dim2 = X modes, dim3 = Y modes (ay, by). Dim3 must span the whole global y range (ny), which the caller guarantees, since the Y pairing writes both a mode and its mirror in the same pass.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout), | dimension(:, :, :) | :: | div_u |
Divergence of velocity in spectral space, (nz/2+1, nx, ny) layout |
|
| complex(kind=dp), | intent(in), | dimension(:, :, :) | :: | waves |
Spectral equivalence constants, (nz/2+1, nx, ny) layout |
|
| integer, | intent(in) | :: | n1 |
Local extents of div_u |
||
| integer, | intent(in) | :: | n2 |
Local extents of div_u |
||
| integer, | intent(in) | :: | n3 |
Local extents of div_u |
||
| integer, | intent(in) | :: | st1 |
Offsets of the local block within the global spectral array |
||
| integer, | intent(in) | :: | st2 |
Offsets of the local block within the global spectral array |
||
| integer, | intent(in) | :: | st3 |
Offsets of the local block within the global spectral array |
||
| integer, | intent(in) | :: | nx |
Global cell size |
||
| integer, | intent(in) | :: | ny |
Global cell size |
||
| integer, | intent(in) | :: | nz |
Global cell size |
||
| real(kind=dp), | intent(in), | dimension(:) | :: | ay | ||
| real(kind=dp), | intent(in), | dimension(:) | :: | by |