uwc_bc_stencil_gen_procedures Submodule

Contains module procedures associated with the flux-like boundary stencil value generator class


Uses


Module Subroutines

module subroutine initUWCBCStencil(this, partitionObj, procRank, innerJ, outerJ, linInterp, extrapolate, interpVarIndex, leftBoundary, lowerBoundVarIndex, fixedLowerBound, linExterp)

Flux-like boundary condition stencil value generator initialization routine

Arguments

Type IntentOptional Attributes Name
class(UWCBCStencilValGenerator), intent(inout) :: this
type(Partition), intent(in) :: partitionObj

Partition object used to determine local number of rows

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

Current processor rank

real(kind=rk), intent(in) :: innerJ

Inner/column jacobian/hodge star at boundary face

real(kind=rk), intent(in) :: outerJ

Outer/row inverse jacobian/hodge star at boundary cell

real(kind=rk), intent(in) :: linInterp

Linear interpolation coefficient at face before boundary

logical, intent(in), optional :: extrapolate

Extrapolate implicit/column variables. Defaults to .false.

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

Variable to optionally interpolate as part of stencil (flux jacobian)

logical, intent(in), optional :: leftBoundary

True if the stencil values are for the left boundary condition

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

Variable index of lower jacobian bound variable

real(kind=rk), intent(in), optional :: fixedLowerBound

A constant lower bound value (ignored if lowerBoundVarIndex is allocated)

real(kind=rk), intent(in), optional :: linExterp

Linear extrapolation coefficient for column variables. Computed from linInterp by default

module subroutine calcUWCBCVals(this, varCont, res, mbData, hostModel)

Calculate flux-like boundary stencil values in place

Arguments

Type IntentOptional Attributes Name
class(UWCBCStencilValGenerator), intent(inout) :: this
type(VariableContainer), intent(in) :: varCont
type(RealArray), intent(inout), allocatable, dimension(:) :: res
class(ModelboundData), intent(in), optional :: mbData
class(ModelSurrogate), intent(in), optional :: hostModel