VTK
9.4.20250129
|
Internal class for vtkHyperTreeGridGhostCellsGenerator. More...
#include <vtkHyperTreeGridGhostCellsGeneratorInternals.h>
Classes | |
struct | CellDataArray |
Public Types | |
using | CellDataAttributes = std::map< std::string, CellDataArray > |
Public Member Functions | |
vtkHyperTreeGridGhostCellsGeneratorInternals (vtkHyperTreeGridGhostCellsGenerator *self, vtkMultiProcessController *controller, vtkHyperTreeGrid *inputHTG, vtkHyperTreeGrid *outputHTG) | |
void | InitializeCellData () |
Initilize the internal cell data implicit array handler, with the cell arrays as the first entries of as many implicit composite arrays. | |
void | BroadcastTreeLocations () |
Subroutine performing an MPI AllReduce operation, filling the vector HyperTreesMapToProcesses where HyperTreesMapToProcesses[i] is the rank of the process where the root tree indexed i is located. | |
void | DetermineNeighbors () |
Compute the index of neighboring trees and record those that belong to other processes and should be sent to become ghost cells. | |
int | ExchangeSizes () |
Exchange the number of ghost cells to be sent between ranks. | |
int | ExchangeTreeDecomposition () |
Routine to send and receive tree decomposition, and mask values if present for each tree. | |
int | ExchangeCellData () |
Exchange cell data information with the other process to fill in values for ghost cells. | |
void | FinalizeCellData () |
ProcessTrees subroutine creating the output ghost array and adding it to the output HTG. | |
Internal class for vtkHyperTreeGridGhostCellsGenerator.
This class provides processing subroutines for vtkHyperTreeGridGhostCellsGenerator. It keeps an internal state shared across routines called sequentially.
It should be instanciated by the ProcessTrees method of vtkHyperTreeGridGhostCellsGenerator, after the output HTG has been copied from the input.
Definition at line 35 of file vtkHyperTreeGridGhostCellsGeneratorInternals.h.
using vtkHyperTreeGridGhostCellsGeneratorInternals::CellDataAttributes = std::map<std::string, CellDataArray> |
Definition at line 155 of file vtkHyperTreeGridGhostCellsGeneratorInternals.h.
vtkHyperTreeGridGhostCellsGeneratorInternals::vtkHyperTreeGridGhostCellsGeneratorInternals | ( | vtkHyperTreeGridGhostCellsGenerator * | self, |
vtkMultiProcessController * | controller, | ||
vtkHyperTreeGrid * | inputHTG, | ||
vtkHyperTreeGrid * | outputHTG | ||
) |
self | reference to the GCG object, used for debug and error prints |
controller | reference to the MPI controller used for parallel operations |
inputHTG | reference to the input HyperTreeGrid |
outputHTG | reference to the output HyperTreeGrid |
void vtkHyperTreeGridGhostCellsGeneratorInternals::InitializeCellData | ( | ) |
Initilize the internal cell data implicit array handler, with the cell arrays as the first entries of as many implicit composite arrays.
void vtkHyperTreeGridGhostCellsGeneratorInternals::BroadcastTreeLocations | ( | ) |
Subroutine performing an MPI AllReduce operation, filling the vector HyperTreesMapToProcesses where HyperTreesMapToProcesses[i]
is the rank of the process where the root tree indexed i
is located.
void vtkHyperTreeGridGhostCellsGeneratorInternals::DetermineNeighbors | ( | ) |
Compute the index of neighboring trees and record those that belong to other processes and should be sent to become ghost cells.
int vtkHyperTreeGridGhostCellsGeneratorInternals::ExchangeSizes | ( | ) |
Exchange the number of ghost cells to be sent between ranks.
Send an array to every other processes containing the number of cells in each tree to be sent. Return 1 if the operation was successful, 0 otherwise.
int vtkHyperTreeGridGhostCellsGeneratorInternals::ExchangeTreeDecomposition | ( | ) |
Routine to send and receive tree decomposition, and mask values if present for each tree.
Return 1 if the operation was successful, 0 otherwise
int vtkHyperTreeGridGhostCellsGeneratorInternals::ExchangeCellData | ( | ) |
Exchange cell data information with the other process to fill in values for ghost cells.
Return 1 if the operation was successful, 0 otherwise
void vtkHyperTreeGridGhostCellsGeneratorInternals::FinalizeCellData | ( | ) |
ProcessTrees subroutine creating the output ghost array and adding it to the output HTG.