transition_abstract_procedures Submodule

Contains abstract transition procedures


Uses


Module Functions

pure module function getIngoingStates(this) result(inStates)

Getter for ingoingStates

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

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

pure module function getOutgoingStates(this) result(outStates)

Getter for outgoingStates

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

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

pure module function getRate(this) result(rate)

Getter for rate values

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value real(kind=rk), allocatable, dimension(:)

pure module function getRateMomentum(this) result(rate)

Getter for rateMomentum values

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value real(kind=rk), allocatable, dimension(:)

pure module function getRateEnergy(this) result(rate)

Getter for rateEnergy

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value real(kind=rk), allocatable, dimension(:)

pure module function getCrossSectionCol(this, col) result(crossSection)

Get cross-section values from column col

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this
integer(kind=ik), intent(in) :: col

Return Value real(kind=rk), allocatable, dimension(:)

pure module function includesElDensity(this) result(includesDens)

Check whether rates in this transition include an electron density factor

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value logical

pure module function getCSDim(this) result(csDim)

Getter for csDim

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value integer(kind=ik)

pure module function getRateSize(this) result(rateSize)

Getter for rate array length

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(in) :: this

Return Value integer(kind=ik)


Module Subroutines

pure module subroutine setStates(this, inStates, outStates)

Setter for both ingoing and outgoing states

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
integer(kind=ik), intent(in), dimension(:) :: inStates

Ingoing state IDs

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

Outgoing state IDs

pure module subroutine setRate(this, rate)

Setter for rate values

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: rate

pure module subroutine setRateMomentum(this, rate)

Setter for rateMomentum values

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: rate

pure module subroutine setRateEnergy(this, rate)

Setter for rateEnergy

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: rate

pure module subroutine setCrossSectionCol(this, crossSection, col)

Set cross-section values in column col

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: crossSection
integer(kind=ik), intent(in) :: col

pure module subroutine setCrossSection(this, crossSection)

Setter for crossSection

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
real(kind=rk), intent(in), dimension(:,:) :: crossSection

pure module subroutine setIncludeElectronDensity(this, includeDens)

Setter for rateContainsElDensity

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
logical, intent(in) :: includeDens

pure module subroutine setCSDim(this, csDim)

Setter for csDim

Arguments

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

module subroutine noUpdate(this, varCont, hostModel, hostData, updatePriority)

Default update routine - does nothing

Arguments

Type IntentOptional Attributes Name
class(Transition), intent(inout) :: this
type(VariableContainer), intent(in) :: varCont

Variable container used in update

class(ModelSurrogate), intent(in), optional :: hostModel

Optional host model reference for callbacks during update

class(ModelboundData), intent(in), optional :: hostData

Optional host data reference for callbacks during update

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

Priority for this update call