11 #ifndef _REDUCTIONCOPIER_H_ 12 #define _REDUCTIONCOPIER_H_ 19 #include "NamespaceHeader.H" 52 bool a_exchange =
false);
55 int a_transverseDir,
bool a_exchange =
false);
61 bool a_exchange =
false);
68 bool a_exchange =
false);
76 bool a_exchange =
false);
80 const Vector<int>& a_transverseDir,
bool a_exchange =
false);
86 bool a_exchange =
false);
93 bool a_exchange =
false);
101 bool a_exchange =
false);
107 virtual void define(
const bool & a_usingFaceSumOp ,
113 bool a_exchange =
false);
116 const Box & a_fromBox ,
117 const Box & a_toBox ,
118 const bool & a_firstLoop ,
121 const bool & a_exchange =
false);
128 const Box & a_domainBox ,
129 vector<DataIndex> & a_outerLoop ,
130 vector<DataIndex> & a_innerLoop ,
133 bool a_exchange =
false);
139 bool a_exchange =
false);
146 bool a_exchange =
false);
153 bool a_exchange =
false);
161 bool a_exchange =
false);
167 bool a_exchange =
false);
174 bool a_exchange =
false);
181 bool a_exchange =
false);
189 bool a_exchange =
false);
224 #include "NamespaceFooter.H"
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:152
Vector< int > m_reduceDir
Definition: ReductionCopier.H:217
ReductionCopier()
null constructor, copy constructor and operator= can be compiler defined.
Definition: ReductionCopier.H:42
virtual void define(const bool &a_usingFaceSumOp, const DisjointBoxLayout &a_sourceLayout, const BoxLayout &a_destLayout, const ProblemDomain &a_domain, const IntVect &a_ghostVect, const Vector< int > &a_reduceDir, bool a_exchange=false)
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
friend void dumpmemoryatexit()
Vector< int > m_transverseDir
Definition: ReductionCopier.H:216
void reverse()
reverse the direction of copy for an already-defined ReductionCopier
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
bool check(const DisjointBoxLayout &from, const BoxLayout &to) const
check that this Copier object corresponds to these two BoxLayouts.
Definition: DataIndex.H:114
virtual void nestedDILoops(const bool &a_firstLoop, const BoxLayout &a_sourceLayout, const BoxLayout &a_destLayout, const IntVect &a_ghostVect, const Box &a_domainBox, vector< DataIndex > &a_outerLoop, vector< DataIndex > &a_innerLoop, const Vector< int > &a_reduceLo, const Vector< int > &a_reduceHi, bool a_exchange=false)
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
virtual ~ReductionCopier()
Specialized copier for doing reductions in dimensionality.
Definition: ReductionCopier.H:37
virtual void setMotionItems(const int &a_itemProcID, const Box &a_fromBox, const Box &a_toBox, const bool &a_firstLoop, const DataIndex &a_fromdi, const DataIndex &a_todi, const bool &a_exchange=false)