fb_diff_stencil_gen_procedures Submodule

Contains module procedures associated with the forward/backward difference stencil value generator class


Uses


Module Subroutines

module subroutine initFBValGen(this, partitionObj, procRank, innerJ, outerJ, xPeriodic, backwardsDiff, staggeredGridMode)

Forward/backward differentiation stencil value generator initialization routine

Arguments

Type IntentOptional Attributes Name
class(FBDiffStencilValGenerator), 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), dimension(:) :: innerJ

Inner/column jacobian/hodge star (should conform to x-grid)

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

Outer/row inverse jacobian/hodge star (should conform to x-grid)

logical, intent(in), optional :: xPeriodic

Used to determine if outer processors should have their stencils trimmed. Defaults to .false.

logical, intent(in), optional :: backwardsDiff

If true the difference is backwards. Defaults to .false.

logical, intent(in), optional :: staggeredGridMode

If true will zero out the rightmost contribution to backwards differencing or remove last row for forward differencing

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

Calculate forward/backwards diff stencil values in place (does not depend on varCont)

Arguments

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