Transition where the rate is calculated using a derivation object and with a fixed transition energy. Optionally, momentum and energy rates can be calculated using derivation objects
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| real(kind=rk), | private | :: | transitionEnergy | ||||
| class(Derivation), | private, | allocatable | :: | rateDeriv |
Derivation object used in rate calculation |
||
| integer(kind=ik), | private, | allocatable, dimension(:) | :: | rateDerivIndices |
Indices for rate derivation |
||
| class(Derivation), | private, | allocatable | :: | momentumRateDeriv |
Derivation object used in momentum rate calculation |
||
| integer(kind=ik), | private, | allocatable, dimension(:) | :: | momentumRateDerivIndices |
Indices for momentum rate derivation |
||
| class(Derivation), | private, | allocatable | :: | energyRateDeriv |
Derivation object used in energy rate calculation |
||
| integer(kind=ik), | private, | allocatable, dimension(:) | :: | energyRateDerivIndices |
Indices for energy rate derivation |
||
| integer(kind=ik), | private | :: | locNumX |
Size of local rate vectors |
Getter for userDefined
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(in) | :: | this |
Set userDefined to .true.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Getter for ingoingStates
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Getter for outgoingStates
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Setter for both ingoing and outgoing states
| Type | Intent | Optional | 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 |
Setter for rate values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| real(kind=rk), | intent(in), | dimension(:) | :: | rate |
Getter for rate values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Setter for rateMomentum values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| real(kind=rk), | intent(in), | dimension(:) | :: | rate |
Getter for rateMomentum values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Setter for rateEnergy
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| real(kind=rk), | intent(in), | dimension(:) | :: | rate |
Getter for rateEnergy
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Setter for crossSection
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| real(kind=rk), | intent(in), | dimension(:,:) | :: | crossSection |
Set cross-section values in column col
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| real(kind=rk), | intent(in), | dimension(:) | :: | crossSection | ||
| integer(kind=ik), | intent(in) | :: | col |
Get cross-section values from column col
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this | |||
| integer(kind=ik), | intent(in) | :: | col |
Check whether rates in this transition include an electron density factor
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Setter for rateContainsElDensity
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| logical, | intent(in) | :: | includeDens |
Setter for csDim
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(inout) | :: | this | |||
| integer(kind=ik), | intent(in) | :: | csDim |
Getter for csDim
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Getter for rate array length
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Transition), | intent(in) | :: | this |
Initialization routine for DerivedTransition object
| Type | Intent | Optional | 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 |
Update transition rates using derivation object
| Type | Intent | Optional | 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 |
Returns array representing energy cost of this transition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DerivedTransition), | intent(in) | :: | this |