Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mesh_t), | intent(in) | :: | mesh | |||
class(dirps_t), | intent(in) | :: | xdirps | |||
class(dirps_t), | intent(in) | :: | ydirps | |||
class(dirps_t), | intent(in) | :: | zdirps |
FFT based Poisson solver It can only handle 1D decompositions along z direction.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nx_glob |
Global dimensions |
|||
integer, | public | :: | ny_glob |
Global dimensions |
|||
integer, | public | :: | nz_glob |
Global dimensions |
|||
integer, | public | :: | nx_loc |
Local dimensions |
|||
integer, | public | :: | ny_loc |
Local dimensions |
|||
integer, | public | :: | nz_loc |
Local dimensions |
|||
integer, | public | :: | nx_perm |
Local dimensions in the permuted slabs |
|||
integer, | public | :: | ny_perm |
Local dimensions in the permuted slabs |
|||
integer, | public | :: | nz_perm |
Local dimensions in the permuted slabs |
|||
integer, | public | :: | nx_spec |
Local dimensions in the permuted slabs in spectral space |
|||
integer, | public | :: | ny_spec |
Local dimensions in the permuted slabs in spectral space |
|||
integer, | public | :: | nz_spec |
Local dimensions in the permuted slabs in spectral space |
|||
integer, | public | :: | y_sp_st |
Offset in y direction in the permuted slabs in spectral space |
|||
complex(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | waves |
Local domain sized array storing the spectral equivalence constants |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | ax |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | bx |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | ay |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | by |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | az |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:) | :: | bz |
Wave numbers in x, y, and z |
||
complex(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | c_x | |||
complex(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | c_y | |||
complex(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | c_z |
private function init (mesh, xdirps, ydirps, zdirps) |
procedure, public :: base_init | |
procedure, public :: waves_set | |
procedure, public :: fft_forward => fft_forward_omp | |
procedure, public :: fft_backward => fft_backward_omp | |
procedure, public :: fft_postprocess => fft_postprocess_omp |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(omp_poisson_fft_t) | :: | self | ||||
class(field_t), | intent(in) | :: | f_in |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(omp_poisson_fft_t) | :: | self | ||||
class(field_t), | intent(inout) | :: | f_out |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(omp_poisson_fft_t) | :: | self |