stencil_procedures Submodule

Contains module procedures associated with the stencil class


Uses


Module Functions

pure module function mapCoords(this, gridObj, inputArray) result(output)

Stencil coordinate mapping routine

Arguments

Type IntentOptional Attributes Name
class(Stencil), intent(in) :: this
type(Grid), intent(in) :: gridObj

Grid used to construct the mapping

integer(kind=ik), intent(in), dimension(:) :: inputArray

Input array of coordinates (size 1 - [x], or size 3 [x,h,v])

Return Value type(IntArray), allocatable, dimension(:)


Module Subroutines

pure module subroutine initStencil(this, xStencil, vStencil, hStencil, mapToDist, xPeriodic, vStencilFixed)

Stencil object initialization routine

Arguments

Type IntentOptional Attributes Name
class(Stencil), intent(inout) :: this
integer(kind=ik), intent(in), optional, dimension(:) :: xStencil

Stencil in x-direction

integer(kind=ik), intent(in), optional, dimension(:) :: vStencil

Stencil in v-direction

integer(kind=ik), intent(in), optional, dimension(:) :: hStencil

l harmonic stencil

logical, intent(in), optional :: mapToDist

Set to true if stencil maps to harmonic/velocity space

logical, intent(in), optional :: xPeriodic

Set to true if x-grid is periodic

type(IntArray), intent(in), optional, dimension(:) :: vStencilFixed

Optional fixed vStencil