DistributedBoxCollection< DIM > Class Template Reference

#include <DistributedBoxCollection.hpp>

Collaboration diagram for DistributedBoxCollection< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DistributedBoxCollection (double boxWidth, c_vector< double, 2 *DIM > domainSize, bool isPeriodicInX=false, int localRows=PETSC_DECIDE)
 ~DistributedBoxCollection ()
void EmptyBoxes ()
void SetupHaloBoxes ()
void UpdateHaloBoxes ()
unsigned GetNumLocalRows () const
bool GetBoxOwnership (unsigned globalIndex)
bool IsInteriorBox (unsigned globalIndex)
bool GetHaloBoxOwnership (unsigned globalIndex)
unsigned CalculateGlobalIndex (c_vector< unsigned, DIM > coordinateIndices)
unsigned CalculateContainingBox (Node< DIM > *pNode)
unsigned CalculateContainingBox (c_vector< double, DIM > &rLocation)
c_vector< unsigned, DIM > CalculateCoordinateIndices (unsigned globalIndex)
Box< DIM > & rGetBox (unsigned boxIndex)
Box< DIM > & rGetHaloBox (unsigned boxIndex)
unsigned GetNumBoxes ()
unsigned GetNumLocalBoxes ()
c_vector< double, 2 *DIM > rGetDomainSize () const
bool GetAreLocalBoxesSet () const
double GetBoxWidth () const
unsigned GetNumRowsOfBoxes () const
int LoadBalance (std::vector< int > localDistribution)
void SetupLocalBoxesHalfOnly ()
void SetupAllLocalBoxes ()
std::set< unsignedGetLocalBoxes (unsigned boxIndex)
bool IsOwned (Node< DIM > *pNode)
bool IsOwned (c_vector< double, DIM > &location)
unsigned GetProcessOwningNode (Node< DIM > *pNode)
std::vector< unsigned > & rGetHaloNodesRight ()
std::vector< unsigned > & rGetHaloNodesLeft ()
void SetCalculateNodeNeighbours (bool calculateNodeNeighbours)
void CalculateNodePairs (std::vector< Node< DIM > * > &rNodes, std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, std::map< unsigned, std::set< unsigned > > &rNodeNeighbours)
void CalculateInteriorNodePairs (std::vector< Node< DIM > * > &rNodes, std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, std::map< unsigned, std::set< unsigned > > &rNodeNeighbours)
void CalculateBoundaryNodePairs (std::vector< Node< DIM > * > &rNodes, std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, std::map< unsigned, std::set< unsigned > > &rNodeNeighbours)
void AddPairsFromBox (unsigned boxIndex, std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, std::map< unsigned, std::set< unsigned > > &rNodeNeighbours)
std::vector< int > CalculateNumberOfNodesInEachStrip ()

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)

Private Attributes

std::vector< Box< DIM > > mBoxes
std::vector< Box< DIM > > mHaloBoxes
std::vector< unsignedmHalosRight
std::vector< unsignedmHalosLeft
std::vector< unsignedmHaloNodesRight
std::vector< unsignedmHaloNodesLeft
std::map< unsigned, unsignedmBoxesMapping
std::map< unsigned, unsignedmHaloBoxesMapping
c_vector< double, 2 *DIM > mDomainSize
double mBoxWidth
unsigned mNumBoxes
c_vector< unsigned, DIM > mNumBoxesEachDirection
unsigned mNumBoxesInAFace
std::vector< std::set< unsigned > > mLocalBoxes
unsigned mMinBoxIndex
unsigned mMaxBoxIndex
bool mIsPeriodicInX
bool mAreLocalBoxesSet
DistributedVectorFactorympDistributedBoxStackFactory
bool mCalculateNodeNeighbours

Static Private Attributes

static const double msFudge = 5e-14

Friends

class TestDistributedBoxCollection
class boost::serialization::access

Detailed Description

template<unsigned DIM>
class DistributedBoxCollection< DIM >

A collection of 'boxes' partitioning the domain with information on which nodes are located in which box.

Definition at line 54 of file DistributedBoxCollection.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
DistributedBoxCollection< DIM >::DistributedBoxCollection ( double  boxWidth,
c_vector< double, 2 *DIM >  domainSize,
bool  isPeriodicInX = false,
int  localRows = PETSC_DECIDE 
) [inline]
template<unsigned DIM>
DistributedBoxCollection< DIM >::~DistributedBoxCollection (  )  [inline]

Destructor - frees memory allocated to distributed vector.

Definition at line 122 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mpDistributedBoxStackFactory.


Member Function Documentation

template<unsigned DIM>
void DistributedBoxCollection< DIM >::AddPairsFromBox ( unsigned  boxIndex,
std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &  rNodePairs,
std::map< unsigned, std::set< unsigned > > &  rNodeNeighbours 
) [inline]
template<unsigned DIM>
void DistributedBoxCollection< DIM >::CalculateBoundaryNodePairs ( std::vector< Node< DIM > * > &  rNodes,
std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &  rNodePairs,
std::map< unsigned, std::set< unsigned > > &  rNodeNeighbours 
) [inline]

The same as CalculateNodePairs() only we only work on boxes that are ''not'' interior on this process. I.e. some of their local boxes are halo boxes.

Parameters:
rNodes all the nodes to be consider
rNodePairs the return value, a set of pairs of nodes
rNodeNeighbours the other return value, the neighbours of each node.

Definition at line 1191 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::AddPairsFromBox(), DistributedBoxCollection< DIM >::IsInteriorBox(), and DistributedBoxCollection< DIM >::mBoxesMapping.

Referenced by NodesOnlyMesh< SPACE_DIM >::CalculateBoundaryNodePairs().

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::CalculateContainingBox ( c_vector< double, DIM > &  rLocation  )  [inline]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::CalculateContainingBox ( Node< DIM > *  pNode  )  [inline]
template<unsigned DIM>
c_vector< unsigned, DIM > DistributedBoxCollection< DIM >::CalculateCoordinateIndices ( unsigned  globalIndex  )  [inline]

Calculate x,y,z indices of box given its 'global' index.

Parameters:
globalIndex the global index of the box
Returns:
the co-ordinate indicies (boxes across, boxes up, boxes deep) of a box

Definition at line 304 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mNumBoxesEachDirection, and NEVER_REACHED.

Referenced by DistributedBoxCollection< DIM >::CalculateNumberOfNodesInEachStrip(), and DistributedBoxCollection< DIM >::SetupLocalBoxesHalfOnly().

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::CalculateGlobalIndex ( c_vector< unsigned, DIM >  coordinateIndices  )  [inline]

Given the (i,j,k) co-ordniates of a box in the collection, calculate its global index.

Parameters:
coordinateIndices the co-ordinate indices of the box (across, up, deep)
Returns:
the global index of the box in the collection.

Definition at line 236 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mNumBoxesEachDirection.

template<unsigned DIM>
void DistributedBoxCollection< DIM >::CalculateInteriorNodePairs ( std::vector< Node< DIM > * > &  rNodes,
std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &  rNodePairs,
std::map< unsigned, std::set< unsigned > > &  rNodeNeighbours 
) [inline]

The same as CalculateNodePairs() only we only work on boxes that are interior on this process. I.e. none of their local boxes are halo boxes.

Parameters:
rNodes all the nodes to be consider
rNodePairs the return value, a set of pairs of nodes
rNodeNeighbours the other return value, the neighbours of each node.

Definition at line 1157 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::AddPairsFromBox(), DistributedBoxCollection< DIM >::CalculateContainingBox(), DistributedBoxCollection< DIM >::GetBoxOwnership(), DistributedBoxCollection< DIM >::IsInteriorBox(), and DistributedBoxCollection< DIM >::mBoxesMapping.

Referenced by NodesOnlyMesh< SPACE_DIM >::CalculateInteriorNodePairs().

template<unsigned DIM>
void DistributedBoxCollection< DIM >::CalculateNodePairs ( std::vector< Node< DIM > * > &  rNodes,
std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &  rNodePairs,
std::map< unsigned, std::set< unsigned > > &  rNodeNeighbours 
) [inline]

Compute all the pairs of (potentially) connected nodes for cell_based simulations, ie nodes which are in a local box to the box containing the first node. **Note: the user still has to check that the node pairs are less than the cut-off distance apart.** The pairs are checked so that index1 < index2, so each connected pair of nodes is only in the set once.

Parameters:
rNodes all the nodes to be consider
rNodePairs the return value, a set of pairs of nodes
rNodeNeighbours the other return value, the neighbours of each node.

Definition at line 1126 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::AddPairsFromBox(), DistributedBoxCollection< DIM >::CalculateContainingBox(), DistributedBoxCollection< DIM >::GetBoxOwnership(), and DistributedBoxCollection< DIM >::mBoxesMapping.

template<unsigned DIM>
std::vector< int > DistributedBoxCollection< DIM >::CalculateNumberOfNodesInEachStrip (  )  [inline]

Calculate how many cells lie in each strip / face of boxes, used in load balancing

Returns:
A vector containing the number of nodes in each of the strips of boxes.

Definition at line 1284 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::CalculateCoordinateIndices(), DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), DistributedBoxCollection< DIM >::mBoxes, DistributedBoxCollection< DIM >::mBoxesMapping, and DistributedBoxCollection< DIM >::mpDistributedBoxStackFactory.

Referenced by NodesOnlyMesh< SPACE_DIM >::LoadBalanceMesh().

template<unsigned DIM>
void DistributedBoxCollection< DIM >::EmptyBoxes (  )  [inline]

Remove the list of nodes stored in each box.

Definition at line 128 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mBoxes, and DistributedBoxCollection< DIM >::mHaloBoxes.

Referenced by NodesOnlyMesh< SPACE_DIM >::UpdateBoxCollection().

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::GetAreLocalBoxesSet (  )  const [inline]
Returns:
Whether or not the local boxes have been set up.

Definition at line 377 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mAreLocalBoxesSet.

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::GetBoxOwnership ( unsigned  globalIndex  )  [inline]
template<unsigned DIM>
double DistributedBoxCollection< DIM >::GetBoxWidth (  )  const [inline]
template<unsigned DIM>
bool DistributedBoxCollection< DIM >::GetHaloBoxOwnership ( unsigned  globalIndex  )  [inline]
Parameters:
globalIndex the global index of the box.
Returns:
whether the box with global index globalIndex is a halo to this process.

Definition at line 219 of file DistributedBoxCollection.cpp.

References PetscTools::IsParallel(), DistributedBoxCollection< DIM >::mMaxBoxIndex, DistributedBoxCollection< DIM >::mMinBoxIndex, and DistributedBoxCollection< DIM >::mNumBoxesInAFace.

Referenced by DistributedBoxCollection< DIM >::rGetHaloBox().

template<unsigned DIM>
std::set< unsigned > DistributedBoxCollection< DIM >::GetLocalBoxes ( unsigned  boxIndex  )  [inline]

Get the set of all the local boxes, i.e. itself and its nearest-neighbours.

Parameters:
boxIndex the index of the box
Returns:
the set containing the indices of boxes local to box boxIndex.

Definition at line 1066 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mLocalBoxes, DistributedBoxCollection< DIM >::mMaxBoxIndex, and DistributedBoxCollection< DIM >::mMinBoxIndex.

Referenced by DistributedBoxCollection< DIM >::AddPairsFromBox().

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::GetNumBoxes (  )  [inline]
Returns:
the total global number of boxes.

Definition at line 359 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mNumBoxes.

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::GetNumLocalBoxes (  )  [inline]
Returns:
the number of locally owned boxes. Not including halos.

Definition at line 365 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mBoxes.

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::GetNumLocalRows (  )  const [inline]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::GetNumRowsOfBoxes (  )  const [inline]
Returns:
the number of rows in the DIM-1th direction on this process.

Definition at line 389 of file DistributedBoxCollection.cpp.

References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), and DistributedBoxCollection< DIM >::mpDistributedBoxStackFactory.

template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::GetProcessOwningNode ( Node< DIM > *  pNode  )  [inline]

Get the process that should own this node. Currently only returns +/-1 of this process so assumes nodes don't move too far. //\ todo this should be fixed.

Parameters:
pNode the node to be tested
Returns:
the ID of the process that should own the node.

Definition at line 1090 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::CalculateContainingBox(), PetscTools::GetMyRank(), DistributedBoxCollection< DIM >::mMaxBoxIndex, and DistributedBoxCollection< DIM >::mMinBoxIndex.

Referenced by NodesOnlyMesh< SPACE_DIM >::CalculateNodesOutsideLocalDomain().

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::IsInteriorBox ( unsigned  globalIndex  )  [inline]

Get whether the box with global index globalIndex is interior on this process. A box is interior if it doesn't share any boundary (even of zero length) with a halo box.

Parameters:
globalIndex the global index of the box to check.
Returns:
whether the box is interior or not.

Definition at line 228 of file DistributedBoxCollection.cpp.

References PetscTools::IsSequential(), DistributedBoxCollection< DIM >::mMaxBoxIndex, DistributedBoxCollection< DIM >::mMinBoxIndex, and DistributedBoxCollection< DIM >::mNumBoxesInAFace.

Referenced by DistributedBoxCollection< DIM >::CalculateBoundaryNodePairs(), and DistributedBoxCollection< DIM >::CalculateInteriorNodePairs().

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::IsOwned ( c_vector< double, DIM > &  location  )  [inline]
Parameters:
location the location to test.
Returns:
whether the point at location is owned on this process.

Definition at line 1082 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::CalculateContainingBox(), and DistributedBoxCollection< DIM >::GetBoxOwnership().

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::IsOwned ( Node< DIM > *  pNode  )  [inline]
Parameters:
pNode the node to test.
Returns:
whether the point at pNode->rGetLocation() is owned on this process.

Definition at line 1074 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::CalculateContainingBox(), and DistributedBoxCollection< DIM >::GetBoxOwnership().

Referenced by NodesOnlyMesh< SPACE_DIM >::ConstructNodesWithoutMesh(), and NodesOnlyMesh< SPACE_DIM >::IsOwned().

template<unsigned DIM>
int DistributedBoxCollection< DIM >::LoadBalance ( std::vector< int >  localDistribution  )  [inline]

A helper function to work out the optimal number of rows to be owned by this process, to balance the number of nodes.

Parameters:
localDistribution a vector containing the number of nodes in each row/face of boxes in 2d/3d
Returns:
the updated number of rows, which will differ from current number by at most 2.

Shift information on distribution of nodes to the right, so processes can manage their left/bottom/back boundary (1d/2d/3d)

Calculate change in balance of loads by shifting the left/bottom boundary in either direction

Definition at line 395 of file DistributedBoxCollection.cpp.

References PetscTools::AmMaster(), PetscTools::AmTopMost(), and PetscTools::GetMyRank().

Referenced by NodesOnlyMesh< SPACE_DIM >::LoadBalanceMesh().

template<unsigned DIM>
Box< DIM > & DistributedBoxCollection< DIM >::rGetBox ( unsigned  boxIndex  )  [inline]
template<unsigned DIM>
c_vector< double, 2 *DIM > DistributedBoxCollection< DIM >::rGetDomainSize (  )  const [inline]
template<unsigned DIM>
Box< DIM > & DistributedBoxCollection< DIM >::rGetHaloBox ( unsigned  boxIndex  )  [inline]

Get a halo box.

Parameters:
boxIndex the index of the box to return
Returns:
a reference to the halo box with global index boxIndex.

Definition at line 349 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::GetHaloBoxOwnership(), DistributedBoxCollection< DIM >::mHaloBoxes, and DistributedBoxCollection< DIM >::mHaloBoxesMapping.

Referenced by NodesOnlyMesh< SPACE_DIM >::AddHaloNodesToBoxes().

template<unsigned DIM>
std::vector< unsigned > & DistributedBoxCollection< DIM >::rGetHaloNodesLeft (  )  [inline]
Returns:
mHaloNodesRight the list of nodes that are close to the left boundary

Definition at line 1114 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mHaloNodesLeft.

Referenced by NodesOnlyMesh< SPACE_DIM >::rGetHaloNodesToSendLeft().

template<unsigned DIM>
std::vector< unsigned > & DistributedBoxCollection< DIM >::rGetHaloNodesRight (  )  [inline]
Returns:
mHaloNodesRight the list of nodes that are close to the right boundary

Definition at line 1108 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mHaloNodesRight.

Referenced by NodesOnlyMesh< SPACE_DIM >::rGetHaloNodesToSendRight().

template<unsigned DIM>
template<class Archive >
void DistributedBoxCollection< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Serialize the box collection. It is possible to save and load on a different # of processes.

Parameters:
archive the archive.
version the version number.

Definition at line 132 of file DistributedBoxCollection.hpp.

template<unsigned DIM>
void DistributedBoxCollection< DIM >::SetCalculateNodeNeighbours ( bool  calculateNodeNeighbours  )  [inline]

Set whether to record node neighbour in the map rNodeNeighbours during CalculateNodePairs. Set to false for efficiency if not needed.

Parameters:
calculateNodeNeighbours whether to store the neighbours.

Definition at line 1120 of file DistributedBoxCollection.cpp.

References DistributedBoxCollection< DIM >::mCalculateNodeNeighbours.

Referenced by NodesOnlyMesh< SPACE_DIM >::SetUpBoxCollection().

template<unsigned DIM>
void DistributedBoxCollection< DIM >::SetupAllLocalBoxes (  )  [inline]
template<unsigned DIM>
void DistributedBoxCollection< DIM >::SetupHaloBoxes (  )  [inline]
template<unsigned DIM>
void DistributedBoxCollection< DIM >::SetupLocalBoxesHalfOnly (  )  [inline]
template<unsigned DIM>
void DistributedBoxCollection< DIM >::UpdateHaloBoxes (  )  [inline]

Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]

Needed for serialization

Definition at line 123 of file DistributedBoxCollection.hpp.


Member Data Documentation

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::mAreLocalBoxesSet [private]
template<unsigned DIM>
std::vector< Box<DIM> > DistributedBoxCollection< DIM >::mBoxes [private]
template<unsigned DIM>
std::map<unsigned, unsigned> DistributedBoxCollection< DIM >::mBoxesMapping [private]
template<unsigned DIM>
double DistributedBoxCollection< DIM >::mBoxWidth [private]
template<unsigned DIM>
bool DistributedBoxCollection< DIM >::mCalculateNodeNeighbours [private]

A flag that can be set to not save rNodeNeighbours in CalculateNodePairs - for efficiency

Definition at line 120 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::AddPairsFromBox(), and DistributedBoxCollection< DIM >::SetCalculateNodeNeighbours().

template<unsigned DIM>
c_vector<double, 2*DIM> DistributedBoxCollection< DIM >::mDomainSize [private]
template<unsigned DIM>
std::vector< Box<DIM> > DistributedBoxCollection< DIM >::mHaloBoxes [private]
template<unsigned DIM>
std::map<unsigned, unsigned> DistributedBoxCollection< DIM >::mHaloBoxesMapping [private]
template<unsigned DIM>
std::vector<unsigned> DistributedBoxCollection< DIM >::mHaloNodesLeft [private]

Set of Nodes that are halos of adjacent left process, but lie locally

Definition at line 75 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::rGetHaloNodesLeft(), and DistributedBoxCollection< DIM >::UpdateHaloBoxes().

template<unsigned DIM>
std::vector<unsigned> DistributedBoxCollection< DIM >::mHaloNodesRight [private]

Set of Nodes that are halos of adjacent right process, but lie locally

Definition at line 72 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::rGetHaloNodesRight(), and DistributedBoxCollection< DIM >::UpdateHaloBoxes().

template<unsigned DIM>
std::vector<unsigned> DistributedBoxCollection< DIM >::mHalosLeft [private]

A vector of the global indices of boxes, owned by this process, but on a boundary with left process.

Definition at line 69 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::SetupHaloBoxes(), and DistributedBoxCollection< DIM >::UpdateHaloBoxes().

template<unsigned DIM>
std::vector<unsigned> DistributedBoxCollection< DIM >::mHalosRight [private]

A vector of the global indices of boxes, owned by this process, but on a boundary with right process.

Definition at line 66 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::SetupHaloBoxes(), and DistributedBoxCollection< DIM >::UpdateHaloBoxes().

template<unsigned DIM>
bool DistributedBoxCollection< DIM >::mIsPeriodicInX [private]

Whether the domain is periodic in the X dimension Note this currently only works for DIM=2.

Definition at line 108 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::SetupAllLocalBoxes(), and DistributedBoxCollection< DIM >::SetupLocalBoxesHalfOnly().

template<unsigned DIM>
std::vector< std::set<unsigned> > DistributedBoxCollection< DIM >::mLocalBoxes [private]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::mMaxBoxIndex [private]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::mMinBoxIndex [private]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::mNumBoxes [private]
template<unsigned DIM>
c_vector<unsigned, DIM> DistributedBoxCollection< DIM >::mNumBoxesEachDirection [private]
template<unsigned DIM>
unsigned DistributedBoxCollection< DIM >::mNumBoxesInAFace [private]

Number of boxes in a face (1 in 1d, mNumBoxesEachDirection(0) in 2d, mNumBoxesEachDirection(0)*mNumBoxesEachDirection(1) in 3d

Definition at line 96 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::DistributedBoxCollection(), DistributedBoxCollection< DIM >::GetHaloBoxOwnership(), DistributedBoxCollection< DIM >::IsInteriorBox(), and DistributedBoxCollection< DIM >::SetupHaloBoxes().

template<unsigned DIM>
const double DistributedBoxCollection< DIM >::msFudge = 5e-14 [inline, static, private]

A fudge (box swelling) factor to deal with 32-bit floating point issues.

Definition at line 114 of file DistributedBoxCollection.hpp.

Referenced by DistributedBoxCollection< DIM >::CalculateContainingBox(), and DistributedBoxCollection< DIM >::DistributedBoxCollection().


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

Generated by  doxygen 1.6.2