crm_variable_boltzmann_term_generator_procedures Submodule

Contains procedures associated with the CRMBVarBoltzTermGenerator class



Module Subroutines

module subroutine initCRMVarBoltzTermGenerator(this, envObj, normObj, crmData, distributionName, includedTransitionIndices, evolvedHarmonic, generatorTag, absorptionTerms, superelasticTerms, associatedVariableIndex)

Constructor routine for CRM Variable Boltzmann term generator

Arguments

Type IntentOptional Attributes Name
class(CRMVarBoltzTermGenerator), 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) :: 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 :: superelasticTerms

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

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

Density index in associated variable array. Defaults to 1.

module subroutine generateVarBoltzTerms(this, mbData)

Generates and allocates parent implicit variable Boltzmann terms

Arguments

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

elemental module subroutine finalizeCRMVarBoltzTermGenerator(this)

Deallocate pointer component

Arguments

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