VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkStructuredAMRGridConnectivity Class Reference

grid connectivity. More...

#include <vtkStructuredAMRGridConnectivity.h>

Inheritance diagram for vtkStructuredAMRGridConnectivity:
[legend]
Collaboration diagram for vtkStructuredAMRGridConnectivity:
[legend]

Public Types

typedef vtkAbstractGridConnectivity Superclass
 
- Public Types inherited from vtkAbstractGridConnectivity
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkStructuredAMRGridConnectivityNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void Initialize (const unsigned int NumberOfLevels, const unsigned int N, const int RefinementRatio=-1)
 Initializes this instance of vtkStructuredAMRGridConnectivity where N is the total number of grids in the AMR hierarchy. More...
 
void ComputeNeighbors () override
 Computes neighboring information. More...
 
void CreateGhostLayers (const int N=1) override
 Creates ghost layers. More...
 
virtual void RegisterGrid (const int gridIdx, const int level, const int refinementRatio, int extents[6], vtkUnsignedCharArray *nodesGhostArray, vtkUnsignedCharArray *cellGhostArray, vtkPointData *pointData, vtkCellData *cellData, vtkPoints *gridNodes)
 Registers the AMR grid with the given global linear grid ID (starting numbering from 0) and level and refinement ratio. More...
 
virtual void RegisterGrid (const int gridIdx, const int level, int extents[6], vtkUnsignedCharArray *nodesGhostArray, vtkUnsignedCharArray *cellGhostArray, vtkPointData *pointData, vtkCellData *cellData, vtkPoints *gridNodes)
 Registers the AMR grid with the given global linear grid ID (starting numbering from 0) and level. More...
 
int GetNumberOfNeighbors (const int gridID)
 Returns the number of neighbors for the grid corresponding to the given grid ID. More...
 
void GetGhostedExtent (const int gridID, int ext[6])
 Returns the ghost extend for the grid corresponding to the given grid ID. More...
 
vtkStructuredAMRNeighbor GetNeighbor (const int gridID, const int nei)
 Returns the AMR neighbor for the patch with the corresponding grid ID. More...
 
virtual void SetBalancedRefinement (bool)
 Get/Set macro for BalancedRefinement property, default is true. More...
 
virtual bool GetBalancedRefinement ()
 Get/Set macro for BalancedRefinement property, default is true. More...
 
virtual void SetNodeCentered (bool)
 Get/Set macro NodeCentered property which indicates if the data is node-centered or cell-centered. More...
 
virtual bool GetNodeCentered ()
 Get/Set macro NodeCentered property which indicates if the data is node-centered or cell-centered. More...
 
virtual void SetCellCentered (bool)
 Get/Set CellCentered property which indicates if the data is cell-centered By default, cell-centered is set to true. More...
 
virtual bool GetCellCentered ()
 Get/Set CellCentered property which indicates if the data is cell-centered By default, cell-centered is set to true. More...
 
- Public Member Functions inherited from vtkAbstractGridConnectivity
vtkAbstractGridConnectivityNewInstance () const
 
unsigned int GetNumberOfGrids ()
 Returns the total number of grids. More...
 
vtkUnsignedCharArrayGetGhostedPointGhostArray (const int gridID)
 Returns the ghosted points ghost array for the grid associated with the given grid ID. More...
 
vtkUnsignedCharArrayGetGhostedCellGhostArray (const int gridID)
 Returns the ghosted cells ghost array for the grid associated with the given grid ID. More...
 
vtkPointDataGetGhostedGridPointData (const int gridID)
 Returns the ghosted grid point data for the grid associated with the given grid ID. More...
 
vtkCellDataGetGhostedGridCellData (const int gridID)
 Returns the ghosted grid cell data for the grid associated with the given grid ID. More...
 
vtkPointsGetGhostedPoints (const int gridID)
 Returns the ghosted grid points for the grid associated with the given grid ID. More...
 
virtual void SetNumberOfGhostLayers (unsigned int)
 Set/Get the number of ghost layers. More...
 
virtual unsigned int GetNumberOfGhostLayers ()
 Set/Get the number of ghost layers. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkStructuredAMRGridConnectivityNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkStructuredAMRGridConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractGridConnectivity
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractGridConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkStructuredAMRGridConnectivity ()
 
 ~vtkStructuredAMRGridConnectivity () override
 
void SetNumberOfGrids (const unsigned int N) override
 Sets the total number of grids(blocks) in the AMR hierarchy. More...
 
void CreateGhostedMaskArrays (const int gridID)
 Creates the ghosted mask arrays. More...
 
void CreateGhostedExtent (const int gridID, const int N)
 Creates the ghosted extent of the given grid. More...
 
void SetGhostedExtent (const int gridID, int ext[6])
 Sets the ghost extent for the grid corresponding to the given grid ID. More...
 
void GetCoarsenedExtent (const int gridIdx, int fromLevel, int toLevel, int ext[6])
 Gets the coarsened extent for the grid with the given grid index. More...
 
void GetRefinedExtent (const int gridIdx, int fromLevel, int toLevel, int ext[6])
 Gets the refined extent for the grid with the given grid index. More...
 
void RefineExtent (int orient[3], int ndim, int fromLevel, int toLevel, int ext[6])
 Refines the given extent. More...
 
void GetCellRefinedExtent (int orient[3], int ndim, const int i, const int j, const int k, const int fromLevel, const int toLevel, int ext[6])
 Given the global i,j,k index of a cell at a coarse level, fromLevel, this method computes the range of cells on the refined grid. More...
 
void CoarsenExtent (int orient[3], int ndim, int fromLevel, int toLevel, int ext[6])
 Coarsens the given extent. More...
 
void GetGridExtent (const int gridIdx, int ext[6])
 Gets the grid extent for the grid with the given grid ID. More...
 
int GetGridLevel (const int gridIdx)
 Returns the level of the grid with the corresponding grid ID. More...
 
bool LevelExists (const int level)
 Checks if the given level has been registered. More...
 
bool IsNodeInterior (const int i, const int j, const int k, int ext[6])
 Checks if the node is an interior node in the given extent. More...
 
bool IsNodeWithinExtent (const int i, const int j, const int k, int ext[6])
 Checks if the node is within the extent. More...
 
bool IsNodeOnSharedBoundary (const int i, const int j, const int k, const int gridId, int gridExt[6])
 Checks if the node is on a shared boundary. More...
 
bool IsNodeOnBoundaryOfExtent (const int i, const int j, const int k, int ext[6])
 Checks if the node is on the boundary of the given extent. More...
 
void InsertGridAtLevel (const int level, const int gridID)
 Inserts the grid corresponding to the given ID at the prescribed level. More...
 
void ComputeNeighborSendAndRcvExtent (const int gridID, const int N)
 Loops through the neighbors of this grid and computes the send and rcv extents for the N requested ghost layers. More...
 
void ComputeWholeExtent ()
 Computes the whole extent w.r.t. More...
 
void GetWholeExtentAtLevel (const int level, int ext[6])
 Gets the whole extent with respect to the given level. More...
 
void EstablishNeighbors (const int i, const int j)
 Establishes neighboring relationship between grids i,j wheren i,j are global indices. More...
 
void GetNodeOrientation (const int i, const int j, const int k, int gridExt[6], int nodeOrientation[3])
 Computes the node orientation tuple for the given i,j,k node. More...
 
void GetOrientationVector (const int dataDescription, int orient[3], int &ndim)
 Establishes the orientation vector and dimension based on the computed data description. More...
 
bool HasConstantRefinementRatio ()
 Checks if a constant refinement ratio has been specified. More...
 
void SetRefinementRatioAtLevel (const int level, const int r)
 Sets the refinement ratio at the given level. More...
 
int GetRefinementRatioAtLevel (const int level)
 Returns the refinement ratio at the given level. More...
 
bool AreExtentsEqual (int ext1[6], int ext2[6])
 Checks if the extent ext1 and ext2 are equal. More...
 
void SetBlockTopology (const int gridID)
 Constructs the block topology for the given grid. More...
 
int GetNumberOfConnectingBlockFaces (const int gridID)
 Returns the number of faces of the block corresponding to the given grid ID that are adjacent to at least one other block. More...
 
void RemoveBlockConnection (const int gridID, const int blockDirection)
 Removes a block connection along the given direction for the block corresponding to the given gridID. More...
 
void AddBlockConnection (const int gridID, const int blockDirection)
 Adds a block connection along the given direction for the block corresponding to the given gridID. More...
 
void ClearBlockConnections (const int gridID)
 Clears all block connections for the block corresponding to the given grid ID. More...
 
virtual void MarkNodeProperty (const int gridId, const int i, const int j, const int k, int gridExt[6], int wholeExt[6], unsigned char &p)
 Marks the ghost property for the given node. More...
 
virtual void FillNodesGhostArray (const int gridId, vtkUnsignedCharArray *nodesArray)
 Fills the node ghost arrays for the given grid. More...
 
virtual void FillCellsGhostArray (const int gridId, vtkUnsignedCharArray *cellArray)
 Fills the cell ghost arrays for the given grid. More...
 
void FillGhostArrays (const int gridId, vtkUnsignedCharArray *nodesArray, vtkUnsignedCharArray *cellsArray) override
 Fills ghost arrays. More...
 
vtkStructuredAMRNeighbor GetAMRNeighbor (const int i, const int iLevel, int next1[6], const int j, const int jLevel, int next2[6], const int normalizedLevel, const int levelDiff, vtkStructuredNeighbor &nei)
 Compute the AMR neighbor of grid "i" and its neighbor grid "j". More...
 
void ComputeAMRNeighborOverlapExtents (const int iLevel, const int jLevel, const int normalizedLevel, const vtkStructuredNeighbor &nei, int orient[3], int ndim, int gridOverlapExtent[6], int neiOverlapExtent[6])
 A Helper method to compute the AMR neighbor overlap extents. More...
 
int Get1DOrientation (const int idx, const int ExtentLo, const int ExtentHi, const int OnLo, const int OnHi, const int NotOnBoundary)
 Get 1-D orientation. More...
 
void PrintExtent (std::ostream &os, int ext[6])
 Prints the extent. More...
 
void InitializeGhostData (const int gridID)
 Initializes the ghost data-structures. More...
 
void TransferRegisteredDataToGhostedData (const int gridID)
 Transfers the data of the registered grid, to the ghosted data-structures. More...
 
void TransferLocalNodeCenteredNeighborData (const int gridID, vtkStructuredAMRNeighbor &nei)
 Transfers local node-centered neighbor data. More...
 
void GetLocalCellCentersFromCoarserLevel (const int gridID, vtkStructuredAMRNeighbor &nei)
 Copy cell center value from a coarser level by direct-injection, i.e., the values within the coarse cell is assumed to be constant. More...
 
void GetLocalCellCentersFromFinerLevel (const int gridID, vtkStructuredAMRNeighbor &nei)
 Copy cell center values from a finer level by cell averaging. More...
 
void GetLocalCellCentersAtSameLevel (const int gridID, vtkStructuredAMRNeighbor &nei)
 Copy cell center values to fill in the ghost levels from a neighbor at the same level as the grid corresponding to the given grid ID. More...
 
void TransferLocalCellCenteredNeighborData (const int gridID, vtkStructuredAMRNeighbor &nei)
 Transfers local cell-centered neighbor data. More...
 
void TransferLocalNeighborData (const int gridID, vtkStructuredAMRNeighbor &nei)
 Transfers local neighbor data. More...
 
virtual void TransferGhostDataFromNeighbors (const int gridID)
 Fills in the ghost data from the neighbors. More...
 
void AverageFieldData (vtkFieldData *source, vtkIdType *sourceIds, const int N, vtkFieldData *target, vtkIdType targetIdx)
 Loops through all arrays and computes the average of the supplied source indices and stores the corresponding average. More...
 
void CopyFieldData (vtkFieldData *source, vtkIdType sourceIdx, vtkFieldData *target, vtkIdType targetIdx)
 Loops through all arrays in the source and for each array, it copies the tuples from sourceIdx to the target at targetIdx. More...
 
bool HasBlockConnection (const int gridID, const int blockDirection)
 Checks if the block corresponding to the given grid ID has a block adjacent to it in the given block direction. More...
 
- Protected Member Functions inherited from vtkAbstractGridConnectivity
 vtkAbstractGridConnectivity ()
 
 ~vtkAbstractGridConnectivity () override
 
void RegisterGridGhostArrays (const int gridID, vtkUnsignedCharArray *nodesArray, vtkUnsignedCharArray *cellsArray)
 Registers the ghostarrays for the given grid. More...
 
void RegisterFieldData (const int gridID, vtkPointData *PointData, vtkCellData *CellData)
 Registers the grid's field data, i.e., the node and cell data. More...
 
void RegisterGridNodes (const int gridID, vtkPoints *nodes)
 Registers the grid nodes for the grid associated with the given gridID. More...
 
void AllocateUserRegisterDataStructures ()
 Allocate/De-allocate the data-structures where the user-supplied grids will be registered. More...
 
void DeAllocateUserRegisterDataStructures ()
 Allocate/De-allocate the data-structures where the user-supplied grids will be registered. More...
 
void AllocateInternalDataStructures ()
 Allocated/De-allocate the data-structures where the ghosted grid data will be stored. More...
 
void DeAllocateInternalDataStructures ()
 Allocated/De-allocate the data-structures where the ghosted grid data will be stored. More...
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

unsigned int NumberOfLevels
 
int DataDimension
 
int DataDescription
 
int WholeExtent [6]
 
int MaxLevel
 
int RefinementRatio
 
bool NodeCentered
 
bool CellCentered
 
bool BalancedRefinement
 
std::map< int, std::set< int > > AMRHierarchy
 
std::vector< intGridExtents
 
std::vector< intGhostedExtents
 
std::vector< unsigned char > BlockTopology
 
std::vector< intGridLevels
 
std::vector< std::vector< vtkStructuredAMRNeighbor > > Neighbors
 
std::vector< std::vector< int > > CellCenteredDonorLevel
 
std::vector< intRefinementRatios
 
- Protected Attributes inherited from vtkAbstractGridConnectivity
unsigned int NumberOfGrids
 
unsigned int NumberOfGhostLayers
 
std::vector< vtkUnsignedCharArray * > GridPointGhostArrays
 
std::vector< vtkUnsignedCharArray * > GridCellGhostArrays
 
std::vector< vtkPointData * > GridPointData
 
std::vector< vtkCellData * > GridCellData
 
std::vector< vtkPoints * > GridPoints
 
bool AllocatedGhostDataStructures
 
std::vector< vtkPointData * > GhostedGridPointData
 
std::vector< vtkCellData * > GhostedGridCellData
 
std::vector< vtkUnsignedCharArray * > GhostedPointGhostArray
 
std::vector< vtkUnsignedCharArray * > GhostedCellGhostArray
 
std::vector< vtkPoints * > GhostedGridPoints
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

grid connectivity.

A concrete instance of vtkAbstractGridConnectivity that implements functionality for computing the neighboring topology within a structured AMR grid, as well as, generating ghost-layers. Support is provided for 1-D, 2-D (XY,XZ,YZ) and 3-D cell-centered datasets. This implementation does not have any support for distributed data. For the parallel implementation see vtkPStructuredAMRGridConnectivity.

See also
vtkPStructuredAMRGridConnectivity vtkAbstractGridConnectivity
Tests:
vtkStructuredAMRGridConnectivity (Tests)

Definition at line 49 of file vtkStructuredAMRGridConnectivity.h.

Member Typedef Documentation

Definition at line 54 of file vtkStructuredAMRGridConnectivity.h.

Constructor & Destructor Documentation

vtkStructuredAMRGridConnectivity::vtkStructuredAMRGridConnectivity ( )
protected
vtkStructuredAMRGridConnectivity::~vtkStructuredAMRGridConnectivity ( )
overrideprotected

Member Function Documentation

static vtkStructuredAMRGridConnectivity* vtkStructuredAMRGridConnectivity::New ( )
static
static vtkTypeBool vtkStructuredAMRGridConnectivity::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool vtkStructuredAMRGridConnectivity::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 vtkAbstractGridConnectivity.

static vtkStructuredAMRGridConnectivity* vtkStructuredAMRGridConnectivity::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkStructuredAMRGridConnectivity::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkAbstractGridConnectivity.

vtkStructuredAMRGridConnectivity* vtkStructuredAMRGridConnectivity::NewInstance ( ) const
void vtkStructuredAMRGridConnectivity::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractGridConnectivity.

void vtkStructuredAMRGridConnectivity::Initialize ( const unsigned int  NumberOfLevels,
const unsigned int  N,
const int  RefinementRatio = -1 
)

Initializes this instance of vtkStructuredAMRGridConnectivity where N is the total number of grids in the AMR hierarchy.

Optionally, if the AMR dataset has a constant refinement, it should be specified during initialization as the code optimizes for it. If a -1 or no refinement ratio is specified a varying refinement ratio is assumed.

void vtkStructuredAMRGridConnectivity::ComputeNeighbors ( )
overridevirtual

Computes neighboring information.

Implements vtkAbstractGridConnectivity.

void vtkStructuredAMRGridConnectivity::CreateGhostLayers ( const int  N = 1)
overridevirtual

Creates ghost layers.

Implements vtkAbstractGridConnectivity.

virtual void vtkStructuredAMRGridConnectivity::RegisterGrid ( const int  gridIdx,
const int  level,
const int  refinementRatio,
int  extents[6],
vtkUnsignedCharArray nodesGhostArray,
vtkUnsignedCharArray cellGhostArray,
vtkPointData pointData,
vtkCellData cellData,
vtkPoints gridNodes 
)
virtual

Registers the AMR grid with the given global linear grid ID (starting numbering from 0) and level and refinement ratio.

This method is to be used when the refinement ratio is not constant.

virtual void vtkStructuredAMRGridConnectivity::RegisterGrid ( const int  gridIdx,
const int  level,
int  extents[6],
vtkUnsignedCharArray nodesGhostArray,
vtkUnsignedCharArray cellGhostArray,
vtkPointData pointData,
vtkCellData cellData,
vtkPoints gridNodes 
)
virtual

Registers the AMR grid with the given global linear grid ID (starting numbering from 0) and level.

The extents of the grid are expected to be global node extents.

virtual void vtkStructuredAMRGridConnectivity::SetBalancedRefinement ( bool  )
virtual

Get/Set macro for BalancedRefinement property, default is true.

If the refinement is balanced, then, adjacent grids in the AMR hierarchy can only differ by one level. By default, a balanced refinement is assumed.

virtual bool vtkStructuredAMRGridConnectivity::GetBalancedRefinement ( )
virtual

Get/Set macro for BalancedRefinement property, default is true.

If the refinement is balanced, then, adjacent grids in the AMR hierarchy can only differ by one level. By default, a balanced refinement is assumed.

virtual void vtkStructuredAMRGridConnectivity::SetNodeCentered ( bool  )
virtual

Get/Set macro NodeCentered property which indicates if the data is node-centered or cell-centered.

By default, node-centered is set to false since AMR datasets are primarily cell-centered.

virtual bool vtkStructuredAMRGridConnectivity::GetNodeCentered ( )
virtual

Get/Set macro NodeCentered property which indicates if the data is node-centered or cell-centered.

By default, node-centered is set to false since AMR datasets are primarily cell-centered.

virtual void vtkStructuredAMRGridConnectivity::SetCellCentered ( bool  )
virtual

Get/Set CellCentered property which indicates if the data is cell-centered By default, cell-centered is set to true.

virtual bool vtkStructuredAMRGridConnectivity::GetCellCentered ( )
virtual

Get/Set CellCentered property which indicates if the data is cell-centered By default, cell-centered is set to true.

int vtkStructuredAMRGridConnectivity::GetNumberOfNeighbors ( const int  gridID)
inline

Returns the number of neighbors for the grid corresponding to the given grid ID.

Definition at line 589 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::GetGhostedExtent ( const int  gridID,
int  ext[6] 
)

Returns the ghost extend for the grid corresponding to the given grid ID.

vtkStructuredAMRNeighbor vtkStructuredAMRGridConnectivity::GetNeighbor ( const int  gridID,
const int  nei 
)
inline

Returns the AMR neighbor for the patch with the corresponding grid ID.

Definition at line 601 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::SetNumberOfGrids ( const unsigned int  N)
overrideprotectedvirtual

Sets the total number of grids(blocks) in the AMR hierarchy.

Implements vtkAbstractGridConnectivity.

void vtkStructuredAMRGridConnectivity::CreateGhostedMaskArrays ( const int  gridID)
protected

Creates the ghosted mask arrays.

void vtkStructuredAMRGridConnectivity::CreateGhostedExtent ( const int  gridID,
const int  N 
)
protected

Creates the ghosted extent of the given grid.

void vtkStructuredAMRGridConnectivity::SetGhostedExtent ( const int  gridID,
int  ext[6] 
)
protected

Sets the ghost extent for the grid corresponding to the given grid ID.

void vtkStructuredAMRGridConnectivity::GetCoarsenedExtent ( const int  gridIdx,
int  fromLevel,
int  toLevel,
int  ext[6] 
)
protected

Gets the coarsened extent for the grid with the given grid index.

void vtkStructuredAMRGridConnectivity::GetRefinedExtent ( const int  gridIdx,
int  fromLevel,
int  toLevel,
int  ext[6] 
)
protected

Gets the refined extent for the grid with the given grid index.

void vtkStructuredAMRGridConnectivity::RefineExtent ( int  orient[3],
int  ndim,
int  fromLevel,
int  toLevel,
int  ext[6] 
)
protected

Refines the given extent.

void vtkStructuredAMRGridConnectivity::GetCellRefinedExtent ( int  orient[3],
int  ndim,
const int  i,
const int  j,
const int  k,
const int  fromLevel,
const int  toLevel,
int  ext[6] 
)
protected

Given the global i,j,k index of a cell at a coarse level, fromLevel, this method computes the range of cells on the refined grid.

void vtkStructuredAMRGridConnectivity::CoarsenExtent ( int  orient[3],
int  ndim,
int  fromLevel,
int  toLevel,
int  ext[6] 
)
protected

Coarsens the given extent.

void vtkStructuredAMRGridConnectivity::GetGridExtent ( const int  gridIdx,
int  ext[6] 
)
inlineprotected

Gets the grid extent for the grid with the given grid ID.

Definition at line 780 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::GetGridLevel ( const int  gridIdx)
inlineprotected

Returns the level of the grid with the corresponding grid ID.

Definition at line 728 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::LevelExists ( const int  level)
inlineprotected

Checks if the given level has been registered.

Definition at line 794 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::IsNodeInterior ( const int  i,
const int  j,
const int  k,
int  ext[6] 
)
protected

Checks if the node is an interior node in the given extent.

bool vtkStructuredAMRGridConnectivity::IsNodeWithinExtent ( const int  i,
const int  j,
const int  k,
int  ext[6] 
)
protected

Checks if the node is within the extent.

bool vtkStructuredAMRGridConnectivity::IsNodeOnSharedBoundary ( const int  i,
const int  j,
const int  k,
const int  gridId,
int  gridExt[6] 
)
protected

Checks if the node is on a shared boundary.

bool vtkStructuredAMRGridConnectivity::IsNodeOnBoundaryOfExtent ( const int  i,
const int  j,
const int  k,
int  ext[6] 
)
protected

Checks if the node is on the boundary of the given extent.

void vtkStructuredAMRGridConnectivity::InsertGridAtLevel ( const int  level,
const int  gridID 
)
inlineprotected

Inserts the grid corresponding to the given ID at the prescribed level.

Definition at line 805 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::ComputeNeighborSendAndRcvExtent ( const int  gridID,
const int  N 
)
protected

Loops through the neighbors of this grid and computes the send and rcv extents for the N requested ghost layers.

void vtkStructuredAMRGridConnectivity::ComputeWholeExtent ( )
protected

Computes the whole extent w.r.t.

level 0 as well as the AMR dataset description and dimension.

void vtkStructuredAMRGridConnectivity::GetWholeExtentAtLevel ( const int  level,
int  ext[6] 
)
protected

Gets the whole extent with respect to the given level.

NOTE: This method assument that the whole extent has been computed.

void vtkStructuredAMRGridConnectivity::EstablishNeighbors ( const int  i,
const int  j 
)
protected

Establishes neighboring relationship between grids i,j wheren i,j are global indices.

void vtkStructuredAMRGridConnectivity::GetNodeOrientation ( const int  i,
const int  j,
const int  k,
int  gridExt[6],
int  nodeOrientation[3] 
)
protected

Computes the node orientation tuple for the given i,j,k node.

void vtkStructuredAMRGridConnectivity::GetOrientationVector ( const int  dataDescription,
int  orient[3],
int ndim 
)
protected

Establishes the orientation vector and dimension based on the computed data description.

The orientation vector is a 3-tuple, which encodes the dimensions that are used. For example, let's say that we want to define the orientation to be in the XZ plane, then, the orient array would be constructed as follows: {0,2 -1}, where -1 indicates a NIL value.

bool vtkStructuredAMRGridConnectivity::HasConstantRefinementRatio ( )
inlineprotected

Checks if a constant refinement ratio has been specified.

Definition at line 770 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::SetRefinementRatioAtLevel ( const int  level,
const int  r 
)
inlineprotected

Sets the refinement ratio at the given level.

Definition at line 739 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::GetRefinementRatioAtLevel ( const int  level)
inlineprotected

Returns the refinement ratio at the given level.

Definition at line 754 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::AreExtentsEqual ( int  ext1[6],
int  ext2[6] 
)
inlineprotected

Checks if the extent ext1 and ext2 are equal.

Definition at line 700 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::SetBlockTopology ( const int  gridID)
protected

Constructs the block topology for the given grid.

int vtkStructuredAMRGridConnectivity::GetNumberOfConnectingBlockFaces ( const int  gridID)
inlineprotected

Returns the number of faces of the block corresponding to the given grid ID that are adjacent to at least one other block.

Note, this is not the total number of neighbors for the block. This method simply checks how many out of the 6 block faces have connections. Thus, the return value has an upper-bound of 6.

Definition at line 633 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::HasBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Checks if the block corresponding to the given grid ID has a block adjacent to it in the given block direction.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 343 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::RemoveBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Removes a block connection along the given direction for the block corresponding to the given gridID.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 655 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::AddBlockConnection ( const int  gridID,
const int  blockDirection 
)
inlineprotected

Adds a block connection along the given direction for the block corresponding to the given gridID.

NOTE: The block direction is essentially one of the 6 faces of the block defined as follows:

  • FRONT = 0 (+k diretion)
  • BACK = 1 (-k direction)
  • RIGHT = 2 (+i direction)
  • LEFT = 3 (-i direction)
  • TOP = 4 (+j direction)
  • BOTTOM = 5 (-j direction)

Definition at line 670 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::ClearBlockConnections ( const int  gridID)
inlineprotected

Clears all block connections for the block corresponding to the given grid ID.

Definition at line 684 of file vtkStructuredAMRGridConnectivity.h.

virtual void vtkStructuredAMRGridConnectivity::MarkNodeProperty ( const int  gridId,
const int  i,
const int  j,
const int  k,
int  gridExt[6],
int  wholeExt[6],
unsigned char &  p 
)
protectedvirtual

Marks the ghost property for the given node.

virtual void vtkStructuredAMRGridConnectivity::FillNodesGhostArray ( const int  gridId,
vtkUnsignedCharArray nodesArray 
)
protectedvirtual

Fills the node ghost arrays for the given grid.

virtual void vtkStructuredAMRGridConnectivity::FillCellsGhostArray ( const int  gridId,
vtkUnsignedCharArray cellArray 
)
protectedvirtual

Fills the cell ghost arrays for the given grid.

void vtkStructuredAMRGridConnectivity::FillGhostArrays ( const int  gridId,
vtkUnsignedCharArray nodesArray,
vtkUnsignedCharArray cellsArray 
)
overrideprotectedvirtual

Fills ghost arrays.

Implements vtkAbstractGridConnectivity.

vtkStructuredAMRNeighbor vtkStructuredAMRGridConnectivity::GetAMRNeighbor ( const int  i,
const int  iLevel,
int  next1[6],
const int  j,
const int  jLevel,
int  next2[6],
const int  normalizedLevel,
const int  levelDiff,
vtkStructuredNeighbor nei 
)
protected

Compute the AMR neighbor of grid "i" and its neighbor grid "j".

Given the structured neighbors computed in normalized space (i.e., at the same level) between the two grids, this method computes the corresponding AMR neighbor which essentially adds other bits of information, such as level, relationship type, etc.

NOTE: The extents next1 and next2 for each grid are the normalized extents

void vtkStructuredAMRGridConnectivity::ComputeAMRNeighborOverlapExtents ( const int  iLevel,
const int  jLevel,
const int  normalizedLevel,
const vtkStructuredNeighbor nei,
int  orient[3],
int  ndim,
int  gridOverlapExtent[6],
int  neiOverlapExtent[6] 
)
protected

A Helper method to compute the AMR neighbor overlap extents.

The method coarsens/refines the gridOverlap and neiOverlap extents accordingly s.t. they are w.r.t. to the level of the grid they refer to.

int vtkStructuredAMRGridConnectivity::Get1DOrientation ( const int  idx,
const int  ExtentLo,
const int  ExtentHi,
const int  OnLo,
const int  OnHi,
const int  NotOnBoundary 
)
inlineprotected

Get 1-D orientation.

Definition at line 616 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::PrintExtent ( std::ostream &  os,
int  ext[6] 
)
inlineprotected

Prints the extent.

Definition at line 715 of file vtkStructuredAMRGridConnectivity.h.

void vtkStructuredAMRGridConnectivity::InitializeGhostData ( const int  gridID)
protected

Initializes the ghost data-structures.

void vtkStructuredAMRGridConnectivity::TransferRegisteredDataToGhostedData ( const int  gridID)
protected

Transfers the data of the registered grid, to the ghosted data-structures.

void vtkStructuredAMRGridConnectivity::TransferLocalNodeCenteredNeighborData ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Transfers local node-centered neighbor data.

void vtkStructuredAMRGridConnectivity::GetLocalCellCentersFromCoarserLevel ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Copy cell center value from a coarser level by direct-injection, i.e., the values within the coarse cell is assumed to be constant.

void vtkStructuredAMRGridConnectivity::GetLocalCellCentersFromFinerLevel ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Copy cell center values from a finer level by cell averaging.

void vtkStructuredAMRGridConnectivity::GetLocalCellCentersAtSameLevel ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Copy cell center values to fill in the ghost levels from a neighbor at the same level as the grid corresponding to the given grid ID.

void vtkStructuredAMRGridConnectivity::TransferLocalCellCenteredNeighborData ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Transfers local cell-centered neighbor data.

void vtkStructuredAMRGridConnectivity::TransferLocalNeighborData ( const int  gridID,
vtkStructuredAMRNeighbor nei 
)
protected

Transfers local neighbor data.

virtual void vtkStructuredAMRGridConnectivity::TransferGhostDataFromNeighbors ( const int  gridID)
protectedvirtual

Fills in the ghost data from the neighbors.

void vtkStructuredAMRGridConnectivity::AverageFieldData ( vtkFieldData source,
vtkIdType sourceIds,
const int  N,
vtkFieldData target,
vtkIdType  targetIdx 
)
protected

Loops through all arrays and computes the average of the supplied source indices and stores the corresponding average.

void vtkStructuredAMRGridConnectivity::CopyFieldData ( vtkFieldData source,
vtkIdType  sourceIdx,
vtkFieldData target,
vtkIdType  targetIdx 
)
protected

Loops through all arrays in the source and for each array, it copies the tuples from sourceIdx to the target at targetIdx.

This method assumes that the source and target have a one-to-one array correspondence, that is array i in the source corresponds to array i in the target.

Member Data Documentation

unsigned int vtkStructuredAMRGridConnectivity::NumberOfLevels
protected

Definition at line 541 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::DataDimension
protected

Definition at line 542 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::DataDescription
protected

Definition at line 543 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::WholeExtent[6]
protected

Definition at line 544 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::MaxLevel
protected

Definition at line 545 of file vtkStructuredAMRGridConnectivity.h.

int vtkStructuredAMRGridConnectivity::RefinementRatio
protected

Definition at line 546 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::NodeCentered
protected

Definition at line 551 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::CellCentered
protected

Definition at line 552 of file vtkStructuredAMRGridConnectivity.h.

bool vtkStructuredAMRGridConnectivity::BalancedRefinement
protected

Definition at line 554 of file vtkStructuredAMRGridConnectivity.h.

std::map< int, std::set<int> > vtkStructuredAMRGridConnectivity::AMRHierarchy
protected

Definition at line 559 of file vtkStructuredAMRGridConnectivity.h.

std::vector< int > vtkStructuredAMRGridConnectivity::GridExtents
protected

Definition at line 562 of file vtkStructuredAMRGridConnectivity.h.

std::vector< int > vtkStructuredAMRGridConnectivity::GhostedExtents
protected

Definition at line 563 of file vtkStructuredAMRGridConnectivity.h.

std::vector< unsigned char > vtkStructuredAMRGridConnectivity::BlockTopology
protected

Definition at line 564 of file vtkStructuredAMRGridConnectivity.h.

std::vector< int > vtkStructuredAMRGridConnectivity::GridLevels
protected

Definition at line 565 of file vtkStructuredAMRGridConnectivity.h.

std::vector< std::vector<vtkStructuredAMRNeighbor> > vtkStructuredAMRGridConnectivity::Neighbors
protected

Definition at line 566 of file vtkStructuredAMRGridConnectivity.h.

std::vector< std::vector<int> > vtkStructuredAMRGridConnectivity::CellCenteredDonorLevel
protected

Definition at line 571 of file vtkStructuredAMRGridConnectivity.h.

std::vector< int > vtkStructuredAMRGridConnectivity::RefinementRatios
protected

Definition at line 576 of file vtkStructuredAMRGridConnectivity.h.


The documentation for this class was generated from the following file: