VTK
|
#include <vtkPUnstructuredGridConnectivity.h>
vtkPUnstructuredGridConnectivity implements functionality for generating ghost zones for a distributed unstructured grid. Generating ghost zones is implemented in two stages. First, we build the ghost zones, which amounts to building the connectivity of the ghosted grid and communication links, and second, we update the ghost zones by communicating the fields on the ghost cells and nodes. The main steps involved in this process are as follows:
Definition at line 94 of file vtkPUnstructuredGridConnectivity.h.
Reimplemented from vtkObject.
Definition at line 99 of file vtkPUnstructuredGridConnectivity.h.
virtual vtkPUnstructuredGridConnectivity::~vtkPUnstructuredGridConnectivity | ( | ) | [protected, virtual] |
static vtkPUnstructuredGridConnectivity* vtkPUnstructuredGridConnectivity::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
static int vtkPUnstructuredGridConnectivity::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
virtual int vtkPUnstructuredGridConnectivity::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
static vtkPUnstructuredGridConnectivity* vtkPUnstructuredGridConnectivity::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkObject.
virtual vtkObjectBase* vtkPUnstructuredGridConnectivity::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkObject.
Reimplemented from vtkObject.
void vtkPUnstructuredGridConnectivity::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
virtual void vtkPUnstructuredGridConnectivity::SetController | ( | vtkMPIController * | ) | [virtual] |
Set/Get the underlying MPI controller used for communication.
virtual vtkMPIController* vtkPUnstructuredGridConnectivity::GetController | ( | ) | [virtual] |
Set/Get the underlying MPI controller used for communication.
virtual void vtkPUnstructuredGridConnectivity::SetGlobalIDFieldName | ( | const char * | ) | [virtual] |
Set/Get the name of the GlobalID field. By default, "GlobalID" is assumed.
virtual char* vtkPUnstructuredGridConnectivity::GetGlobalIDFieldName | ( | ) | [virtual] |
Set/Get the name of the GlobalID field. By default, "GlobalID" is assumed.
virtual vtkUnstructuredGrid* vtkPUnstructuredGridConnectivity::GetGhostedGrid | ( | ) | [virtual] |
Returns the ghosted grid.
void vtkPUnstructuredGridConnectivity::RegisterGrid | ( | vtkUnstructuredGrid * | gridPtr | ) |
Registers the grid in this process
Builds the ghost-zone connectivity. This method sets up the necessary communication lists for updating the ghost zones. NOTE: the local grid, must be registered, by calling RegisterGrid(), prior to calling this method.
Exchanges ghost zone data (i.e., node-centered or cell-centered fields). NOTE: This method must be called after BuildGhostZoneConnectivity.
void vtkPUnstructuredGridConnectivity::FillGhostZoneCells | ( | const int | neiRank, |
vtkCellData * | ghostData, | ||
vtkIdType * | cellIdx, | ||
const unsigned int | numGhostCells | ||
) | [protected] |
Given the deserialized cell-centered ghost data from the given neighboring rank, this method fills in the cell-centered fields of the ghost zone.
void vtkPUnstructuredGridConnectivity::FillGhostZoneNodes | ( | const int | neiRank, |
vtkPointData * | ghostData, | ||
vtkIdType * | globalIdx, | ||
const unsigned int | numGhostNodes | ||
) | [protected] |
Given the deserialized node-centered ghost data from the given neighboring rank, this method fills in the node-centered fields of the ghost zone.
void vtkPUnstructuredGridConnectivity::DeSerializeGhostZones | ( | ) | [protected] |
Deserializes the raw buffers received from each neighboring rank and updates the ghosted grid instance by filling in the values for the ghost zones.
void vtkPUnstructuredGridConnectivity::CreatePersistentRcvBuffers | ( | ) | [protected] |
This method exchanges the buffer sizes among neighboring processes and allocates a persistent buffer for the communication. This exchange and memory allocation happens only the first time the data is exchanged
void vtkPUnstructuredGridConnectivity::SerializeGhostZones | ( | ) | [protected] |
This method serializes the local data (node-centered and/or cell-centered) for each rank that this process/grid communicates with.
void vtkPUnstructuredGridConnectivity::SynchLocalData | ( | ) | [protected] |
Synchs the data on the input grid in this process to the ghosted grid instance.
void vtkPUnstructuredGridConnectivity::EnqueueNodeLinks | ( | const int | rmtRank, |
const vtkIdType | ghostCell, | ||
const vtkIdType | adjCell, | ||
vtkIdList * | shared | ||
) | [protected] |
Loops through the nodes of the ghost cell and the local adjacent cell and determines what
bool vtkPUnstructuredGridConnectivity::IsCellConnected | ( | vtkCell * | c, |
vtkIdType * | globalId, | ||
const vtkIdType | N, | ||
vtkIdType & | adjCell, | ||
vtkIdList * | sharedIds | ||
) | [protected] |
Given the cell, c, this method checks if it is connected to the grid assigned to this process. The method will return -1, if the cell is not connected. If the cell is connected, adjCell will hold the cell index of the cell w.r.t. the input grid that the ghost cell is face-adjacent to as well as the shared global Ids of the face between the ghost and the face-adjacent, boundary cell.
void vtkPUnstructuredGridConnectivity::InsertGhostCellNodes | ( | vtkCell * | ghostCell, |
vtkIdTypeArray * | ghostGridGlobalIdx, | ||
vtkIdType * | globalIdArray, | ||
vtkUnstructuredGrid * | bGrid, | ||
vtkIdType * | cellPts | ||
) | [protected] |
Inserts the ghost cell nodes in to the ghosted instance of the grid.
void vtkPUnstructuredGridConnectivity::ProcessRemoteGrid | ( | const int | rmtRank, |
vtkUnstructuredGrid * | bGrid | ||
) | [protected] |
Process the remote boundary grid and injects cells in to the ghosted grid if a match is found.
void vtkPUnstructuredGridConnectivity::BuildGhostedGridAndCommLists | ( | ) | [protected] |
Builds the ghosted grid and communication lists
void vtkPUnstructuredGridConnectivity::SerializeUnstructuredGrid | ( | vtkUnstructuredGrid * | g, |
vtkMultiProcessStream & | bytestream | ||
) | [protected] |
Serializes the unstructured grid into a bytestream.
void vtkPUnstructuredGridConnectivity::DeSerializeUnstructuredGrid | ( | vtkUnstructuredGrid * | g, |
vtkMultiProcessStream & | bytestream | ||
) | [protected] |
De-serializes the unstructured grid from the given bytestream.
void vtkPUnstructuredGridConnectivity::WriteUnstructuredGrid | ( | vtkUnstructuredGrid * | grid, |
const char * | fileName | ||
) | [protected] |
Writes the given unstructured grid to an ASCII file. NOTE: Used for debugging.
void vtkPUnstructuredGridConnectivity::ExtractSurfaceMesh | ( | ) | [protected] |
Loops through the auxiliary FaceList, constructed in MarkFaces, and extracts the faces and nodes on the boundary.
void vtkPUnstructuredGridConnectivity::MarkFaces | ( | ) | [protected] |
Loops through the input grid cell faces and updates the auxiliary data-structures to associates a count with each face.
void vtkPUnstructuredGridConnectivity::ExtractBoundaryCell | ( | const vtkIdType | cellIdx, |
const vtkIdType | numCellNodes, | ||
vtkIdType * | cellNodes, | ||
vtkPoints * | nodes, | ||
vtkIdTypeArray * | localIdx, | ||
vtkIdTypeArray * | globaIdx | ||
) | [protected] |
Extracts the boundary cell from the input grid and inserts it in to the boundary grid.
bool vtkPUnstructuredGridConnectivity::IsCellOnBoundary | ( | vtkIdType * | cellNodes, |
vtkIdType | N | ||
) | [protected] |
Checks if the cell, composed by the supplied nodes, is on the boundary. A cell is on the boundary iff any of its nodes touch the boundary.
void vtkPUnstructuredGridConnectivity::ExchangeBoundaryGrids | ( | ) | [protected] |
Exchanged the boundary grids among candidate ranks.
void vtkPUnstructuredGridConnectivity::ExchangeBoundaryGridSizes | ( | int | size | ) | [protected] |
Exchange boundary grid sizes
void vtkPUnstructuredGridConnectivity::BoundingBoxCollision | ( | ) | [protected] |
Collides the bounds of this process with the bounding boxes of all other processes. The processes whose bounding boxes intersect yield the list of candidate ranks with which boundary grids will be exchanged.
void vtkPUnstructuredGridConnectivity::ExchangeGridBounds | ( | ) | [protected] |
Exchanges the grid bounds of this process with all other processes. Upon completion, each process will have the global grid bounds of every process.
void vtkPUnstructuredGridConnectivity::ExtractBoundaryGrid | ( | ) | [protected] |
Extracts the boundary grid geometry from the input grid. Note: this method only extract the mesh and global/local ID information.
char* vtkPUnstructuredGridConnectivity::GlobalIDFieldName [protected] |
Definition at line 138 of file vtkPUnstructuredGridConnectivity.h.
Definition at line 139 of file vtkPUnstructuredGridConnectivity.h.
Definition at line 140 of file vtkPUnstructuredGridConnectivity.h.
Definition at line 141 of file vtkPUnstructuredGridConnectivity.h.
vtk::details::GridInfo* vtkPUnstructuredGridConnectivity::AuxiliaryData [protected] |
Definition at line 144 of file vtkPUnstructuredGridConnectivity.h.
vtk::details::CommunicationLinks* vtkPUnstructuredGridConnectivity::CommLists [protected] |
Definition at line 145 of file vtkPUnstructuredGridConnectivity.h.