derived_transition_procedures Submodule

Contains module procedures associated with the fixed energy derived rate transition class


Uses


Module Functions

pure module function getEnergy(this) result(energyCost)

Returns array representing energy cost of this transition

Arguments

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

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


Module Subroutines

pure module subroutine initDerivedTransition(this, locNumX, inStates, outStates, energy, rateDeriv, rateDerivIndices, momentumRateDeriv, momentumRateDerivIndices, energyRateDeriv, energyRateDerivIndices)

Initialization routine for DerivedTransition object

Arguments

Type IntentOptional Attributes Name
class(DerivedTransition), 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

class(Derivation), intent(in) :: rateDeriv

Derivation object used in rate calculation

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

Indices for rate derivation

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

Derivation object used in momentum rate calculation

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

Indices for momentum rate derivation

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

Derivation object used in energy rate calculation

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

Indices for energy rate derivation

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

Update transition rates using derivation object

Arguments

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

Variable container used in update

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

Host model - unused

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

Host data - unused

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

Priority for this update call - unused