fixed_boltzmann_stencil_gen_procedures Submodule

Contains module procedures associated with the fixed mapping Boltzmann stencil generator class



Module Subroutines

module subroutine initBoltzGen(this, vspaceObj, transitionIndex, fixedWIndex, lNum, absorptionTerm, dbTerm)

Boltzmann emission/absorption stencil value generator initialization routine

Arguments

Type IntentOptional Attributes Name
class(FixedBoltzmannStencilGen), intent(inout) :: this
type(VSpace), intent(in) :: vspaceObj

VSpace object used to get grid

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

Index of transition whose cross-section is required

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

Fixed inelastic mapping index associated with the transition

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

Harmonic index of cross-section required. Used only if absorption term

logical, intent(in), optional :: absorptionTerm

True if this is an absorption term stencil generator. Defaults to false.

logical, intent(in), optional :: dbTerm

True if this is a detailed balance term stencil generator. Defaults to false.

module subroutine calcBoltzVals(this, varCont, res, mbData, hostModel)

Calculate Boltzmann emission/absorption stencil values in place (does not depend on varCont)

Arguments

Type IntentOptional Attributes Name
class(FixedBoltzmannStencilGen), intent(inout) :: this
type(VariableContainer), intent(in) :: varCont
type(RealArray), intent(inout), allocatable, dimension(:) :: res
class(ModelboundData), intent(in), optional :: mbData
class(ModelSurrogate), intent(in), optional :: hostModel