GridExtantExchange

his functions transfers data between local storage in different domains without a predefined mapping.

Synopsis

#include "grid.h" 
int GridExtantExchange(MPI_Comm comm, int numExtants, int *extantProcs, int *firstExtant, PetscDataType dataType, AO *ordering)

                       int *firstVar, InsertMode addv, ScatterMode mode, void *locVars, void *ghostVars

Input Parameters

numExtants -The number of extants (interior variables) in this domain
extantProcs -The processor to which to send each extant
firstExtant -The first extant variable in each domain

ghostIndices -The global index for each ghost
dataType -The type of the variables
firstVar -The first variable on each processor
addv -The insert mode, INSERT_VALUES or ADD_VALUES
mode -The direction of the transfer, SCATTER_FORWARD or SCATTER_REVERSE
locVars -The local variable array

Output Paramters

firstExtant -The first extant variable in each domain after repartitioning

ghostVars -The ghost variables

Note

The data in ghostVars is assumed contiguous and implicitly indexed by the order of ghostProcs and ghostIndices. The SCATTER_FORWARD mode will take the requested data from locVars and copy it to ghostVars in the order specified by ghostIndices. The SCATTER_REVERSE mode will take data from ghostVars and copy it to locVars.

Keywords

ghost, exchange, grid

See Also

GridGlobalToLocal, GridLocalToGlobal

Level:developer
Location:
src/grid/impls/triangular/2d/grid2d.c
Index of all Grid routines
Table of Contents for all manual pages
Index of all manual pages