dist_fn Module



Variables

Type Visibility Attributes Name Initial
logical, private :: dist_fn_initialized = .false.
logical, private :: gxyz_initialized = .false.
logical, private :: kp2init = .false.
logical, private :: dkp2drinit = .false.
logical, private :: vp2init = .false.

Interfaces

public interface checksum

  • private subroutine checksum_field(field, total)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension(:, :, -nzgrid:, :) :: field
    real, intent(out) :: total
  • private subroutine checksum_dist(dist, total, norm)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: dist
    real, intent(out) :: total
    logical, intent(in), optional :: norm

Subroutines

public subroutine init_gxyz(restarted)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: restarted

public subroutine init_dist_fn()

allocate and initialise kperp2 and dkperp2dr allocate and initialise vperp2 init_bessel sets up arrays needed for gyro-averaging; for a flux tube simulation, this is j0 and j1; for a flux annulus simulation, gyro-averaging is non-local in ky and so more effort is required

Arguments

None

private subroutine init_kperp2()

init_kperp2 allocates and initialises the kperp2 array

Read more…

Arguments

None

private subroutine init_dkperp2dr()

init_dkperp2dr allocates and initialises the dkperp2dr array, needed for radial variation

Arguments

None

private subroutine enforce_single_valued_kperp2()

Arguments

None

private subroutine allocate_arrays()

Arguments

None

private subroutine init_vperp2()

Arguments

None

public subroutine finish_dist_fn()

Arguments

None

private subroutine deallocate_arrays()

Arguments

None

private subroutine finish_kperp2()

Arguments

None

private subroutine finish_vperp2()

Arguments

None

private subroutine checksum_field(field, total)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :) :: field
real, intent(out) :: total

private subroutine checksum_dist(dist, total, norm)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: dist
real, intent(out) :: total
logical, intent(in), optional :: norm