11 #ifndef _BOXLAYOUTDATA_H_    12 #define _BOXLAYOUTDATA_H_    21 #include "NamespaceHeader.H"   115     return m_origPointer->threadSafe();
   158   void define(
const int a_dir);
   182     return arg.size(b, comps);
   187     arg.linearOut(buf, R, comps);
   192     arg.linearIn(buf, R, comps);
   204   virtual void op(T& dest,
   205           const Box& RegionFrom,
   213       dest.copy(RegionFrom, Cdest,RegionTo, src, Csrc);
   217       int sizeSource = size(src,  RegionFrom, Csrc);
   218       int sizeDest   = size(dest, RegionTo,   Cdest);
   220       if (T::preAllocatable() == 0 || T::preAllocatable() == 1)
   222         if (sizeSource != sizeDest)
   224             MayDay::Abort(
"LinearizationTest failure: dest and source have different sizes");
   228       void* b = (
void*)&(buffer[0]);
   284   virtual void define(
const BoxLayout& boxes, 
int comps,
   299   virtual void define(
const BoxLayout& boxes);
   327   void generalCopyTo(
const BoxLayout& a_destGrids,
   334   void generalCopyTo(
const BoxLayout& a_destGrids,
   346   void addTo(
const Interval& a_srcComps,
   356   void addTo(
const Interval& a_srcComps,
   360              const Copier& a_copier) 
const;
   377   virtual void apply(
void (*a_Function)(
const Box& 
box, 
int comps, T& t));
   380   virtual bool isDefined() 
const;
   382   virtual void clear() ;
   477   mutable int numSends, numReceives;
   517 #include "NamespaceFooter.H"   520 #endif //BOXLAYOUTDATA void unpackReceivesToMe(BoxLayoutData< T > &a_dest, const Interval &a_destComps, const LDOperator< T > &a_op) const
Definition: BoxLayoutDataI.H:365
 
void postSendsFromMe() const
Definition: BoxLayoutDataI.H:355
 
void postReceivesToMe() const
Definition: BoxLayoutDataI.H:360
 
void allocateBuffers(const BoxLayoutData< T > &a_src, const Interval &a_srcComps, const BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op) const
Definition: BoxLayoutDataI.H:337
 
int m_comps
Definition: BoxLayoutData.H:387
 
CopierBuffer * m_buff
Definition: BoxLayoutData.H:466
 
A reference-counting handle class. 
Definition: RefCountedPtr.H:173
 
Interval interval() const
Definition: BoxLayoutData.H:312
 
Interval m_interval
Definition: BoxLayoutData.H:119
 
A class to facilitate interaction with physical boundary conditions. 
Definition: ProblemDomain.H:141
 
LayoutData< Real * > aliasPtrs
Definition: BoxLayoutData.H:94
 
virtual void linearIn(T &arg, void *buf, const Box &R, const Interval &comps) const
Definition: BoxLayoutData.H:189
 
virtual bool threadSafe() const
this boolean only has to do with whether the op(...) function is thread safe 
Definition: BoxLayoutData.H:200
 
void makeItSoLocalCopy(const Interval &a_srcComps, const BoxLayoutData< T > &a_src, BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op=LDOperator< T >()) const
Definition: BoxLayoutDataI.H:291
 
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
 
Real norm(const BoxLayoutData< FArrayBox > &A, const Interval &interval, const int &p=2)
 
A strange but true thing to make copying from one boxlayoutdata to another fast. 
Definition: Copier.H:145
 
void makeItSoBegin(const Interval &a_srcComps, const BoxLayoutData< T > &a_src, BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op=LDOperator< T >()) const
Definition: BoxLayoutDataI.H:250
 
void completePendingSends() const
Definition: BoxLayoutDataI.H:332
 
void setVector(const BoxLayoutData< T > &da, const Interval &srcComps, const Interval &destComps)
Definition: BoxLayoutDataI.H:47
 
virtual ~DataFactory()
Definition: BoxLayoutData.H:34
 
virtual bool callDelete() const
Definition: BoxLayoutData.H:43
 
virtual void op(T &dest, const Box &RegionFrom, const Interval &Cdest, const Box &RegionTo, const T &src, const Interval &Csrc) const
Definition: BoxLayoutData.H:204
 
virtual ~FABAliasFlBxDataFactory()
Definition: BoxLayoutData.H:127
 
Definition: EBInterface.H:45
 
Definition: BoxLayoutData.H:150
 
Factory object to data members of a BoxLayoutData container. 
Definition: BoxLayoutData.H:70
 
A FArrayBox-like container for face-centered fluxes. 
Definition: FluxBox.H:22
 
virtual ~FaceFabDataFactory()
Definition: BoxLayoutData.H:153
 
void const char const int const int const int const Real const Real * A
Definition: Lapack.H:83
 
virtual int size(const T &arg, const Box &b, const Interval &comps) const
Definition: BoxLayoutData.H:180
 
Structure for passing component ranges in code. 
Definition: Interval.H:23
 
void unpackReceivesToMe_append(LayoutData< Vector< RefCountedPtr< T > > > &a_dest, const Interval &a_destComps, int ncomp, const DataFactory< T > &factory, const LDOperator< T > &a_op) const
Definition: BoxLayoutDataI.H:372
 
int m_dir
Definition: BoxLayoutData.H:166
 
new code 
Definition: BoxLayoutData.H:170
 
void allocateGhostVector(const DataFactory< T > &factory, const IntVect &ghost=IntVect::Zero)
Definition: BoxLayoutDataI.H:172
 
Data on a BoxLayout. 
Definition: BoxLayoutData.H:97
 
static int s_verbosity
Definition: BoxLayoutData.H:384
 
void linearOut(void *const a_outBuf, const T &inputT)
Definition: SPMDI.H:33
 
double Real
Definition: REAL.H:33
 
BoxLayoutData< FluxBox > * m_origPointer
Definition: BoxLayoutData.H:142
 
Definition: BoxLayoutData.H:80
 
virtual ~LDOperator()
Definition: BoxLayoutData.H:177
 
Definition: BoxLayoutData.H:124
 
void makeItSo(const Interval &a_srcComps, const BoxLayoutData< T > &a_src, BoxLayoutData< T > &a_dest, const Interval &a_destComps, const Copier &a_copier, const LDOperator< T > &a_op=LDOperator< T >()) const
Definition: BoxLayoutDataI.H:237
 
virtual ~AliasDataFactory()
Definition: BoxLayoutData.H:103
 
virtual ~FABAliasDataFactory()
Definition: BoxLayoutData.H:83
 
virtual bool threadSafe() const
Definition: BoxLayoutData.H:113
 
virtual bool threadSafe() const
Definition: BoxLayoutData.H:49
 
static const IntVect Zero
Definition: IntVect.H:654
 
A Rectangular Domain on an Integer Lattice. 
Definition: Box.H:465
 
void makeItSoEnd(BoxLayoutData< T > &a_dest, const Interval &a_destComps, const LDOperator< T > &a_op=LDOperator< T >()) const
Definition: BoxLayoutDataI.H:318
 
int nComp() const
Definition: BoxLayoutData.H:306
 
Definition: DataIndex.H:112
 
Definition: BoxLayoutData.H:100
 
void writeSendDataFromMeIntoBuffers(const BoxLayoutData< T > &a_src, const Interval &a_srcComps, const LDOperator< T > &a_op) const
Definition: BoxLayoutDataI.H:348
 
bool m_isdefined
Definition: BoxLayoutData.H:389
 
An integer Vector in SpaceDim-dimensional space. 
Definition: CHArray.H:42
 
Definition: FArrayBox.H:45
 
virtual T * create(const Box &box, int ncomps, const DataIndex &a_datInd) const =0
factory function. creates a new 'T' object 
 
Factory object to data members of a BoxLayoutData container. 
Definition: BoxLayoutData.H:30
 
int m_dir
Definition: BoxLayoutData.H:144
 
virtual bool threadSafe() const
Definition: BoxLayoutData.H:301
 
virtual void linearOut(const T &arg, void *buf, const Box &R, const Interval &comps) const
Definition: BoxLayoutData.H:184
 
Definition: BoxLayoutData.H:173
 
BoxLayoutData< T > * m_origPointer
Definition: BoxLayoutData.H:118
 
bool m_threadSafe
Definition: BoxLayoutData.H:388
 
virtual T * create(const Box &box, int ncomps, const DataIndex &a_datInd) const
factory function. creates a new 'T' object 
Definition: BoxLayoutDataI.H:33
 
void linearIn(T &a_outputT, const void *const inBuf)
Definition: SPMDI.H:27
 
Interval m_interval
Definition: BoxLayoutData.H:143
 
static void Abort(const char *const a_msg=m_nullString)
Print out message to cerr and exit via abort() (if serial) or MPI_Abort() (if parallel).