2 #ifndef _PROTO_FLUX_REGISTER_ 3 #define _PROTO_FLUX_REGISTER_ 12 template<
typename T,
unsigned int C, MemType MEM>
14 template<
typename T,
unsigned int C, MemType MEM>
23 template<
typename T,
unsigned int C=1, MemType MEM = MEMTYPE_DEFAULT>
64 template<
typename T,
unsigned int C=1, MemType MEM=MEMTYPE_DEFAULT>
66 :
public Copier<FluxRegisterCopierOp<T, C, MEM>, BoxPartition, BoxPartition, MEM, MEM>
82 template<
typename T,
unsigned int C, MemType MEM>
94 const Point& a_refRatio,
100 const Point& a_refRatio,
108 void incrementCoarse(
131 void reset(T a_val = 0);
164 #include "implem/Proto_LevelFluxRegisterImplem.H" 166 #endif // end include guard Flux Register.
Definition: Proto_LevelFluxRegister.H:13
std::vector< std::vector< shared_ptr< BoxData< T, C, MEM > > > > m_crseIncrement
Definition: Proto_LevelFluxRegister.H:155
LevelFluxRegister< T, C, MEM > * m_register
Definition: Proto_LevelFluxRegister.H:28
FluxRegisterCopier()
Definition: Proto_LevelFluxRegister.H:70
Multidimensional Rectangular Array.
Definition: Proto_BoxData.H:314
Flux Register Copier.
Definition: Proto_LevelFluxRegister.H:15
Disjoint Box Layout.
Definition: Proto_DisjointBoxLayout.H:30
std::vector< Array< Array< int, 2 >, DIM > > m_fineIndices
Definition: Proto_LevelFluxRegister.H:161
void localCopy(const LevelMotionItem &a_info) const
Local Copy.
Definition: Proto_LevelFluxRegister.H:40
DisjointBoxLayout m_fineLayout
Definition: Proto_LevelFluxRegister.H:147
Point m_refRatio
Definition: Proto_LevelFluxRegister.H:150
Level Box Data.
Definition: Proto_HDF5.H:17
void linearIn(void *a_buf, const LevelMotionItem &a_info) const
Serial Read From Buffer.
Definition: Proto_LevelFluxRegister.H:28
std::vector< std::vector< Register< T, C, MEM > > > m_crseRegisters
Definition: Proto_LevelFluxRegister.H:153
DisjointBoxLayout m_crseLayout
Definition: Proto_LevelFluxRegister.H:146
An interval in DIM dimensional space.
Definition: Proto_Box.H:29
FluxRegisterCopierOp()
Definition: Proto_LevelFluxRegister.H:31
void linearOut(void *a_buf, const LevelMotionItem &a_info) const
Serial Write To Buffer.
Definition: Proto_LevelFluxRegister.H:16
Definition: Proto_Array.H:17
int linearSize(const Box &a_bx, const DataIndex< BoxPartition > &a_index) const
Get Serialized Size.
Definition: Proto_LevelFluxRegister.H:9
Flux Register Copier Op.
Definition: Proto_LevelFluxRegister.H:24
std::vector< std::vector< Register< T, C, MEM > > > m_fineRegisters
Definition: Proto_LevelFluxRegister.H:157
Integer Valued Vector.
Definition: Proto_Point.H:24
DisjointBoxLayout crseLayout() const
Access to layouts.
Definition: Proto_LevelFluxRegister.H:139
std::vector< unordered_map< unsigned int, unsigned int > > m_crseIndices
Definition: Proto_LevelFluxRegister.H:159
DisjointBoxLayout fineLayout() const
Definition: Proto_LevelFluxRegister.H:140
FluxRegisterCopier< T, C, MEM > m_copier
Definition: Proto_LevelFluxRegister.H:149
Array< T, DIM > m_dxCrse
Definition: Proto_LevelFluxRegister.H:148
LevelFluxRegister()
Default constructor.
Definition: Proto_LevelFluxRegister.H:90
Abstract Generic Parallel Copier.
Definition: Proto_Copier.H:60
Definition: Proto_Copier.H:22
Array< Array< Stencil< T >, 2 >, DIM > m_avgFlux
Definition: Proto_LevelFluxRegister.H:162