
Houses derivation object that returns values proportional to centrally differenced gradient of given variable
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CentralDiffDerivation), | intent(inout) | :: | this | |||
| type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
| integer(kind=ik), | intent(in), | dimension(:) | :: | indices |
Initialize central difference derivation object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CentralDiffDerivation), | intent(inout) | :: | this | |||
| type(Geometry), | intent(in) | :: | refGeometry |
Geometry object used to calculate central difference |
||
| type(Partition), | intent(in) | :: | refPartition |
Partition object used to calculate central difference |
||
| integer(kind=ik), | intent(in) | :: | procRank |
Current processor rank |
||
| real(kind=rk), | intent(in), | optional, | dimension(:) | :: | varPowers |
Optional fluid variable powers |
| real(kind=rk), | intent(in), | optional | :: | multConst |
Optional multiplicative constant - default 1 |
Returns equal to the central difference of the first passed (fluid) variable, optionally multiplied by a constant and product of fluid variables raised to corresponding powers
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| real(kind=rk), | private, | allocatable, dimension(:) | :: | varPowers |
Powers corresponding to each fluid variable - indices in calculate must conform to size of this + 1 |
||
| real(kind=rk), | private | :: | multConst |
Multiplicative constant - default 1 |
|||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | leftMult | |||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | centralMult | |||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | rightMult |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: init => initCentralDiffDeriv | |
| procedure, public :: calculate => calculateCentralDiffDeriv |