getRequiredDensityData Interface

interface
private pure module function getRequiredDensityData(this, transitionIndex, removeLastState) result(densDataMat)

Arguments

Type IntentOptional Attributes Name
class(ModelboundCRMData), intent(in) :: this
integer(kind=ik), intent(in) :: transitionIndex
logical(kind=ik), intent(in), optional :: removeLastState

Return Value integer(kind=ik),dimension(:,:),allocatable

Description

For a given transition index returns ingoingState data as a (:,2) matrix, where the first column is the list of participating states and the second column the number of times that state appears. If an ID is zero (electrons) and the transition includes electron density in the rate, the second column value is reduced by one. If removeLastState is true, the corresponding number in the second column of the result is reduced by one (useful in implicit terms). If any value in the second column drops to 0, the corresponding row will be removed. The result can then be used to determine density variables and their powers required to convert the transitions rate values into a source.