geometry_procedures Submodule

Contains module procedures associated with the geometry class


Uses


Module Functions

pure module function getCellWidths(this, dualGrid, extendedBoundaryCells) result(dx)

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)

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this
logical, intent(in), optional :: dualGrid
logical, intent(in), optional :: extendedBoundaryCells

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

pure module function getJacobianLeft(this, dualGrid) result(jLeft)

Getter for jacobianLeft, if dualGrid is true returns dual grid values

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this
logical, intent(in), optional :: dualGrid

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

pure module function getJacobianRight(this, dualGrid, extendedBoundaryCells) result(jRight)

Getter for jacobianRight, if dualGrid is true returns dual grid values

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this
logical, intent(in), optional :: dualGrid
logical, intent(in), optional :: extendedBoundaryCells

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

pure module function getJacobianCentre(this, dualGrid, extendedBoundaryCells) result(jCentre)

Getter for jacobianCentre, if dualGrid is true returns dual grid values

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this
logical, intent(in), optional :: dualGrid
logical, intent(in), optional :: extendedBoundaryCells

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

pure module function getLinInterp(this, dualGrid) result(linInterp)

Getter for linInterp, if dualGrid is true returns dual grid values (0.5 everywhere)

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this
logical, intent(in), optional :: dualGrid

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

pure module function isPeriodic(this) result(periodic)

Getter for periodicGrid

Arguments

Type IntentOptional Attributes Name
class(Geometry), intent(in) :: this

Return Value logical


Module Subroutines

pure module subroutine initGeometry(this, cellWidths, jLeft, jRight, periodicGrid)

Geometry initialization routine

Arguments

Type IntentOptional 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