stella_transforms Module


Uses


Variables

Type Visibility Attributes Name Initial
type(fft_type), private :: yf_fft
type(fft_type), private :: yb_fft
type(fft_type), private :: xf_fft
type(fft_type), private :: xb_fft
type(fft_type), private :: yfnp_fft
type(fft_type), private :: ybnp_fft
type(fft_type), private :: xfnp_fft
type(fft_type), private :: xbnp_fft
type(fft_type), private :: xsf_fft
type(fft_type), private :: xsb_fft
type(fft_type), private :: ysf_fft
type(fft_type), private :: ysb_fft
type(fft_type), private :: alpha_f_fft
type(fft_type), private :: alpha_b_fft
logical, private :: transforms_initialized = .false.
complex, private, dimension(:), allocatable :: fft_y_in
complex, private, dimension(:), allocatable :: fft_y_out
complex, private, dimension(:), allocatable :: fft_x_k
real, private, dimension(:), allocatable :: fft_x_x
complex, private, dimension(:), allocatable :: fft_xs_k
complex, private, dimension(:), allocatable :: fft_xs_x
complex, private, dimension(:), allocatable :: fft_ys_k
real, private, dimension(:), allocatable :: fft_ys_y
complex, private, dimension(:), allocatable :: fftnp_x_k
complex, private, dimension(:), allocatable :: fftnp_x_x
complex, private, dimension(:), allocatable :: fftnp_y_k
real, private, dimension(:), allocatable :: fftnp_y_y
real, private, dimension(:), allocatable :: fft_alpha_alpha

arrays for transforming from alpha-space to k-alpha space

complex, private, dimension(:), allocatable :: fft_alpha_kalpha

Interfaces

public interface transform_ky2y

  • private subroutine transform_ky2y_5d(gky_unpad, gy)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gky_unpad
    complex, intent(out), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gy
  • private subroutine transform_ky2y_2d(gky_unpad, gy)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension(:, :) :: gky_unpad
    complex, intent(out), dimension(:, :) :: gy

public interface transform_y2ky

  • private subroutine transform_y2ky_5d(gy, gky)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(inout), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gy
    complex, intent(out), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gky
  • private subroutine transform_y2ky_2d(gy, gky)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(inout), dimension(:, :) :: gy
    complex, intent(out), dimension(:, :) :: gky

Subroutines

public subroutine init_transforms()

Arguments

None

private subroutine init_y_fft()

Arguments

None

private subroutine init_x_fft()

Arguments

None

private subroutine init_x_xfirst_fft()

Arguments

None

private subroutine init_y_xfirst_fft()

Arguments

None

private subroutine init_unpadded_x_fft()

Arguments

None

private subroutine init_unpadded_y_fft()

Arguments

None

private subroutine init_alpha_fft()

Arguments

None

private subroutine transform_ky2y_5d(gky_unpad, gy)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gky_unpad
complex, intent(out), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gy

private subroutine transform_ky2y_2d(gky_unpad, gy)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gky_unpad
complex, intent(out), dimension(:, :) :: gy

private subroutine transform_y2ky_5d(gy, gky)

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gy
complex, intent(out), dimension(:, :, -vmu_lo%nzgrid:, :, vmu_lo%llim_proc:) :: gky

private subroutine transform_y2ky_2d(gy, gky)

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension(:, :) :: gy
complex, intent(out), dimension(:, :) :: gky

public subroutine transform_kx2x(gkx, gx)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gkx
real, intent(out), dimension(:, :) :: gx

public subroutine transform_x2kx(gx, gkx)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:, :) :: gx
complex, intent(out), dimension(:, :) :: gkx

public subroutine transform_kx2x_xfirst(gkx, gx)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gkx
complex, intent(out), dimension(:, :) :: gx

public subroutine transform_x2kx_xfirst(gx, gkx)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gx
complex, intent(out), dimension(:, :) :: gkx

public subroutine transform_ky2y_xfirst(gky, gy)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gky
real, intent(out), dimension(:, :) :: gy

public subroutine transform_y2ky_xfirst(gy, gky)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:, :) :: gy
complex, intent(out), dimension(:, :) :: gky

public subroutine transform_kx2x_unpadded(gkx, gx)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gkx
complex, intent(out), dimension(:, :) :: gx

public subroutine transform_x2kx_unpadded(gx, gkx)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gx
complex, intent(out), dimension(:, :) :: gkx

public subroutine transform_ky2y_unpadded(gky, gy)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: gky
real, intent(out), dimension(:, :) :: gy

public subroutine transform_y2ky_unpadded(gy, gky)

Arguments

Type IntentOptional Attributes Name
real, intent(inout), dimension(:, :) :: gy
complex, intent(out), dimension(:, :) :: gky

public subroutine transform_kalpha2alpha(gkalph, galph)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:) :: gkalph
real, intent(out), dimension(:) :: galph

public subroutine transform_alpha2kalpha(galph, gkalph)

input galph array is real and contains values on the padded alpha grid gkalph is output array; it contains the Fourier coefficients of galph for positive ky values only (reality can be used to obtain the negative ky coefs) the highest 1/3 of the ky modes from the FFT have been discarded to avoid de-aliasing

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:) :: galph
complex, intent(out), dimension(:) :: gkalph

public subroutine finish_transforms()

Arguments

None