Geometry object storing spatial cell widths, cell face and cell centre jacobians, as well as linear interpolation coefficients
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private, | allocatable, dimension(:) | :: | cellWidths |
x cell widths |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | jacobianLeft |
Jacobian of left cell faces |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | jacobianRight |
Jacobian of right cell faces |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | jacobianCentre |
Jacobian at cell centre (avg of faces) |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | linInterp |
Linear interpolation coefficient for inner faces |
||
logical, | private | :: | periodicGrid |
Getter for userDefined
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(in) | :: | this |
Set userDefined to .true.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Getter for cellWidths, if dualGrid is true returns dual grid values based off of cellWidths. If extendedBoundaryCells is true will extend dual grid cells at boundaries to the boundaries themselves if not periodic (defaults to true)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | dualGrid | ||
logical, | intent(in), | optional | :: | extendedBoundaryCells |
Getter for jacobianLeft, if dualGrid is true returns dual grid values
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | dualGrid |
Getter for jacobianRight, if dualGrid is true returns dual grid values
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | dualGrid | ||
logical, | intent(in), | optional | :: | extendedBoundaryCells |
Getter for jacobianCentre, if dualGrid is true returns dual grid values
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | dualGrid | ||
logical, | intent(in), | optional | :: | extendedBoundaryCells |
Getter for periodicGrid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this |
Getter for linInterp, if dualGrid is true returns dual grid values (0.5 everywhere)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(in) | :: | this | |||
logical, | intent(in), | optional | :: | dualGrid |
Geometry initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Geometry), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | cellWidths |
Spatial cell widths |
|
real(kind=rk), | intent(in), | dimension(:) | :: | jLeft |
Left face jacobian values |
|
real(kind=rk), | intent(in), | dimension(:) | :: | jRight |
Right face jacobian values |
|
logical, | intent(in), | optional | :: | periodicGrid |
Set to true if the grid is periodic |