kinetic_stencil_templates_procedures Submodule

Contains kinetic stencil template procedures


Uses


Module Subroutines

module subroutine initKineticStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar, mbData)

Initialize kineti stencil template based on existing model, environment object, and JSON file

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
class(ModelboundData), intent(in), optional :: mbData

module subroutine initKinDiagonalStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize diagonal stencil template based on environment object and JSON file

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initKinDiagonalStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, evolvedXCells, evolvedHarmonics, evolvedVCells)

Initialize diagonal stencil template based on environment object and JSON file

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in), dimension(:) :: evolvedXCells
integer(kind=ik), intent(in), dimension(:) :: evolvedHarmonics
integer(kind=ik), intent(in), dimension(:) :: evolvedVCells

module subroutine initMomentStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize distribution moment stencil template based on environment object and JSON file

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initMomentStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, momentHarmonic, momentOrder)

Initialize distribution moment stencil template based on direct input data

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: momentHarmonic
integer(kind=ik), intent(in) :: momentOrder

module subroutine initSpatialDiffStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize d/dx kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initSpatialDiffStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, rowHarmonic, colHarmonic)

Initialize d/dx kinetic stencil template based on direct input.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: rowHarmonic
integer(kind=ik), intent(in) :: colHarmonic

module subroutine initDDVStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize d/dv kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initDDVStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, rowHarmonic, colHarmonic, fixedC, fixedInterp, cfAtZero, modelboundC, modelboundInterp)

Initialize d/dv kinetic stencil template based on direct input.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: rowHarmonic
integer(kind=ik), intent(in) :: colHarmonic
real(kind=rk), intent(in), optional, dimension(:) :: fixedC
real(kind=rk), intent(in), optional, dimension(:) :: fixedInterp
real(kind=rk), intent(in), optional, dimension(2) :: cfAtZero
character(len=*), intent(in), optional :: modelboundC
character(len=*), intent(in), optional :: modelboundInterp

module subroutine initVelDiffusionStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize d^2/d^2v kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initVelDiffusionStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, rowHarmonic, colHarmonic, fixedA, adfAtZero, modelboundA)

Initialize d^2/d^2v kinetic stencil template based on direct inputs.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: rowHarmonic
integer(kind=ik), intent(in) :: colHarmonic
real(kind=rk), intent(in), optional, dimension(:) :: fixedA
real(kind=rk), intent(in), optional, dimension(2) :: adfAtZero
character(len=*), intent(in), optional :: modelboundA

module subroutine initIJStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize Shkarofsky I/J integral kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initIJStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, rowHarmonic, colHarmonic, integralIndex, jIntegral)

Initialize Shkarofsky I/J integral kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: rowHarmonic
integer(kind=ik), intent(in) :: colHarmonic
integer(kind=ik), intent(in) :: integralIndex
logical, intent(in) :: jIntegral

module subroutine initFixedBoltzmannStencil(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar, mbData)

Initialize fixed mapping Boltzmann kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
class(ModelboundCRMData), intent(in) :: mbData

module subroutine initFixedBoltzmannStencilDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, mbData, evolvedHarmonic, transitionIndex, fixedEnergyIndex, absorptionTerm, dbTerm)

Initialize fixed mapping Boltzmann kinetic stencil template based on environment non-JSON inputs.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
class(ModelboundCRMData), intent(in) :: mbData
integer(kind=ik), intent(in) :: evolvedHarmonic
integer(kind=ik), intent(in) :: transitionIndex
integer(kind=ik), intent(in) :: fixedEnergyIndex
logical, intent(in) :: absorptionTerm
logical, intent(in) :: dbTerm

module subroutine initScalingLBCStencil(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize scaling logical boundary condition kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initScalingLBCStencilDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, rowHarmonic, colHarmonic, decompHarmonics, derivName, derivReqVars, leftBoundary)

Initialize scaling logical boundary condition kinetic stencil template based on direct input.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: rowHarmonic
integer(kind=ik), intent(in) :: colHarmonic
integer(kind=ik), intent(in), dimension(:) :: decompHarmonics
character(len=*), intent(in) :: derivName
type(StringArray), intent(in), dimension(:) :: derivReqVars
logical, intent(in), optional :: leftBoundary

module subroutine initTermMomentStencil(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize term moment kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar

module subroutine initTermMomentStencilDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, momentOrder, colHarmonic, termName)

Initialize term moment kinetic stencil template based on direct input.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
integer(kind=ik), intent(in) :: momentOrder
integer(kind=ik), intent(in) :: colHarmonic
character(len=*), intent(in) :: termName

module subroutine initVariableBoltzmannStencil(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar, mbData)

Initialize variable mapping Boltzmann kinetic stencil template based on environment object and JSON file.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: jsonPrefix

prefix for JSON keys for this template

character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
class(ModelboundCRMData), intent(in) :: mbData

module subroutine initVariableBoltzmannStencilDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, mbData, evolvedHarmonic, transitionIndex, absorptionTerm, superelasticTerm)

Initialize variable mapping Boltzmann kinetic stencil template based on environment non-JSON inputs.

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
character(len=*), intent(in) :: evolvedVar
character(len=*), intent(in) :: implicitVar
class(ModelboundCRMData), intent(in) :: mbData
integer(kind=ik), intent(in) :: evolvedHarmonic
integer(kind=ik), intent(in) :: transitionIndex
logical, intent(in) :: absorptionTerm
logical, intent(in) :: superelasticTerm