21 #include "NamespaceHeader.H" 43 BoxLayout bl1; //fill this one with starting layout
46 bl2.transform(mytrans);
74 Entry(
const Box& a_box,
const unsigned int a_index)
272 bool sameBoxes(
const BoxLayout& a_layout)
const;
277 int numBoxes(
const int procID)
const;
280 long long numCells()
const;
290 unsigned int index(
const LayoutIndex& index)
const;
292 unsigned int lindex(
const DataIndex& index)
const;
304 inline bool ptrEqual(
const BoxLayout& rhs)
const;
320 return m_boxes.refCount();
414 bool coarsenable(
int refRatio)
const;
424 bool coarsenable(
IntVect refRatio)
const;
468 void convertOldToNew(
const IntVect& a_permutation,
476 void convertNewToOld(
const IntVect& a_permutation,
502 void grow(
int a_growth);
514 void grow(
int a_dir,
int a_growth);
520 void shift(
const IntVect& a_iv);
526 void shiftHalf(
const IntVect& a_iv);
539 void operator&= (
const Box& a_box);
578 setProcID(
const LayoutIndex& a_index,
unsigned int a_procID);
602 dataIterator()
const;
606 timedDataIterator()
const;
614 layoutIterator()
const;
649 inline unsigned int indexI(
const LayoutIndex&)
const;
657 void buildDataIndex();
684 coarsen(output, input, refinement);
690 refine(output, input, refinement);
702 return m_boxes->operator[](a_layoutIndex.
m_index).
box;
720 bool secondcomp =
true;
721 if((m_boxes->size() >0) && (rhs.
m_boxes->
size() > 0))
723 secondcomp = (m_boxes->operator[](0).
box == rhs.
m_boxes->operator[](0).box);
726 return (firstcomp && secondcomp);
732 if(*
this == rhs)
return false;
744 return m_boxes->operator[](a_layoutIndex.
m_index).
box;
763 return m_boxes->operator[](a_layoutIndex.
m_index).m_procID;
770 m_boxes->operator[](a_layoutIndex.
m_index).m_procID = a_procID;
778 #include "NamespaceFooter.H" bool operator<(const BoxLayout &rhs) const
Definition: BoxLayout.H:730
bool compatible(const BoxLayout &a_rhs) const
Definition: BoxLayout.H:356
A reference-counting handle class.
Definition: RefCountedPtr.H:173
#define CH_assert(cond)
Definition: CHArray.H:37
Box refine(const Box &b, const IntVect &refinement_ratio)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
RefCountedPtr< bool > m_closed
Definition: BoxLayout.H:663
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout.
Definition: BoxLayout.H:26
Entry()
Definition: BoxLayout.H:63
void refine_bl(BoxLayout &output, const BoxLayout &input, int refinement)
Definition: BoxLayout.H:688
std::ostream & operator<<(std::ostream &os, const BoxLayout &a_layout)
Box box
Definition: BoxLayout.H:85
bool operator==(const BoxLayout &rhs) const
check to see if BoxLayouts are equivalent
Definition: BoxLayout.H:717
int refCount() const
Definition: BoxLayout.H:318
Definition: DataIterator.H:190
void p() const
Definition: BoxLayout.H:634
RefCountedPtr< Vector< LayoutIndex > > m_indicies
Definition: BoxLayout.H:666
An Iterator based on a BoxLayout object.
Definition: LayoutIterator.H:35
RefCountedPtr< int > m_layout
Definition: BoxLayout.H:662
Definition: EBInterface.H:45
const Vector< Entry > * rawPtr() const
Definition: BoxLayout.H:651
void coarsen_bl(BoxLayout &output, const BoxLayout &input, int refinement)
Definition: BoxLayout.H:682
IndexTM< T, N > coarsen(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:430
Box operator[](const LayoutIndex &it) const
Definition: BoxLayout.H:699
unsigned int index(const LayoutIndex &index) const
Definition: BoxLayout.H:748
const int * m_layoutIntPtr
Definition: DataIndex.H:102
RefCountedPtr< bool > m_sorted
Definition: BoxLayout.H:664
bool check(const LayoutIndex &index) const
Definition: BoxLayout.H:348
void setProcID(const LayoutIndex &a_index, unsigned int a_procID)
Definition: BoxLayout.H:767
Box surroundingNodes(const Box &b, int dir)
Definition: Box.H:2161
bool operator<(const FaceIndex &f1, const FaceIndex &f2)
Definition: FaceIndex.H:212
BoxLayout m_layout
Definition: LayoutIterator.H:100
Box grow(const Box &b, int i)
Definition: Box.H:2277
Entry(const Box &a_box)
Definition: BoxLayout.H:68
Box enclosedCells(const Box &b, int dir)
Definition: Box.H:2178
LoHiSide
Definition: LoHiSide.H:27
Box get(const LayoutIndex &it) const
Definition: BoxLayout.H:741
size_t size() const
Definition: Vector.H:192
bool isSorted() const
Definition: BoxLayout.H:341
Entry(const Box &a_box, const unsigned int a_index)
Definition: BoxLayout.H:74
RefCountedPtr< Vector< Entry > > m_boxes
Definition: BoxLayout.H:661
RefCountedPtr< DataIterator > m_dataIterator
Definition: BoxLayout.H:665
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
Definition: DataIndex.H:114
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
bool ptrEqual(const BoxLayout &rhs) const
Definition: BoxLayout.H:711
An index for LayoutIterator.
Definition: DataIndex.H:30
void serialMortonOrdering(Vector< Box > &a_boxes)
bool isClosed() const
Definition: BoxLayout.H:754
void mortonOrdering(Vector< Box > &a_boxes)
int m_index
Definition: DataIndex.H:100
int procID()
local process ID
unsigned int m_procID
Definition: BoxLayout.H:86
Definition: BoxLayout.H:61
Definition: TimedDataIterator.H:23
unsigned int procID(const LayoutIndex &a_index) const
Definition: BoxLayout.H:760
bool eq(const BoxLayout &rhs) const
Definition: BoxLayout.H:326