initDiffusionStencilGen Interface

interface
private module subroutine initDiffusionStencilGen(this, partitionObj, procRank, innerJ, outerJ, linInterp, xPeriodic, diffCoeffDerivRule, xHaloWidth, doNotInterpolateD)

Arguments

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

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

Linear interpolation coefficients to right cell faces (should be size(xGrid)+1)

logical, intent(in), optional :: xPeriodic

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

type(CalculationRule), intent(in), optional :: diffCoeffDerivRule

Rule for deriving the optional diffusion coefficient

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

Halo width in the x direction. Defaults to 1 and must always be >0

logical, intent(in), optional :: doNotInterpolateD

Assume the diffusion coefficient is already calcuated at cell boundaries. Defaults to False.

Description

Diffusion stencil value generator initialization routine