enforce_periodicity_xy_omp Subroutine

public subroutine enforce_periodicity_xy_omp(self, f_out, f_in)

Gathers the non-periodic x and, when it is not split across ranks, y lines into periodic ones so that a plain FFT can stand in for the cosine transform in both directions.

When p_row > 1 the y direction is split across ranks, so only the x fold can be done locally here; fft_forward_110_omp folds y once the field has been redistributed to a y-pencil where the whole y range is local.

Type Bound

omp_poisson_fft_t

Arguments

Type IntentOptional Attributes Name
class(omp_poisson_fft_t) :: self
class(field_t), intent(inout) :: f_out
class(field_t), intent(in) :: f_in