calc_fs1 Subroutine

private subroutine calc_fs1(omega, vperp, vpar, phi, ef, bf, hatV_s, q_s, aleph_s, tau_s, mu_s, aleph_r, elecdircontribution, exbar, fs0, fs1, epsSokhotski_Plemelj)

Uses

  • proc~~calc_fs1~~UsesGraph proc~calc_fs1 calc_fs1 module~bessels bessels proc~calc_fs1->module~bessels module~nrtype nrtype proc~calc_fs1->module~nrtype module~vars vars proc~calc_fs1->module~vars

Determine species perturbed VDF fs1 at given (vperp,vpar,phi)

Arguments

Type IntentOptional Attributes Name
complex, intent(in) :: omega

Complex Frequency

real, intent(in) :: vperp

normalized velocity space

real, intent(in) :: vpar

normalized velocity space

real, intent(in) :: phi

azimuthal angle in velocity space

complex, intent(in), dimension(1:3) :: ef

E, B eigenfunctions in all 3 directions

complex, intent(in), dimension(1:3) :: bf

E, B eigenfunctions in all 3 directions

real, intent(in) :: hatV_s

Drift velocity norm to wpar_s

real, intent(in) :: q_s

normalized species charge

real, intent(in) :: aleph_s

T_perp/T_parallel_s

real, intent(in) :: tau_s

T_ref/T_s|_parallel

real, intent(in) :: mu_s

m_ref/m_s

real, intent(in) :: aleph_r

T_perp/T_parallel_R

real, intent(in) :: elecdircontribution

Sets components of Electric field (0 (DEFAULT) (or any other value) = Do not modify, 1=Keep only Ex(i.e.Eperp1), 2=Keep only Ey(i.e.Eperp2), 3=Keep only Ez(i.e.Epar))

complex, intent(in) :: exbar

normalizaiton factor

real, intent(in) :: fs0

normalized zero order distribution

complex, intent(out) :: fs1

first order distribution

real, intent(in) :: epsSokhotski_Plemelj

Small value for Sokhotski_Plemelj when computing moments of fs1; zero when just computing fs1


Calls

proc~~calc_fs1~~CallsGraph proc~calc_fs1 calc_fs1 proc~bess0_s_prime bess0_s_prime proc~calc_fs1->proc~bess0_s_prime proc~bessj_s bessj_s proc~calc_fs1->proc~bessj_s proc~bess0_s_prime->proc~bessj_s proc~bessj0 bessj0 proc~bessj_s->proc~bessj0 proc~bessj1 bessj1 proc~bessj_s->proc~bessj1 interface~poly poly proc~bessj0->interface~poly proc~bessj1->interface~poly proc~poly_cc poly_cc interface~poly->proc~poly_cc proc~poly_dd poly_dd interface~poly->proc~poly_dd proc~poly_ddv poly_ddv interface~poly->proc~poly_ddv proc~poly_msk_ddv poly_msk_ddv interface~poly->proc~poly_msk_ddv proc~poly_msk_rrv poly_msk_rrv interface~poly->proc~poly_msk_rrv proc~poly_rc poly_rc interface~poly->proc~poly_rc proc~poly_rr poly_rr interface~poly->proc~poly_rr proc~poly_rrv poly_rrv interface~poly->proc~poly_rrv proc~poly_ddv->proc~poly_dd proc~poly_msk_ddv->proc~poly_ddv proc~poly_msk_rrv->proc~poly_rrv proc~poly_rrv->proc~poly_rr

Called by

proc~~calc_fs1~~CalledByGraph proc~calc_fs1 calc_fs1 proc~compute_fpc_cart compute_fpc_cart proc~compute_fpc_cart->proc~calc_fs1 proc~calc_wparth calc_wparth proc~compute_fpc_cart->proc~calc_wparth proc~compute_fpc_gyro compute_fpc_gyro proc~compute_fpc_gyro->proc~calc_fs1 proc~wparth_from_ratio wparth_from_ratio proc~wparth_from_ratio->proc~calc_fs1 proc~calc_wparth->proc~wparth_from_ratio program~plume plume program~plume->proc~compute_fpc_cart program~plume->proc~compute_fpc_gyro