Houses derivation that extrapolates a quantity, optionally applying a lower and/or upper bound to the extrapolated value
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(BoundedExtDerivation), | intent(inout) | :: | this | |||
type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
integer(kind=ik), | intent(in), | dimension(:) | :: | indices |
Initialize bounded extrapolation derivation object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(BoundedExtDerivation), | intent(inout) | :: | this | |||
type(Partition), | intent(in) | :: | partitionObj |
Partition object used to determine local processor grid chunk |
||
integer(kind=ik), | intent(in) | :: | procRank |
Current processor rank |
||
class(Extrapolation), | intent(in) | :: | extrapolationObj |
Extrapolation object used to calculate the extrapolated values |
||
real(kind=rk), | intent(in), | optional | :: | fixedLowerBound |
Optional fixed lower bound value |
|
real(kind=rk), | intent(in), | optional | :: | fixedUpperBound |
Optional fixed upper bound value |
|
logical, | intent(in), | optional | :: | expectLowerBoundVar |
True if lower bound variable is expected. Defaults to false. |
|
logical, | intent(in), | optional | :: | expectUpperBoundVar |
True if lower bound variable is expected. Defaults to false. |
Calculates extrapolated value of a fluid quantity at a boundary cell edge, optionally applying a lower and/or upper bound to the extrapolated value. Accepts scalar variables for lower/upper bounds. Expects 1-3 variables, The first expected variable name is the interpolated variable. The second is the upper bound if no lower bound variable is expected, otherwise it is the lower bound. The third is the upper bound (if expected). Bounds are all expected to have positive values, and this will be ensured by taking their absolute values. If applied to the left boundary, will apply -abs(lowerBound) as upper bound and -abs(upperBound) as lower bound, i.e. the bounds are reflected around 0.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private, | allocatable | :: | fixedLowerBound |
Optional fixed lower bound value. Ignored if lower bound var expected. |
||
real(kind=rk), | private, | allocatable | :: | fixedUpperBound |
Optional fixed upper bound value. Ignored if upper bound var expected. |
||
logical, | private | :: | expectLowerBoundVar |
True if lower bound variable is expected |
|||
logical, | private | :: | expectUpperBoundVar |
True if upper bound variable is expected |
|||
class(Extrapolation), | public, | allocatable | :: | extrapolationObj |
Extrapolation object used to calculate the extrapolated values |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: init => initBExt | |
procedure, public :: calculate => calculateBExt |