m_poisson_fft Module



Abstract Interfaces

abstract interface

  • public subroutine fft_forward(self, f_in)

    Arguments

    Type IntentOptional Attributes Name
    class(poisson_fft_t) :: self
    class(field_t), intent(in) :: f_in

abstract interface

  • public subroutine fft_backward(self, f_out)

    Arguments

    Type IntentOptional Attributes Name
    class(poisson_fft_t) :: self
    class(field_t), intent(inout) :: f_out

abstract interface

  • public subroutine fft_postprocess(self)

    Arguments

    Type IntentOptional Attributes Name
    class(poisson_fft_t) :: self

Derived Types

type, public, abstract ::  poisson_fft_t

FFT based Poisson solver

Components

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

Type-Bound Procedures

procedure(fft_forward), public, deferred :: fft_forward
procedure(fft_backward), public, deferred :: fft_backward
procedure(fft_postprocess), public, deferred :: fft_postprocess
procedure, public :: base_init
procedure, public :: waves_set

Subroutines

public subroutine base_init(self, mesh, xdirps, ydirps, zdirps)

Arguments

Type IntentOptional Attributes Name
class(poisson_fft_t) :: self
class(mesh_t), intent(in) :: mesh
type(dirps_t), intent(in) :: xdirps
type(dirps_t), intent(in) :: ydirps
type(dirps_t), intent(in) :: zdirps

public subroutine waves_set(self, geo, xdirps, ydirps, zdirps)

Spectral equivalence constants

Read more…

Arguments

Type IntentOptional Attributes Name
class(poisson_fft_t) :: self
type(geo_t), intent(in) :: geo
type(dirps_t), intent(in) :: xdirps
type(dirps_t), intent(in) :: ydirps
type(dirps_t), intent(in) :: zdirps