fluid_stencil_templates Module

Contains stencil template generation for use in custom model construction


Used by


Interfaces

interface

  • public 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

interface

  • public module subroutine initDiagonalStencilTemplate(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

interface

  • public 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

interface

  • public 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

interface

  • public 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

interface

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

    Initialize staggered difference 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

interface

  • public module subroutine initStaggeredDifferenceTemplateDirect(stencilTemplateObj, envObj, evolvedVar, implicitVar, ignoreJacobian)

    Initialize staggered difference 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

interface

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

    Initialize upwinding difference 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

interface

  • public 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

interface

  • public 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

interface

  • public 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

interface

  • public 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

interface

  • public 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

interface

  • public 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

interface

  • public 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