Houses fixed transition energy and fixed cross-section transition object
Returns array representing energy cost of this transition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FixedECSTransition), | intent(in) | :: | this |
Initialization routine for FixedECSTransition object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FixedECSTransition), | 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 |
||
real(kind=rk), | intent(in), | dimension(:,:) | :: | crossSection |
Cross-section harmonics |
|
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) | :: | fixedWIndex |
Index of the inelastic weight array corresponding to this transition |
||
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 |
Update transition and moment exchange rate (if applicable)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FixedECSTransition), | 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 used to determine emitting cells for discrete cross-section |
|
integer(kind=ik), | intent(in), | optional | :: | updatePriority |
Priority for this update call - unused |
Deallocate pointer component
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(FixedECSTransition), | intent(inout) | :: | this |
Transition object with a fixed transition energy and cross-section, which takes moments of a distribution function to calculate rates
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private | :: | transitionEnergy | ||||
type(VSpace), | private, | pointer | :: | vSpaceRef |
Reference to velocity space object used in moment-taking |
||
logical, | private | :: | takeMomentumMoment |
True if the momentum rate should be allocated and updated by taking the first moment of the l = 1 harmonic |
|||
integer(kind=ik), | private | :: | l1HarmonicInd |
Index of the l=1 m = 0 harmonic on the harmonic grid |
|||
integer(kind=ik), | private | :: | distFunVarIndex |
Variable index of the distribution function to be used in moment-taking |
|||
integer(kind=ik), | private | :: | locNumX |
Size of local rate vectors |
|||
integer(kind=ik), | private | :: | fixedWIndex |
Index of the inelastic weigth array corresponding to this transition |
final :: finalizeFixedECSTransition |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: getIngoingStates | |
procedure, public :: getOutgoingStates | |
procedure, public :: setStates | |
procedure, public :: setRate | |
procedure, public :: getRate | |
procedure, public :: setRateMomentum | |
procedure, public :: getRateMomentum | |
procedure, public :: setRateEnergy | |
procedure, public :: getRateEnergy | |
procedure, public :: setCrossSection | |
procedure, public :: setCrossSectionCol | |
procedure, public :: getCrossSectionCol | |
procedure, public :: includesElDensity | |
procedure, public :: setIncludeElectronDensity | |
procedure, public :: setCSDim | |
procedure, public :: getCSDim | |
procedure, public :: getRateSize | |
procedure, public :: init => initFixedECSTransition | |
procedure, public :: update => updateRates | |
procedure, public :: getTransitionEnergy => getEnergy |