fixed_ecs_transition_procedures Submodule

Contains module procedures associated with the fixed energy and cross section 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(FixedECSTransition), intent(in) :: this

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


Module Subroutines

pure module subroutine initFixedECSTransition(this, locNumX, inStates, outStates, energy, crossSection, distVarIndex, refVSpace, fixedWIndex, momentumMoment, l1Index)

Initialization routine for FixedECSTransition object

Arguments

Type IntentOptional 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 weigth 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

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

Update transition and moment exchange rate (if applicable)

Arguments

Type IntentOptional 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

elemental module subroutine finalizeFixedECSTransition(this)

Deallocate pointer component

Arguments

Type IntentOptional Attributes Name
type(FixedECSTransition), intent(inout) :: this