initDBTransition Interface

interface
private pure module subroutine initDBTransition(this, locNumX, inStates, outStates, energy, distVarIndex, refVSpace, directTransitionIndex, fixedWIndexDirect, fixedWIndex, temperatureVarIndex, maxCSl, degeneracyRatio, degeneracyFun, degeneracyFunIndices, momentumMoment, l1Index, csUpdatePriority, strictDB)

Arguments

Type IntentOptional Attributes Name
class(DBTransition), intent(inout) :: this
integer(kind=ik), intent(in) :: locNumX

Local number of spatial cells

integer(kind=ik), intent(in), dimension(:) :: inStates

Pre-transition states

integer(kind=ik), intent(in), dimension(:) :: outStates

Post-transition states

real(kind=rk), intent(in) :: energy

Transition energy

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

Distribution function variable index

type(VSpace), intent(inout), target :: refVSpace

Target for the reference pointer

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

Index of the direct transition in the host model data

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

Index of the direct transition inelastic weight matrix in the host model inelastic data object

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

Index of this transition's inelastic weight matrix in the host model inelastic data object

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

Index of the temperature variable used to calculate the detailed balance cross-section

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

Highest harmonic of the cross-section to calculate

real(kind=rk), intent(in) :: degeneracyRatio

Ratio of the degeneracy of the initial and final states of the transition

class(Derivation), intent(in), optional :: degeneracyFun

Optional derivation object when the degeneracy is a function of variables in the variable container

integer(kind=ik), intent(in), optional, dimension(:) :: degeneracyFunIndices

Variable indices needed for the degeneracy function calculation

logical, intent(in), optional :: momentumMoment

Set to true if the momentum rate should be calculated

integer(kind=ik), intent(in), optional :: l1Index

Index of the l=1 harmonic - must be provided if calculating momentum rate

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

Update priority for cross-section data. Defaults to highest priority (0)

logical, intent(in), optional :: strictDB

Set to false if strict detailed balance should not be enforced by scaling cross-sections. Defaults to true.

Description

Initialization routine for DBTransition object