Module for setting up MPI partition and data exchange
A function to calculate the modulo of two integers na and nb
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer | :: | na | ||||
| integer | :: | nb |
Partitions the 2D domain for parallel processing and calculates offsets and sizes for each partition the ID of partion along 2 directions -1 proc in x-direction +1 proc in x-direction if not periodic, 0 node donot send mesg to npx0-1 node if not periodic, npx0-1 node donot send mesg to 0 node
Exchanges data in the x direction, ONLY for the default (finest) grid system
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:nx+LAP,1-LAP:ny+LAP) |
Exchanges data in the y direction, ONLY for the default (finest) grid system no2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:nx+LAP,1-LAP:ny+LAP) |
Exchanges data first in the x direction and then y direction, ONLY for the default (finest) grid system
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:nx+LAP,1-LAP:ny+LAP) |
Exchanges data in the x direction, for a specified-size grid system no2 no2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |
Exchanges data in the y direction, for a specified-size grid system no2 no2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |
Exchanges data first in the x direction and then y direction, for a specified-size grid system
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |
Exchanges REAL data in the x direction, for a specified-size grid system no2 no2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |
Exchanges REAL data in the y direction, for a specified-size grid system no2 no2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |
Exchanges REAL data first in the x direction and then y direction, for a specified-size grid system
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=realdp) | :: | f(1-LAP:ni+LAP,1-LAP:nj+LAP) | ||||
| integer, | intent(in) | :: | ni | |||
| integer, | intent(in) | :: | nj |