coll_dougherty Module


Variables

Type Visibility Attributes Name Initial
logical, private :: vpa_operator
logical, private :: mu_operator
logical, private :: momentum_conservation
logical, private :: energy_conservation
integer, private :: nresponse_vpa = 1
integer, private :: nresponse_mu = 1
real, private, dimension(:, :), allocatable :: aa_vpa
real, private, dimension(:, :), allocatable :: bb_vpa
real, private, dimension(:, :), allocatable :: cc_vpa
real, private, dimension(:, :, :), allocatable :: aa_mu
real, private, dimension(:, :, :), allocatable :: cc_mu
real, private, dimension(:, :), allocatable :: bb_mu
complex, private, dimension(:, :, :), allocatable :: vpadiff_response
integer, private, dimension(:, :), allocatable :: vpadiff_idx
complex, private, dimension(:, :, :), allocatable :: mudiff_response
integer, private, dimension(:, :), allocatable :: mudiff_idx
complex, private, dimension(:, :, :), allocatable :: vpadiff_zf_response
integer, private, dimension(:, :), allocatable :: vpadiff_zf_idx
complex, private, dimension(:, :, :), allocatable :: mudiff_zf_response
integer, private, dimension(:, :), allocatable :: mudiff_zf_idx
logical, private :: dougherty_initialized = .false.

Subroutines

public subroutine read_parameters_dougherty()

Arguments

None

public subroutine init_collisions_dougherty(collisions_implicit, cfl_dt_vpadiff, cfl_dt_mudiff)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: collisions_implicit
real, intent(out) :: cfl_dt_vpadiff
real, intent(out) :: cfl_dt_mudiff

private subroutine init_vpadiff_matrix()

Arguments

None

private subroutine init_mudiff_matrix()

Arguments

None

private subroutine init_vpadiff_conserve()

Arguments

None

private subroutine init_mudiff_conserve()

Arguments

None

public subroutine finish_collisions_dougherty()

Arguments

None

private subroutine finish_vpadiff_matrix()

Arguments

None

private subroutine finish_mudiff_matrix()

Arguments

None

private subroutine finish_vpadiff_response()

Arguments

None

private subroutine finish_mudiff_response()

Arguments

None

private subroutine get_upar(g, fld)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(out), dimension(:, :, -nzgrid:, :, :) :: fld

private subroutine get_uperp(g, fld)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(out), dimension(:, :, -nzgrid:, :, :) :: fld

private subroutine get_temp(g, fld)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(out), dimension(:, :, -nzgrid:, :, :) :: fld

private subroutine get_temp_mu(g, fld)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(out), dimension(:, :, -nzgrid:, :, :) :: fld

public subroutine advance_collisions_dougherty_explicit(g, phi, bpar, gke_rhs, time_collisions)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: g
complex, intent(in), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(in), dimension(:, :, -nzgrid:, :) :: bpar
complex, intent(inout), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gke_rhs
real, intent(inout), dimension(:, :) :: time_collisions

private subroutine vpa_differential_operator(tfac, h, Dh)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: tfac
complex, intent(in), dimension(:) :: h
complex, intent(out), dimension(:) :: Dh

private subroutine mu_differential_operator(tfac, iz, ia, h, Dh)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: tfac
integer, intent(in) :: iz
integer, intent(in) :: ia
complex, intent(in), dimension(:) :: h
complex, intent(out), dimension(:) :: Dh

private subroutine conserve_momentum(iky, ikx, iz, is, ikxkyz, h, Ch)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iky
integer, intent(in) :: ikx
integer, intent(in) :: iz
integer, intent(in) :: is
integer, intent(in) :: ikxkyz
complex, intent(in), dimension(:, :) :: h
complex, intent(inout), dimension(:, :) :: Ch

private subroutine conserve_energy(iz, is, ikxkyz, h, Ch)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: iz
integer, intent(in) :: is
integer, intent(in) :: ikxkyz
complex, intent(in), dimension(:, :) :: h
complex, intent(inout), dimension(:, :) :: Ch

private subroutine conserve_momentum_vmulo(h, gke_rhs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: h
complex, intent(inout), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gke_rhs

private subroutine conserve_energy_vmulo(h, gke_rhs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: h
complex, intent(inout), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gke_rhs

public subroutine advance_collisions_dougherty_implicit(phi, apar, bpar)

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: apar
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: bpar

private subroutine advance_vpadiff_implicit(phi, apar, bpar, g)

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: apar
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: bpar
complex, intent(inout), dimension(:, :, kxkyz_lo%llim_proc:) :: g

private subroutine advance_mudiff_implicit(phi, apar, bpar, g)

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: apar
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: bpar
complex, intent(inout), dimension(:, :, kxkyz_lo%llim_proc:) :: g