d2dv2_derivation_procedures Submodule

Contains module procedures associated with the d2dv2 derivation class


Uses


Module Functions

module function calculateD2DV2(this, inputArray, indices) result(output)

Arguments

Type IntentOptional Attributes Name
class(D2DV2Derivation), intent(inout) :: this
type(RealArray), intent(in), dimension(:) :: inputArray
integer(kind=ik), intent(in), dimension(:) :: indices

Return Value real(kind=rk), allocatable, dimension(:)


Module Subroutines

module subroutine initD2DV2Derivation(this, vSpaceObj, outerV, innerV, vidfdvAtZero, targetH)

Initialize second order velocity derivative derivation

Arguments

Type IntentOptional Attributes Name
class(D2DV2Derivation), intent(inout) :: this
type(VSpace), intent(in) :: vSpaceObj
type(RealArray), intent(in), optional, dimension(:) :: outerV

Outer velocity vector corresponding to cell centres for each included harmonic. Defaults to ones.

type(RealArray), intent(in), optional, dimension(:) :: innerV

Inner velocity vector corresponding to right cell boundaries for each included harmonic. Defaults to ones.

type(RealArray), intent(in), optional, dimension(:) :: vidfdvAtZero

Extrapolation of v_idf/dv at zero in the form A1f(v1)+A2*f(v2) where A's correspond to included harmonics (default = 0)

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

Harmonic to take derivative of. If not present will return full distribution.