Houses Partition object responsible for decomposing the x-h domain
Getter for minX
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Return minX at index ind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Getter for maxX
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Return maxX at index ind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Getter for minH
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Return minH at index ind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Getter for maxH
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Return maxH at index ind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Getter for locX
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Getter for locH
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this |
Return partition index which contains xInd and hInd
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | xInd | |||
integer(kind=ik), | intent(in) | :: | hInd |
Filters coordinate list of shape 1,: or 3,: based on partition data. If normalize is true will shift all values in each dimension to so that the smallest value is 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind | |||
integer(kind=ik), | intent(in), | dimension(:,:) | :: | coords | ||
logical, | intent(in), | optional | :: | normalize |
Partition initialization routine - assuming even distributions in x and h directions
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in) | :: | numProcsX |
Number of processes in x direction |
||
integer(kind=ik), | intent(in) | :: | numProcsH |
Number of processes in h direction |
||
integer(kind=ik), | intent(in) | :: | numX |
Total number of x grid points |
||
integer(kind=ik), | intent(in) | :: | numH |
Total number of h grid points |
Partition initialization routine - general
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Partition), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | dimension(:) | :: | minX |
First x-index in each partition |
|
integer(kind=ik), | intent(in), | dimension(:) | :: | maxX |
Last x-index in each partition |
|
integer(kind=ik), | intent(in), | dimension(:) | :: | minH |
First h-index in each partition |
|
integer(kind=ik), | intent(in), | dimension(:) | :: | maxH |
Last x-index in each partition |
Object responsible for storing the x-h domain decomposition
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
integer(kind=ik), | private, | allocatable, dimension(:) | :: | minX |
First x-index in each partition |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | maxX |
Last x-index in each partition |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | minH |
First h-index in each partition |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | maxH |
Last h-index in each partition |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | locX |
Number of x-grid points for each partition |
||
integer(kind=ik), | private, | allocatable, dimension(:) | :: | locH |
Number of h-grid points for each partition |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: getMinX | |
procedure, public :: getMinXAtInd | |
procedure, public :: getMinH | |
procedure, public :: getMinHAtInd | |
procedure, public :: getMaxX | |
procedure, public :: getMaxXAtInd | |
procedure, public :: getMaxH | |
procedure, public :: getMaxHAtInd | |
procedure, public :: getLocNumX | |
procedure, public :: getLocNumH | |
procedure, public :: findProc | |
procedure, public :: filterCoords | |
procedure, public :: initSimplePartition | |
procedure, public :: init => initPartition |