fluid_stencil_templates_procedures Submodule

Contains fluid stencil template procedures


Uses


Module Subroutines

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

Initialize 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 initDiagonalStencilTemplate(stencilTemplateObj, envObj, jsonPrefix, evolvedVar, implicitVar)

Initialize diagonal tencil 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 initDiagonalStencilTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, evolvedXCells)

Initialize diagonal 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), optional, dimension(:) :: evolvedXCells

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

Initialize central difference with face interpolation 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 initCentralDifferenceInterpTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, ignoreJacobian, interpolatedVarName)

Initialize central difference with face interpolation 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
logical, intent(in) :: ignoreJacobian
character(len=*), intent(in), optional :: interpolatedVarName

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

Initialize staggered difference with 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 initStaggeredDifferenceTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, ignoreJacobian)

Initialize staggered difference with 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
logical, intent(in) :: ignoreJacobian

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

Initialize upwinding difference with 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 initUpwindingDifferenceTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, ignoreJacobian, fluxJacVar)

Initialize upwinding difference with 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
logical, intent(in) :: ignoreJacobian
character(len=*), intent(in) :: fluxJacVar

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

Initialize flux-like boundary condition 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 initBCTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, ignoreJacobian, leftBoundary, dontExtrapolate, noLowerBound, fixedLowerBound, fluxJacVar, lowerBoundVar)

Initialize flux-like boundary condition 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
logical, intent(in) :: ignoreJacobian
logical, intent(in) :: leftBoundary
logical, intent(in) :: dontExtrapolate
logical, intent(in) :: noLowerBound
real(kind=rk), intent(in) :: fixedLowerBound
character(len=*), intent(in), optional :: fluxJacVar
character(len=*), intent(in), optional :: lowerBoundVar

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

Initialize diffusion 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 initDiffusionStencilDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, calcRule, doNotInterpolateD)

Initialize diffusion 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
type(CalculationRule), intent(in), optional :: calcRule
logical, intent(in), optional :: doNotInterpolateD

module subroutine initCustomFluid1DStencil(stencilTemplateObj, envObj, jsonPrefix)

Initialize custom fluid 1D 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

module subroutine initCustomFluid1DStencilDirect(stencilTemplateObj, envObj, xStencil, columnVecs, varContColVarNames, mbColVarNames)

Initialize custom fluid 1D stencil template based on direct inputs

Arguments

Type IntentOptional Attributes Name
type(StencilTemplate), intent(inout) :: stencilTemplateObj
type(EnvironmentWrapper), intent(inout) :: envObj
integer(kind=ik), intent(in), dimension(:) :: xStencil
type(RealArray), intent(in), dimension(:) :: columnVecs
type(StringArray), intent(in), dimension(:) :: varContColVarNames
type(StringArray), intent(in), dimension(:) :: mbColVarNames