fft_postprocess_110_omp Subroutine

public subroutine fft_postprocess_110_omp(self)

Post-process div U* in spectral space for the non-periodic x and y case. After the (nx, ny, nz) -> (nz, nx, ny) transpose applied by fft_forward_110_omp, dim1 holds the periodic z r2c modes, dim2 holds the non-periodic x modes and dim3 holds the non-periodic y modes.

The z-pencil of sp (which c_x is) splits dim2 (x modes) across p_col, so the X paired split and recombine, which each couple a mode with its mirror in dim2, hop to the y-pencil of sp (where dim2 is whole) and back, the same way fft_postprocess_100_omp does. The Y paired split/solve/recombine run directly on the z-pencil, where dim3 (Y modes) is always whole.

Type Bound

omp_poisson_fft_t

Arguments

Type IntentOptional Attributes Name
class(omp_poisson_fft_t) :: self

Calls

proc~~fft_postprocess_110_omp~~CallsGraph proc~fft_postprocess_110_omp m_omp_poisson_fft::omp_poisson_fft_t%fft_postprocess_110_omp proc~process_spectral_110 m_omp_spectral::process_spectral_110 proc~fft_postprocess_110_omp->proc~process_spectral_110 proc~process_spectral_110_bw m_omp_spectral::process_spectral_110_bw proc~fft_postprocess_110_omp->proc~process_spectral_110_bw proc~process_spectral_110_fw m_omp_spectral::process_spectral_110_fw proc~fft_postprocess_110_omp->proc~process_spectral_110_fw proc~process_spectral_110_solve m_omp_spectral::process_spectral_110_solve proc~fft_postprocess_110_omp->proc~process_spectral_110_solve transpose_y_to_z transpose_y_to_z proc~fft_postprocess_110_omp->transpose_y_to_z transpose_z_to_y transpose_z_to_y proc~fft_postprocess_110_omp->transpose_z_to_y yst yst proc~fft_postprocess_110_omp->yst ysz ysz proc~fft_postprocess_110_omp->ysz proc~process_spectral_110->proc~process_spectral_110_bw proc~process_spectral_110->proc~process_spectral_110_fw proc~process_spectral_110->proc~process_spectral_110_solve