janev_crm_data_support_procedures Submodule

Contains implementation of Janev CRM support routines


Uses


Module Subroutines

module subroutine addJanevRadRecombTransition(crmData, locNumX, endState, temperatureVarIndex, eVTempNorm, densNorm, timeNorm)

Adds Janev radiative recombination transition to endState of hydrogen. Normalizes the rate to densNorm/timeNorm for easier use.

Arguments

Type IntentOptional Attributes Name
type(ModelboundCRMData), intent(inout) :: crmData
integer(kind=ik), intent(in) :: locNumX
integer(kind=ik), intent(in) :: endState
integer(kind=ik), intent(in) :: temperatureVarIndex
real(kind=rk), intent(in) :: eVTempNorm
real(kind=rk), intent(in) :: densNorm
real(kind=rk), intent(in) :: timeNorm

module subroutine addJanevCollExIonTransition(crmData, locNumX, startState, endState, distVarIndex, eVTempNorm, csNorm, refVSpace, fixedWIndex)

Adds Janev collisional excitation/ionization transition from startState to endState of hydrogen. Normalizes the cross-section for easier later use. Cross-section only isotropic. endState = 0 interpreted as ionization. Assumes velocity is normalized to electron thermal velocity so that me*v_0^2/2 = e * eVTempNorm

Arguments

Type IntentOptional Attributes Name
type(ModelboundCRMData), intent(inout) :: crmData
integer(kind=ik), intent(in) :: locNumX
integer(kind=ik), intent(in) :: startState
integer(kind=ik), intent(in) :: endState
integer(kind=ik), intent(in) :: distVarIndex
real(kind=rk), intent(in) :: eVTempNorm
real(kind=rk), intent(in) :: csNorm
type(VSpace), intent(inout), target :: refVSpace

Target for the transition reference pointer

integer(kind=ik), intent(in) :: fixedWIndex

Index of the inelastic weight array corresponding to this transition

module subroutine addJanevCollDeexRecombTransition(crmData, locNumX, startState, endState, distVarIndex, tempVarIndex, eVTempNorm, densNorm, refVSpace, directFixedWIndex, fixedWIndex, directTransitionIndex, csUpdatePriority)

Adds Janev collisional deexcitation/recombination transition from startState to endState of hydrogen. Normalizes the cross-section for easier later use. Cross-section only isotropic.

Arguments

Type IntentOptional Attributes Name
type(ModelboundCRMData), intent(inout) :: crmData
integer(kind=ik), intent(in) :: locNumX
integer(kind=ik), intent(in) :: startState
integer(kind=ik), intent(in) :: endState
integer(kind=ik), intent(in) :: distVarIndex
integer(kind=ik), intent(in) :: tempVarIndex
real(kind=rk), intent(in) :: eVTempNorm
real(kind=rk), intent(in) :: densNorm
type(VSpace), intent(inout), target :: refVSpace

Target for the transition reference pointer

integer(kind=ik), intent(in) :: directFixedWIndex

Index of the inelastic weight array corresponding to the direct counterpart of this transition

integer(kind=ik), intent(in) :: fixedWIndex

Index of the inelastic weight array corresponding to this transition

integer(kind=ik), intent(in) :: directTransitionIndex

Index of the direct transition in crmData

integer(kind=ik), intent(in) :: csUpdatePriority

Update priority for detailed balance cross-section