c_diff_stencil_gen_procedures Submodule

Contains module procedures associated with the central difference stencil value generator class


Uses


Module Subroutines

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

Central differentiation stencil value generator initialization routine

Arguments

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

If true will remove last row/column if not periodic

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

Calculate central diff stencil values in place (does not depend on varCont)

Arguments

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