Chombo + EB
3.0
|
A multi-dimensional array class for Chombo. More...
Go to the source code of this file.
Classes | |
class | IntVect |
An integer Vector in SpaceDim-dimensional space. More... | |
class | Box |
A Rectangular Domain on an Integer Lattice. More... | |
struct | CHRange |
Defines a range of subscripts. More... | |
class | ArSp::TypeTr< T > |
Test for class type. More... | |
struct | ArSp::TypeTr< T >::Two |
struct | ArSp::AllocRawPolicy< T, IsClass > |
struct | ArSp::AllocRawPolicy< T, true > |
If elements are class type, allocate using placement new. More... | |
struct | ArSp::AllocRawPolicy< T, false > |
If element are not class type, just assign the address. More... | |
struct | ArSp::ReleaseRawPolicy< T, IsClass > |
struct | ArSp::ReleaseRawPolicy< T, true > |
If elements are class type, invoke destructor on each element. More... | |
struct | ArSp::ReleaseRawPolicy< T, false > |
If elements are not class type, do nothing. More... | |
class | ArSp::DefaultArrayAlloc< T > |
Default allocator. More... | |
class | ArSp::IndexerData< Rank, DimT > |
Any rank and a zero-based subscript. More... | |
class | ArSp::IndexerData< Rank, CHRange > |
Any rank and a subscript range. More... | |
class | ArSp::IndexerData< 1, DimT > |
Rank 1 and a zero-based subscript (no data) More... | |
class | ArSp::IndexerData< 1, CHRange > |
Rank 1 and a subscript range. More... | |
class | ArSp::RSIndexer< Rank, DimT > |
Rank > 2 for zero-based subscripts and > 1 for subscript ranges. More... | |
class | ArSp::RSIndexer< 1, DimT > |
Specialization for Rank 1 (any type of subscript) More... | |
class | ArSp::RSIndexer< 2, USz_t > |
Full specialization for Rank 2 and zero-based subscripts. More... | |
class | ArSp::CSIndexer< Rank, DimT > |
Rank > 2 for zero-based subscripts and > 1 for subscript ranges. More... | |
class | ArSp::CSIndexer< 1, DimT > |
Specialization for Rank 1 (any type of subscript) More... | |
class | ArSp::CSIndexer< 2, USz_t > |
Full specialization for Rank 2 and zero-based subscripts. More... | |
struct | ArSp::ArTr< Rank, ArConf > |
struct | ArSp::ArTr< Rank, ArZeroRow > |
struct | ArSp::ArTr< Rank, ArZeroCol > |
struct | ArSp::ArTr< Rank, ArRangeRow > |
struct | ArSp::ArTr< Rank, ArRangeCol > |
class | CHArray< T, Rank, ArConf, Alloc > |
Multidimensional array class. More... | |
struct | CHArray< T, Rank, ArConf, Alloc >::Array_impl |
class | ArSp::NewArrayAlloc< T > |
Allocator that only permits allocation by new. More... | |
class | ArSp::ArrayOfMatrixAlloc |
Allocator for an array of matrices contiguous in memory. More... | |
Namespaces | |
ArSp | |
Macros | |
#define | _CHARRAY_H_ |
#define | CH_assert(cond) assert(cond) |
#define | SpaceDim 2 |
#define | D_DECL6(a, b, c, d, e, f) a,b |
#define | D_TERM6(a, b, c, d, e, f) a b |
#define | D_DEFIV |
#define | D_DEFBOX |
#define | D_IXIV |
Typedefs | |
typedef double | Real |
typedef int | ArSp::IIx_t |
typedef unsigned | ArSp::USz_t |
Type of unsigned int for a size. More... | |
typedef CHArray< Real, 1, ArZeroCol, ArSp::DefaultArrayAlloc< Real > > | CHVector |
Vector definition. More... | |
typedef CHArray< Real, 2, ArZeroCol, ArSp::DefaultArrayAlloc< Real > > | CHMatrix |
Matrix defined with column-ordered storage. More... | |
Functions | |
template<typename T > | |
USz_t | ArSp::sizeOfDim (const T &dim) |
Get the size of a dimension. More... | |
template<> | |
USz_t | ArSp::sizeOfDim< CHRange > (const CHRange &dim) |
template<typename T , unsigned Rank, int ArConf, typename Alloc > | |
std::ostream & | operator<< (std::ostream &os, const CHArray< T, Rank, ArConf, Alloc > &A) |
Output of an array. More... | |
template<> | |
std::ostream & | operator<< (std::ostream &os, const CHMatrix &M) |
Pretty output of a matrix (should be in .cpp) More... | |
Support for describing dimensions by a range of subscripts | |
ArSp::USz_t | operator* (const CHRange &a, const CHRange &b) |
Multiply two dimensions. More... | |
ArSp::USz_t | operator* (const ArSp::USz_t &i, const CHRange &a) |
ArSp::USz_t | operator* (const CHRange &a, const ArSp::USz_t &i) |
A multi-dimensional array class for Chombo.
#define _CHARRAY_H_ |
#define CH_assert | ( | cond | ) | assert(cond) |
Referenced by List< T >::addAfter(), List< T >::addBefore(), MGLevelOp< LevelData< NodeFArrayBox > >::addCoarserObserver(), AMRMultiGrid< LevelData< T > >::addInspector(), ComputeCutCellMoments< dim >::addMomentMaps(), IFid::aggregate(), ArSp::DefaultArrayAlloc< T >::allocate(), ArSp::NewArrayAlloc< T >::allocate(), ArSp::ArrayOfMatrixAlloc::allocate(), AMRMultiGrid< LevelData< T > >::AMRVCycle(), MultilevelLinearOp< T >::assign(), BaseEBCellFAB< Real >::assign(), BASISV(), BASISV_TM(), BoxLayoutData< EBFluxFAB >::BoxLayoutData(), RootSolver::Brent(), CHRange::CHRange(), GraphNode::clear(), IndexTM< Real, GLOBALDIM >::coarsen(), IntVect::coarsen(), coarsen(), AMRMultiGrid< LevelData< T > >::computeAMRResidualLevel(), ComputeCutCellMoments< dim >::computeMoments(), Box::contains(), Box::convert(), IVSFAB< T >::copy(), BaseIFFAB< FaceStencil >::copy(), MiniIFFAB< Real >::copy(), BaseIVFAB< Real >::copy(), BaseEBCellFAB< Real >::copy(), BaseEBFaceFAB< Real >::copy(), BaseFab< Real >::copy(), LevelData< EBFluxFAB >::copyTo(), AliasDataFactory< T >::create(), GMRESSolver< T >::CycleGMRES(), IVSFAB< T >::dataPtr(), MiniIFFAB< Real >::dataPtr(), BaseIFFAB< FaceStencil >::dataPtr(), BaseIVFAB< Real >::dataPtr(), BaseFab< Real >::dataPtr(), MultilevelLinearOp< T >::define(), IVSFAB< T >::define(), PetscSolver< LevelData< FArrayBox > >::define(), BaseIFFAB< FaceStencil >::define(), MiniIFFAB< Real >::define(), LayoutData< Vector< IntVectSet > >::define(), LevelData< EBFluxFAB >::define(), MiniIVFAB< Real >::define(), BaseIVFAB< Real >::define(), BaseEBCellFAB< Real >::define(), BaseEBFaceFAB< Real >::define(), BoxLayoutData< EBFluxFAB >::define(), BaseFab< Real >::define(), BaseEBFaceFAB< Real >::direction(), MultilevelLinearOp< T >::dotProduct(), TupleKeyMap< TupleTypenames, ValueT >::fetch(), BaseEBCellFAB< Real >::fill(), List< T >::firstElement(), EBPatchAdvect::floorPrimitives(), BoxLayoutData< EBFluxFAB >::generalCopyTo(), BoxLayout::get(), BaseEBFaceFAB< Real >::getCellRegion(), EBLevelGrid::getCFIVS(), QuadCFStencil::getCoarIVS(), LevelFluxRegister::getCoarseLocations(), EBLevelGrid::getCoveringIVS(), EBLevelGrid::getDBL(), CodimBox::getDirections(), EBLevelGrid::getDomain(), EBLevelGrid::getEBIS(), EBLevelGrid::getEBISL(), QuadCFStencil::getFineIVS(), EBLevelGrid::getGhost(), MiniIVFAB< Real >::getIndex(), MiniIFFAB< Real >::getIndex(), IVSFAB< T >::getIndex(), BaseIVFAB< Real >::getIndex(), BaseIFFAB< FaceStencil >::getLocalVecIndex(), EBLevelGrid::getMaxCoarseningRatio(), EBLevelGrid::getMaxRefinementRatio(), BaseEBCellFAB< Real >::getMultiCells(), BaseEBFaceFAB< Real >::getMultiValuedFAB(), BaseEBCellFAB< Real >::getMultiValuedFAB(), CodimBox::getNumOrient(), BaseEBCellFAB< Real >::getRegion(), BaseEBFaceFAB< Real >::getRegion(), CodimBox::getSequential(), BaseEBFaceFAB< Real >::getSingleValuedFAB(), BaseEBCellFAB< Real >::getSingleValuedFAB(), BaseFab< Real >::getVal(), ParticleVector< T, Comparator >::global_sort(), EBFluxRegister::incrementCoarse(), EBFluxRegister::incrementFine(), GraphNodeImplem::index(), Histogram::Init(), TupleKeyMap< TupleTypenames, ValueT >::insert(), ipow(), CFIVS::isEmpty(), QuadCFStencil::isEmpty(), CFIVS::isPacked(), ArSp::RSIndexer< Rank, DimT >::ixIndex1D(), ArSp::RSIndexer< 1, DimT >::ixIndex1D(), ArSp::RSIndexer< 2, USz_t >::ixIndex1D(), ArSp::CSIndexer< Rank, DimT >::ixIndex1D(), ArSp::CSIndexer< 1, DimT >::ixIndex1D(), ArSp::CSIndexer< 2, USz_t >::ixIndex1D(), List< T >::lastElement(), LayoutData< Vector< IntVectSet > >::LayoutData(), MiniIVFAB< Real >::linearIn(), BaseIVFAB< Real >::linearIn(), MiniIFFAB< Real >::linearIn(), BaseIFFAB< FaceStencil >::linearIn(), IVSFAB< T >::linearIn(), linearOut(), MiniIVFAB< Real >::linearOut(), BaseIVFAB< Real >::linearOut(), MiniIFFAB< Real >::linearOut(), BaseIFFAB< FaceStencil >::linearOut(), IVSFAB< T >::linearOut(), CHArray< T, Rank, ArConf, Alloc >::lowerBound(), ParticleVector< T, Comparator >::memsort(), Histogram::mws_private(), BaseEBCellFAB< Real >::nComp(), BaseEBFaceFAB< Real >::nComp(), BaseFab< Real >::nCompPtr(), MGLevelOp< LevelData< NodeFArrayBox > >::notifyObserversOfChange(), BaseFab< Real >::offset(), NeighborIterator::ok(), RefCountedPtr< DataFactory< NodeFArrayBox > >::operator RefCountedPtr< T2 >(), NeighborIterator::operator()(), LayoutIterator::operator()(), ShiftIterator::operator()(), ListIterator< T >::operator()(), Scheduler::PeriodicFunctionLessThan::operator()(), IndirectIndirectInvertedLess< InIt, Comparator >::operator()(), BoxIterator::operator()(), IVSFAB< T >::operator()(), MiniIFFAB< Real >::operator()(), BaseIFFAB< FaceStencil >::operator()(), BaseEBCellFAB< Real >::operator()(), BaseIVFAB< Real >::operator()(), BaseEBFaceFAB< Real >::operator()(), BaseFab< Real >::operator()(), CopyIterator::operator()(), CHArray< T, Rank, ArConf, Alloc >::operator()(), ListIterator< T >::operator*(), DenseIntVectSetIterator::operator++(), operator<<(), IntVect::operator=(), CHArray< T, Rank, ArConf, Alloc >::operator=(), IFidTable::operator[](), Tuple< EBFaceFAB *, CH_SPACEDIM >::operator[](), LayoutData< Vector< IntVectSet > >::operator[](), BitSet::operator[](), RealVect::operator[](), IndexTM< Real, GLOBALDIM >::operator[](), BoxLayout::operator[](), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::operator[](), List< T >::operator[](), CodimBox::orientBox(), CFIVS::packedBox(), BaseFab< Real >::performCopy(), BaseFab< Real >::performSetVal(), MultilevelLinearOp< T >::preCond(), BoxLayout::procID(), read(), IndexTM< Real, GLOBALDIM >::reflect(), IntVect::reflect(), reflect(), EBFastFR::reflux(), AMRMultiGrid< LevelData< T > >::relaxOnlyHomogeneous(), List< T >::removeLink(), List< T >::replace(), MultilevelLinearOp< T >::residual(), GMRESSolver< T >::ResidualGMRES(), Box::sameSize(), CodimBox::seq2bit(), Box::setBig(), AMRMultiGrid< LevelData< T > >::setBottomSolverEpsCushion(), BaseEBCellFAB< Real >::setCoveredCellVal(), BaseEBFaceFAB< Real >::setCoveredFaceVal(), EBLevelGrid::setMaxCoarseningRatio(), EBLevelGrid::setMaxRefinementRatio(), PetscSolver< LevelData< FArrayBox > >::setNull(), MGLevelOpObserver< LevelData< NodeFArrayBox > >::setObservee(), BitSetIterator::setpos(), BoxLayout::setProcID(), Box::setRange(), GMRESSolver< T >::setRestartLen(), Box::setSmall(), PetscSolver< LevelData< FArrayBox > >::setup_solver(), IVSFAB< T >::setVal(), BaseIFFAB< FaceStencil >::setVal(), MiniIFFAB< Real >::setVal(), BaseIVFAB< Real >::setVal(), IntVect::setVal(), BaseEBCellFAB< Real >::setVal(), IndexTM< Real, GLOBALDIM >::setVal(), IndexTM< Real, GLOBALDIM >::shift(), IntVect::shift(), IVSFAB< T >::size(), MiniIVFAB< Real >::size(), BaseIVFAB< Real >::size(), MiniIFFAB< Real >::size(), BaseIFFAB< FaceStencil >::size(), CHArray< T, Rank, ArConf, Alloc >::size(), BiCGStabSolver< LevelData< T > >::solve(), RelaxSolver< T >::solve(), PetscSolver< LevelData< FArrayBox > >::solve_private(), AMRMultiGrid< LevelData< T > >::solveNoInitResid(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::timeInterp(), List< T >::transfer(), BaseFab< Real >::undefine(), CHArray< T, Rank, ArConf, Alloc >::undefine(), BoxLayoutData< EBFluxFAB >::unpackReceivesToMe_append(), BaseLevelBackwardEuler< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSoln(), BaseLevelCrankNicolson< LevelData< EBCellFAB >, EBFluxFAB, EBFluxRegister >::updateSoln(), BaseLevelTGA< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSolnWithTimeDependentOp(), BaseLevelTGA< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSolnWithTimeIndependentOp(), CHArray< T, Rank, ArConf, Alloc >::upperBound(), ListIterator< T >::value(), VarCoefStencil::weight(), VoFStencil::weight(), and write().
#define SpaceDim 2 |
#define D_DECL6 | ( | a, | |
b, | |||
c, | |||
d, | |||
e, | |||
f | |||
) | a,b |
#define D_TERM6 | ( | a, | |
b, | |||
c, | |||
d, | |||
e, | |||
f | |||
) | a b |
Referenced by ProblemDomain::contains(), ProblemDomain::image(), IndexType::IndexType(), IntVect::IntVect(), Box::isEmpty(), ProblemDomain::isPeriodic(), EBISLevel::match(), IntVect::operator!=(), RealVect::operator<(), IntVect::operator<(), RealVect::operator<=(), IntVect::operator<=(), IndexType::operator=(), IntVect::operator==(), RealVect::operator>(), IntVect::operator>(), RealVect::operator>=(), IntVect::operator>=(), RealVect::product(), Box::sameSize(), DenseIntVectSetIterator::setStride(), IntVect::sum(), and RealVect::sum().
#define D_DEFIV |
Referenced by CHArray< T, Rank, ArConf, Alloc >::define().
#define D_DEFBOX |
Referenced by CHArray< T, Rank, ArConf, Alloc >::define().
#define D_IXIV |
Referenced by CHArray< T, Rank, ArConf, Alloc >::operator()().
typedef double Real |
Matrix defined with column-ordered storage.
|
inline |
Multiply two dimensions.
References ArSp::sizeOfDim().
|
inline |
References ArSp::sizeOfDim().
|
inline |
References ArSp::sizeOfDim().
std::ostream& operator<< | ( | std::ostream & | os, |
const CHArray< T, Rank, ArConf, Alloc > & | A | ||
) |
Output of an array.
References CHArray< T, Rank, ArConf, Alloc >::begin(), CH_assert, CHArray< T, Rank, ArConf, Alloc >::end(), CHArray< T, Rank, ArConf, Alloc >::isAllocated(), and IntVect::p().
|
inline |
Pretty output of a matrix (should be in .cpp)
References CH_assert, CHArray< T, Rank, ArConf, Alloc >::isAllocated(), and CHArray< T, Rank, ArConf, Alloc >::size().