OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <LField.h>
Public Types | |
typedef CompressedBrickIterator< T, Dim > | iterator |
typedef NDIndex< Dim > | Domain_t |
typedef std::vector< LField< T, Dim > * >::iterator | OverlapIterator |
Public Member Functions | |
LField (const NDIndex< Dim > &owned, const NDIndex< Dim > &allocated, int vnode=-1) | |
LField (const NDIndex< Dim > &owned, const NDIndex< Dim > &allocated, int vnode, bool p) | |
LField (const LField< T, Dim > &) | |
~LField () | |
int | size (unsigned d) const |
const NDIndex< Dim > & | getAllocated () const |
const NDIndex< Dim > & | getOwned () const |
T * | getP () |
int | getVnode () const |
const iterator & | begin () const |
const iterator & | end () const |
iterator | begin (const NDIndex< Dim > &domain) |
iterator | begin (const NDIndex< Dim > &domain, T &) |
bool | IsCompressed () const |
bool | TryCompress (bool baseOnPhysicalCells=false) |
bool | CanCompress () const |
bool | CanCompress (T x) const |
void | Compress () |
void | Compress (const T &val) |
void | Uncompress (bool fill_domain=true) |
T & | getCompressedData () |
const T & | getCompressedData () const |
bool | OverlapCacheInitialized () |
void | AddToOverlapCache (LField< T, Dim > *newCacheItem) |
OverlapIterator | BeginOverlap () |
OverlapIterator | EndOverlap () |
void | swapData (LField< T, Dim > &a) |
void | write (std::ostream &) const |
Private Member Functions | |
bool | CanCompressBasedOnPhysicalCells () const |
void | ReallyUncompress (bool fill_domain) |
void | CompressBasedOnPhysicalCells () |
void | allocateStorage (int newsize) |
void | deallocateStorage () |
LField () | |
const LField< T, Dim > & | operator= (const LField< T, Dim > &) |
Private Attributes | |
int | vnode_m |
T * | P |
bool | Pinned |
NDIndex< Dim > | Owned |
NDIndex< Dim > | Allocated |
iterator | Begin |
iterator | End |
T | CompressedData |
std::vector< LField< T, Dim > * > | overlap |
bool | overlapCacheInited |
int | allocCompressIndex |
int | ownedCompressIndex |
long | offsetBlocks |
typedef CompressedBrickIterator<T,Dim> LField< T, Dim >::iterator |
LField< T, Dim >::LField | ( | const NDIndex< Dim > & | owned, |
const NDIndex< Dim > & | allocated, | ||
int | vnode = -1 |
||
) |
Definition at line 85 of file LField.hpp.
LField< T, Dim >::LField | ( | const NDIndex< Dim > & | owned, |
const NDIndex< Dim > & | allocated, | ||
int | vnode, | ||
bool | p | ||
) |
Definition at line 114 of file LField.hpp.
Definition at line 148 of file LField.hpp.
Definition at line 199 of file LField.hpp.
|
inline |
Definition at line 188 of file LField.h.
References LField< T, Dim >::overlap, and LField< T, Dim >::overlapCacheInited.
Referenced by BareField< T, Dim >::accumGuardCells().
Definition at line 694 of file LField.hpp.
References ADDIPPLSTAT, IPPL_CACHE_LINE_SIZE, IpplInfo::offsetStorage, PAssert, PAssert_GE, PAssert_GT, and Attrib::Legacy::Distribution::T.
Definition at line 110 of file LField.h.
References LField< T, Dim >::Begin.
Referenced by BareField< T, Dim >::accumGuardCells(), ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), assign(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply2(), ExtrapolateAndZeroFaceBCApply2(), ExtrapolateAndZeroFaceBCApply3(), ExtrapolateFaceBCApply2(), FieldDebugWriteb(), FunctionFaceBCApply(), FieldDataSource< T, Dim, M, C >::gather_data(), Interpolator::getFieldIter(), BareField< T, Dim >::getsingle(), BareField< T, Dim >::getsingle_bc(), IndexedLocalAssign(), IndexedReceive(), IndexedSend(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply2(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), SubFieldIter< T, Dim, SOffset< Dim > >::setLFieldData(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), TryCompressLHS(), and DiscField< Dim >::write().
LField< T, Dim >::iterator LField< T, Dim >::begin | ( | const NDIndex< Dim > & | domain | ) |
Definition at line 601 of file LField.hpp.
LField< T, Dim >::iterator LField< T, Dim >::begin | ( | const NDIndex< Dim > & | domain, |
T & | compstore | ||
) |
Definition at line 620 of file LField.hpp.
|
inline |
Definition at line 198 of file LField.h.
References LField< T, Dim >::overlap.
Referenced by BareField< T, Dim >::accumGuardCells().
Definition at line 146 of file LField.h.
References LField< T, Dim >::Begin, and LField< T, Dim >::IsCompressed().
Definition at line 256 of file LField.hpp.
References ADDIPPLSTAT, endl(), IpplInfo::extraCompressChecks, LFIELDMSG, IpplInfo::noFieldCompression, PAssert, PAssert_GE, PAssert_GT, PAssert_LT, and Attrib::Legacy::Distribution::T.
Definition at line 389 of file LField.hpp.
References ADDIPPLSTAT, begin(), endl(), IpplInfo::extraCompressChecks, INFORM_ALL_NODES, LFIELDMSG, IpplInfo::noFieldCompression, PAssert_LT, BrickCounter< Dim >::size(), and Attrib::Legacy::Distribution::T.
Definition at line 161 of file LField.h.
References LField< T, Dim >::IsCompressed(), and LField< T, Dim >::P.
Referenced by assign(), IndexedLocalAssign(), IndexedReceive(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), and TryCompressLHS().
Definition at line 477 of file LField.hpp.
References begin(), end(), endl(), INFORM_ALL_NODES, LFIELDMSG, and IpplInfo::noFieldCompression.
Definition at line 527 of file LField.hpp.
References begin(), and IpplInfo::noFieldCompression.
Definition at line 723 of file LField.hpp.
References IPPL_CACHE_LINE_SIZE, IpplInfo::offsetStorage, and Attrib::Legacy::Distribution::T.
Definition at line 111 of file LField.h.
References LField< T, Dim >::End.
Referenced by ComponentLinearExtrapolateFaceBCApply2(), and LinearExtrapolateFaceBCApply2().
|
inline |
Definition at line 199 of file LField.h.
References LField< T, Dim >::overlap.
Referenced by BareField< T, Dim >::accumGuardCells().
|
inline |
Definition at line 98 of file LField.h.
References LField< T, Dim >::Allocated.
Referenced by BareField< T, Dim >::accumGuardCells(), PatchBC< T, D, M, C >::apply(), assign(), CalcIndexedReceive(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FunctionFaceBCApply(), Interpolator::getFieldIter(), IndexedLocalAssign(), IndexedReceive(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), BareField< T, Dim >::localElement(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and UniformCartesian< Dim, MFLOAT >::storeSpacingFields().
Definition at line 179 of file LField.h.
References LField< T, Dim >::CompressedData.
Referenced by ExtrapolateAndZeroFaceBCApply2(), ExtrapolateAndZeroFaceBCApply3(), ExtrapolateFaceBCApply2(), and BareField< T, Dim >::setGuardCells().
Definition at line 180 of file LField.h.
References LField< T, Dim >::CompressedData.
Definition at line 99 of file LField.h.
References LField< T, Dim >::Owned.
Referenced by BareField< T, Dim >::accumGuardCells(), PatchBC< T, D, M, C >::apply(), assign(), ComponentFunctionFaceBCApply(), BareField< T, Dim >::CompressedFraction(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FieldDebugWriteb(), FunctionFaceBCApply(), FieldDataSource< T, Dim, M, C >::gather_data(), Interpolator::getFieldIter(), IndexedLocalAssign(), IndexedReceive(), IndexedSend(), InterpolationFaceBCApply(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), SubFieldIter< T, Dim, SOffset< Dim > >::setLFieldData(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), TryCompressLHS(), DiscField< Dim >::write(), and BareField< T, Dim >::write().
Definition at line 100 of file LField.h.
References LField< T, Dim >::P.
Referenced by BareField< T, Dim >::localElement(), and FFT< CCTransform, Dim, T >::transform().
Definition at line 103 of file LField.h.
References LField< T, Dim >::vnode_m.
|
inline |
Definition at line 134 of file LField.h.
References LField< T, Dim >::P.
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), assign(), LField< T, Dim >::CanCompress(), ComponentLinearExtrapolateFaceBCApply2(), LField< T, Dim >::Compress(), BareField< T, Dim >::CompressedFraction(), ExtrapolateAndZeroFaceBCApply2(), ExtrapolateAndZeroFaceBCApply3(), ExtrapolateFaceBCApply2(), IndexedLocalAssign(), IndexedReceive(), LinearExtrapolateFaceBCApply2(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), TryCompressLHS(), and LField< T, Dim >::Uncompress().
|
private |
Definition at line 186 of file LField.h.
References LField< T, Dim >::overlapCacheInited.
Referenced by BareField< T, Dim >::accumGuardCells().
|
private |
Definition at line 558 of file LField.hpp.
References endl(), INFORM_ALL_NODES, LFIELDMSG, Hypervolume::n, PAssert_NE, and Attrib::Legacy::Distribution::T.
Referenced by LField< T, Dim >::Uncompress().
Definition at line 97 of file LField.h.
References LField< T, Dim >::Owned.
Referenced by FieldDebugWriteb(), and FFT< CCTransform, Dim, T >::transform().
Definition at line 637 of file LField.hpp.
References a, PAssert, and Attrib::Legacy::Distribution::T.
bool LField< T, Dim >::TryCompress | ( | bool | baseOnPhysicalCells = false | ) |
Definition at line 214 of file LField.hpp.
References endl(), INFORM_ALL_NODES, LFIELDMSG, and IpplInfo::noFieldCompression.
Referenced by assign().
|
inline |
Definition at line 172 of file LField.h.
References LField< T, Dim >::IsCompressed(), and LField< T, Dim >::ReallyUncompress().
Referenced by BareField< T, Dim >::accumGuardCells(), ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), PatchBC< T, D, M, C >::apply(), assign(), ComponentFunctionFaceBCApply(), ExtrapolateAndZeroFaceBCApply2(), ExtrapolateAndZeroFaceBCApply3(), ExtrapolateFaceBCApply2(), FunctionFaceBCApply(), IndexedLocalAssign(), IndexedReceive(), InterpolationFaceBCApply(), BareField< T, Dim >::localElement(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), FFT< CCTransform, Dim, T >::transform(), and TryCompressLHS().
Definition at line 746 of file LField.hpp.
References begin(), and end().
Definition at line 238 of file LField.h.
Referenced by LField< T, Dim >::getAllocated().
Definition at line 242 of file LField.h.
Referenced by LField< T, Dim >::begin(), and LField< T, Dim >::CanCompress().
Definition at line 250 of file LField.h.
Referenced by LField< T, Dim >::getCompressedData().
Definition at line 246 of file LField.h.
Referenced by LField< T, Dim >::end().
Definition at line 254 of file LField.h.
Referenced by LField< T, Dim >::AddToOverlapCache(), LField< T, Dim >::BeginOverlap(), and LField< T, Dim >::EndOverlap().
Definition at line 255 of file LField.h.
Referenced by LField< T, Dim >::AddToOverlapCache(), and LField< T, Dim >::OverlapCacheInitialized().
Definition at line 234 of file LField.h.
Referenced by LField< T, Dim >::getOwned(), and LField< T, Dim >::size().
Definition at line 226 of file LField.h.
Referenced by LField< T, Dim >::Compress(), LField< T, Dim >::getP(), and LField< T, Dim >::IsCompressed().
Definition at line 222 of file LField.h.
Referenced by LField< T, Dim >::getVnode().