| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | nLiveDecomps | = | 0 | ||
| logical, | private | :: | selfInitializedMpi | = | .false. |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | pointer, dimension(:) | :: | elemToRank | |||
| logical, | public | :: | initialized | = | .false. | ||
| integer, | public | :: | maxMsg | ||||
| integer, | public | :: | mpiComm | = | MPI_COMM_NULL | ||
| logical, | public | :: | mpiEnabled | = | .false. | ||
| integer, | public | :: | mpiPrec | ||||
| integer, | public | :: | msgCount | ||||
| integer, | public | :: | nElem | ||||
| integer, | public | :: | nRanks | ||||
| integer, | public, | pointer, dimension(:) | :: | offSetElem | |||
| logical, | public | :: | ownsMpi | = | .false. | ||
| integer, | public | :: | rankId | ||||
| integer, | public, | allocatable | :: | requests(:) | |||
| integer, | public, | allocatable | :: | stats(:,:) |
| procedure, public :: FinalizeMPIExchangeAsync | |
| procedure, public :: Free => Free_DomainDecomposition_t | |
| procedure, public :: GenerateDecomposition => GenerateDecomposition_DomainDecomposition_t | |
| procedure, public :: Init => Init_DomainDecomposition_t | |
| procedure, public :: SetElemToRank => SetElemToRank_DomainDecomposition_t |
Resolve the communicator a new decomposition will run on and register it with the process-wide lifecycle bookkeeping.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out) | :: | mpiComm | |||
| logical, | intent(out) | :: | ownsMpi | |||
| integer, | intent(in), | optional | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nElems | |||
| integer, | intent(in) | :: | nDomains | |||
| integer, | intent(out) | :: | offsetElem(0:nDomains) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nDomains | |||
| integer, | intent(in) | :: | offsetElem(0:nDomains) | |||
| integer, | intent(in) | :: | elemID | |||
| integer, | intent(out) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DomainDecomposition_t), | intent(inout) | :: | mpiHandler |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DomainDecomposition_t), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DomainDecomposition_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | nGlobalElem | |||
| integer, | intent(in) | :: | maxMsg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DomainDecomposition_t), | intent(inout) | :: | this | |||
| integer, | intent(in), | optional | :: | comm |
Retire one decomposition from the process-wide lifecycle bookkeeping and, if it was the last one and SELF initialized MPI, finalize.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(inout) | :: | ownsMpi | |||
| integer, | intent(in) | :: | rankId | |||
| integer, | intent(in) | :: | nRanks |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DomainDecomposition_t), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | nElem |