Chombo + EB + MF
3.2
|
#include <MiniIVFAB.H>
Public Member Functions | |
MiniIVFAB () | |
MiniIVFAB (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin) | |
bool | hasVoFs () const |
MiniIVFAB (const Interval &a_comps, MiniIVFAB< T > &a_original) | |
virtual | ~MiniIVFAB () |
virtual void | define (const IntVectSet &a_region, const EBGraph &a_ebgraph, const int &a_nvarin) |
void | copy (const Box &a_fromBox, const Interval &a_dstInterval, const Box &a_toBox, const MiniIVFAB< T > &a_src, const Interval &a_srcInterval) |
int | size (const Box &R, const Interval &comps) const |
void | linearOut (void *buf, const Box &R, const Interval &comps) const |
void | linearIn (void *buf, const Box &R, const Interval &comps) |
Vector< VolIndex > | getVoFs () const |
T * | dataPtr (int a_ivar) |
const T * | dataPtr (int a_ivar) const |
void | setVal (const T &a_val) |
void | setVal (int a_comp, const T &a_val) |
void | setVal (const T &a_val, const Box &a_box, int a_startcomp, int a_ncomp) |
virtual T * | getIndex (const VolIndex &a_vof, const int &a_comp) const |
get index into vector More... | |
long | offset (const BaseIndex &a_vof, const int &a_ivar) const |
for AggStencil More... | |
T & | operator() (const VolIndex &a_vof, int a_comp) |
const T & | operator() (const VolIndex &a_vof, int a_comp) const |
template<typename F > | |
void | forall (const MiniIVFAB &a_src, const Box &a_box, int a_srccomp, int a_destcomp, int a_numcomp, bool sameRegBox, const F &func) |
int | numVoFs () const |
int | nComp () const |
Protected Attributes | |
shared_ptr< Vector< VolIndex > > | m_vofs |
shared_ptr< Vector< T > > | m_Memory |
int | m_nComp = 0 |
T * | m_data = nullptr |
MiniIVFAB is a templated data holder defined at the VoFs of an irregular domain.
Implemented as just a raw vector of vofs and data, more optimized for smaller memory footprint and faster linearIn/linearOut. will be more brutal for vof-by-vof indexing. bvs
Null constructor.
Referenced by MiniIVFAB< Real >::hasVoFs().
|
inline |
Defining constructor. Specifies the irregular domain and the number of data components per VoF. The irregular domain must lie completely within the EBGraph. The contents are uninitialized. Calls full define function.
|
inline |
This aliased MiniIVFAB will have a_comps.size() components, starting at zero.
Referenced by MiniIVFAB< Real >::hasVoFs().
|
inline |
|
inlinevirtual |
Full define function. Specifies the irregular domain and the number of data components per VoF. The irregular domain must lie completely within the EBGraph. The contents are uninitialized. If it has previously been defined, the old definition data is overwritten and lost.
Referenced by MiniIVFAB< Real >::hasVoFs(), and MiniIVFAB< Real >::MiniIVFAB().
|
inline |
Referenced by MiniIVFAB< Real >::hasVoFs().
Referenced by MiniIVFAB< Real >::hasVoFs().
|
inline |
Referenced by MiniIVFAB< Real >::hasVoFs().
|
inline |
Referenced by MiniIVFAB< Real >::hasVoFs().
Referenced by MiniIVFAB< Real >::hasVoFs().
|
inline |
Referenced by MiniIVFAB< Real >::forall(), and MiniIVFAB< Real >::getIndex().
|
inline |
|
inline |
Referenced by MiniIVFAB< Real >::dataPtr().
|
inline |
|
inline |
|
inlinevirtual |
get index into vector
needs to be public so that bulk stencils can be constructed
Referenced by MiniIVFAB< Real >::copy(), MiniIVFAB< Real >::dataPtr(), MiniIVFAB< Real >::linearIn(), and MiniIVFAB< Real >::operator()().
|
inline |
for AggStencil
|
inline |
void MiniIVFAB< T >::forall | ( | const MiniIVFAB< T > & | a_src, |
const Box & | a_box, | ||
int | a_srccomp, | ||
int | a_destcomp, | ||
int | a_numcomp, | ||
bool | sameRegBox, | ||
const F & | func | ||
) |
Referenced by MiniIVFAB< Real >::operator()(), and MiniIVFAB< Real >::setVal().
|
inline |
Referenced by MiniIVFAB< Real >::operator()().
|
inline |
Referenced by MiniIVFAB< Real >::copy(), MiniIVFAB< Real >::dataPtr(), MiniIVFAB< Real >::define(), MiniIVFAB< Real >::forall(), MiniIVFAB< Real >::getIndex(), MiniIVFAB< Real >::getVoFs(), MiniIVFAB< Real >::hasVoFs(), MiniIVFAB< Real >::linearOut(), MiniIVFAB< Real >::numVoFs(), MiniIVFAB< Real >::offset(), MiniIVFAB< Real >::setVal(), and MiniIVFAB< Real >::size().
Referenced by MiniIVFAB< Real >::define().
|
protected |
|
protected |