simple_transition_class Module

Houses simple fixed rate and energy transition object


Used by


Interfaces

interface

  • private pure module function getEnergy(this) result(energyCost)

    Returns array representing energy cost of this transition

    Arguments

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

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

interface

  • private pure module subroutine initSimpleTransition(this, locNumX, inState, outState, energy, fixedRate)

    Initialization routine for SimpleTransition object

    Arguments

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

    Local number of spatial cells

    integer(kind=ik), intent(in) :: inState

    Pre-transition state

    integer(kind=ik), intent(in) :: outState

    Post-transition state

    real(kind=rk), intent(in) :: energy

    Transition energy

    real(kind=rk), intent(in) :: fixedRate

    Fixed transition rate


Derived Types

type, public, extends(Transition) ::  SimpleTransition

Simple transition object with a fixed rate and energy, and single ingoing and outgoing state. The default energy rate is set to rate*energy, and the momentum rate is 0

Components

Type Visibility Attributes Name Initial
logical, public :: userDefined = .false.

True only if user explicitly sets it to true

real(kind=rk), private :: transitionEnergy

Type-Bound Procedures

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 :: update => noUpdate
procedure, public :: init => initSimpleTransition
procedure, public :: getTransitionEnergy => getEnergy