term_moment_stencil_gen_procedures Submodule

Contains module procedures associated with the term moment stencil generator class



Module Subroutines

module subroutine initTermMomentGen(this, partitionObj, vspaceObj, procRank, momentOrder, termName, removeLastCell)

Term moment stencil value generator initialization routine

Arguments

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

Partition object used to determine local number of rows

type(VSpace), intent(in) :: vspaceObj

VSpace object used to get interpolation object

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

Current processor rank

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

Order of moment to be taken

character(len=*), intent(in) :: termName

Name of term in host model whose moment should be taken

logical, intent(in), optional :: removeLastCell

Set to true if the row variable is staggered and the grid is not periodic. Defaults to false.

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

Calculate term moment stencil values in place. Requires hostModel.

Arguments

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