coll_fokkerplanck Module


Variables

Type Visibility Attributes Name Initial
logical, private :: vpa_operator
logical, private :: mu_operator
logical, private :: density_conservation
logical, private :: density_conservation_field
logical, private :: density_conservation_tp
logical, private :: exact_conservation_tp
logical, private :: exact_conservation
logical, private :: spitzer_problem
logical, private :: no_j1l1
logical, private :: no_j1l2
logical, private :: no_j0l2
logical, public :: fieldpart
logical, private :: testpart
logical, private :: interspec
logical, private :: intraspec
logical, private :: advfield_coll
integer, private :: nresponse = 1
real, private :: cfac
real, private :: cfac2
real, private :: nuxfac
real, private :: iiknob
real, private :: ieknob
real, private :: eeknob
real, private :: eiknob
real, private :: eiediffknob
real, private :: eideflknob
real, private :: deflknob
logical, private :: eimassr_approx
integer, private :: jmax = 1
integer, private :: lmax = 1
integer, private :: nvel_local
real, private, dimension(:, :), allocatable :: aa_vpa
real, private, dimension(:, :), allocatable :: bb_vpa
real, private, dimension(:, :), allocatable :: cc_vpa
complex, private, dimension(:, :, :), allocatable :: fp_response
integer, private, dimension(:, :), allocatable :: diff_idx
complex, private, dimension(:, :, :, :, :), allocatable :: aa_blcs
complex, private, dimension(:, :, :, :, :), allocatable :: cc_blcs
complex, private, dimension(:, :, :, :, :), allocatable :: bb_blcs
complex, private, dimension(:, :, :, :, :, :), allocatable :: cdiffmat_band
complex, private, dimension(:, :, :, :), allocatable :: blockmatrix
complex, private, dimension(:, :, :), allocatable :: blockmatrix_sum
integer, private, dimension(:, :, :, :, :), allocatable :: ipiv
real, private, dimension(:, :, :, :, :), allocatable :: nus
real, private, dimension(:, :, :, :, :), allocatable :: nuD
real, private, dimension(:, :, :, :, :), allocatable :: nupa
real, private, dimension(:, :, :, :, :), allocatable :: nux
real, private, dimension(:, :, :, :), allocatable :: mw
real, private, dimension(:, :, :, :), allocatable :: modmw
real, private, dimension(:, :, :), allocatable :: velvpamu
integer, private :: info
real, private, dimension(:), allocatable :: wgts_v
real, private, dimension(:), allocatable :: vel
real, private, dimension(:, :, :, :, :, :, :, :), allocatable :: deltaj
real, private, dimension(:, :, :, :, :, :, :, :), allocatable :: deltaj_tp
complex, private, dimension(:, :, :, :), allocatable :: deltajint
real, private, dimension(:, :, :, :, :), allocatable :: psijnorm
real, private, dimension(:, :, :, :, :), allocatable :: legendre_vpamu
real, private, dimension(:, :, :, :, :, :), allocatable :: jm
real, private, dimension(:, :, :, :, :), allocatable :: jm0
real, private, dimension(:), allocatable :: mwnorm
real, private, dimension(:), allocatable :: modmwnorm
logical, private :: fp_initialized = .false.
real, private :: i1fac
real, private :: i2fac

Functions

private elemental function associated_laguerre(n, alpha, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
real, intent(in) :: alpha
real, intent(in) :: x

Return Value real

private elemental function associated_legendre(l, m, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: l
integer, intent(in) :: m
double precision, intent(in) :: x

Return Value double precision


Subroutines

public subroutine read_parameters_fp()

Arguments

None

public subroutine init_collisions_fp(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_nusDpa()

Arguments

None

private subroutine finish_nusDpa()

Arguments

None

private subroutine init_fp_diffmatrix()

Arguments

None

private subroutine init_legendre()

Arguments

None

private subroutine init_bessel_fn()

Arguments

None

private subroutine init_vgrid()

Arguments

None

private recursive subroutine gamlow(a, x, gl)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: a
real, intent(in) :: x
real, intent(out) :: gl

private recursive subroutine gamup(a, x, gu)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: a
real, intent(in) :: x
real, intent(out) :: gu

private subroutine calc_delta0(xa, jj, ll, isa, isb, delt0)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: xa
integer, intent(in) :: jj
integer, intent(in) :: ll
integer, intent(in) :: isa
integer, intent(in) :: isb
real, intent(out) :: delt0

private recursive subroutine calc_deltaj_vmu(jj, nn, ll, isa, isb, deltj)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: jj
integer, intent(in) :: nn
integer, intent(in) :: ll
integer, intent(in) :: isa
integer, intent(in) :: isb
real, intent(out), dimension(nvpa, nmu, -nzgrid:nzgrid) :: deltj

private subroutine vLj_vmu(jj, ll, vLj)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: jj
integer, intent(in) :: ll
real, intent(out), dimension(nvpa, nmu, -nzgrid:nzgrid) :: vLj

private recursive subroutine calc_psi_vmu(jj, nn, ll, isa, isb, psij)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: jj
integer, intent(in) :: nn
integer, intent(in) :: ll
integer, intent(in) :: isa
integer, intent(in) :: isb
real, intent(out), dimension(-nzgrid:nzgrid) :: psij

private subroutine init_deltaj_vmu()

Arguments

None

private subroutine get_testpart_density(isa, isb, g, fld)

Arguments

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

private subroutine init_fp_conserve()

Arguments

None

private subroutine get_psi_response(ll, mm, jj, isa, response)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ll
integer, intent(in) :: mm
integer, intent(in) :: jj
integer, intent(in) :: isa
complex, intent(out), dimension(:, :, kxkyz_lo%llim_proc:) :: response

private subroutine get_psi(g, fld, isa, isb, ll, mm, jj)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(out), dimension(:, :, -nzgrid:, :, :) :: fld
integer, intent(in) :: isa
integer, intent(in) :: isb
integer, intent(in) :: ll
integer, intent(in) :: mm
integer, intent(in) :: jj

public subroutine finish_collisions_fp()

Arguments

None

private subroutine finish_deltaj()

Arguments

None

private subroutine finish_fp_diffmatrix()

Arguments

None

private subroutine finish_fp_response()

Arguments

None

public subroutine advance_collisions_fp_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_fp(h, Dh, imu, iz, is, ia)

Arguments

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

private subroutine mu_differential_operator_fp(h, Dh, iv, iz, is, ia, iky, ikx, cfac)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: h
complex, intent(out), dimension(:, :) :: Dh
integer, intent(in) :: iv
integer, intent(in) :: iz
integer, intent(in) :: is
integer, intent(in) :: ia
integer, intent(in) :: iky
integer, intent(in) :: ikx
real, intent(in) :: cfac

private subroutine vpa_differential_operator_fp_conservative(h, Dh, imu, iz, is, ia)

Arguments

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

private subroutine mu_differential_operator_fp_conservative(h, Dh, iv, iz, is, ia, iky, ikx, cfac)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: h
complex, intent(out), dimension(:, :) :: Dh
integer, intent(in) :: iv
integer, intent(in) :: iz
integer, intent(in) :: is
integer, intent(in) :: ia
integer, intent(in) :: iky
integer, intent(in) :: ikx
real, intent(in) :: cfac

public subroutine advance_collisions_fp_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_implicit_fp(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