crm_fixed_boltzmann_term_generator_procedures Submodule

Contains procedures associated with the CRMBoltzTermGenerator class



Module Subroutines

module subroutine initCRMBoltzTermGenerator(this, envObj, normObj, crmData, distributionName, includedTransitionIndices, fixedEnergyIndices, evolvedHarmonic, generatorTag, absorptionTerms, dbTerms, associatedVariableIndex)

Constructor routine for CRM Boltzmann term generator

Arguments

Type IntentOptional Attributes Name
class(CRMBoltzTermGenerator), intent(inout) :: this
type(EnvironmentWrapper), intent(in), target :: envObj

Environment wrapper used to get species data, partition info, etc.

class(Normalization), intent(in) :: normObj

Normalization object used to calculate the normalization constant for the generated terms

type(ModelboundCRMData), intent(in) :: crmData

CRM data object used to get transition data

character(len=*), intent(in) :: distributionName

Evolved and implicit distribution name

integer(kind=ik), intent(in), dimension(:) :: includedTransitionIndices

List of transitions to be included in calculations by this generator.

integer(kind=ik), intent(in), dimension(:) :: fixedEnergyIndices

Fixed energy indices associated with included transitions

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

Index of harmonic for which this generator should be generating terms

character(len=*), intent(in) :: generatorTag
logical, intent(in), optional :: absorptionTerms

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

logical, intent(in), optional :: dbTerms

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

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

Density index in associated variable array. Defaults to 1.

module subroutine generateBoltzTerms(this, mbData)

Generates and allocates parent implicit Boltzmann terms

Arguments

Type IntentOptional Attributes Name
class(CRMBoltzTermGenerator), intent(inout) :: this
class(ModelboundData), intent(in), optional :: mbData

elemental module subroutine finalizeCRMBoltzTermGenerator(this)

Deallocate pointer component

Arguments

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