public subroutine CPL_gather(gatherarray, npercell, limits, recvarray)
Arguments
Type |
Intent | Optional |
Attributes | | Name | |
real(kind=kind(0.d0)), |
intent(in), |
|
dimension(:,:,:,:) | :: |
gatherarray | |
integer, |
intent(in) |
|
| :: |
npercell | |
integer, |
intent(in) |
|
| :: |
limits(6) | |
real(kind=kind(0.d0)), |
intent(inout), |
|
dimension(:,:,:,:) | :: |
recvarray | |
Description
Perform gather operation on CPL_OLAP_COMM communicator. The CFD processor
is the root process. The gathered data is effectively "slotted" into the
correct part of the recvarray, and is intented for use in providing the
CFD simulation boundary conditions with data obtained from the MD
simulation.
-
Synopsis
- CPL_gather(gatherarray,npercell,limits,recvarray)
-
Input
-
gatherarray
- Assumed shape array of data to be gathered from each MD processor
in the overlap communicator.
-
limits
- Integer array of length 6, specifying the global cell extents of the
region to be gathered, is the same on ALL processors.
-
npercell
- number of data points per cell to be gathered (integer)
Note: should be the same as size(gatherarray(1)) for MD
processor. E.G. npercell = 3 for gathering 3D velocities.
-
Input/Output
- recvarray
- The array in which the gathered values are to be stored on the CFD
processor. The only values to be changed in recvarray are:
recvarray(limits(1):limits(2),limits(3):limits(4),limits(5):limits(6))
-
Output Parameters
@author David Trevelyan
Variables
Type | Visibility |
Attributes | | Name | | Initial | |
integer, |
public |
| :: |
sendcount | | | |
integer, |
public, |
dimension(:), allocatable | :: |
recvcounts | | | |
integer, |
public, |
dimension(:), allocatable | :: |
displs | | | |
real(kind=kind(0.d0)), |
public, |
dimension(:), allocatable | :: |
sendbuf | | | |
real(kind=kind(0.d0)), |
public, |
dimension(:), allocatable | :: |
recvbuf | | | |
Subroutines
subroutine prepare_gatherv_parameters()
Arguments
None
Description
subroutine pack_sendbuf()
Arguments
None
Description
subroutine unpack_recvbuf()
Arguments
None
Description
subroutine deallocate_gather_u()
Arguments
None
Description