OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <BareField.h>
Public Types | |
enum | { Dim_u = Dim } |
enum | { IsExpr = 0 } |
typedef T | T_t |
typedef FieldLayout< Dim > | Layout_t |
typedef LField< T, Dim > | LField_t |
typedef vmap< typename Unique::type, my_auto_ptr< LField< T, Dim > > > | ac_id_larray |
typedef ac_id_larray::iterator | iterator_if |
typedef ac_id_larray::const_iterator | const_iterator_if |
typedef LField< T, Dim >::iterator | LFI |
typedef BareFieldIterator< T, Dim > | iterator |
typedef iterator | PETE_Expr_t |
![]() | |
typedef Unique::type | ID_t |
![]() | |
typedef BareField< T, Dim > | Wrapped |
Public Member Functions | |
BareField () | |
BareField (const BareField< T, Dim > &) | |
BareField (Layout_t &) | |
BareField (Layout_t &, const GuardCellSizes< Dim > &) | |
~BareField () | |
void | initialize (Layout_t &) |
void | initialize (Layout_t &, const bool) |
void | initialize (Layout_t &, const GuardCellSizes< Dim > &) |
iterator_if | begin_if () |
iterator_if | end_if () |
const_iterator_if | begin_if () const |
const_iterator_if | end_if () const |
ac_id_larray::size_type | size_if () const |
virtual void | fillGuardCells (bool reallyFill=true) const |
void | setGuardCells (const T &) const |
void | accumGuardCells () |
bool | isDirty () const |
void | setDirtyFlag () |
void | clearDirtyFlag () |
void | fillGuardCellsIfNotDirty () const |
Layout_t & | getLayout () const |
IndexedBareField< T, Dim, 1 > | operator[] (const Index &idx) |
IndexedBareField< T, Dim, 1 > | operator[] (int i) |
IndexedBareField< T, Dim, Dim > | operator[] (const NDIndex< Dim > &nidx) |
SubBareField< T, Dim, SIndex< Dim > > | operator[] (const SIndex< Dim > &) |
const GuardCellSizes< Dim > & | getGC () const |
const GuardCellSizes< Dim > & | getGuardCellSizes () const |
unsigned | leftGuard (unsigned d) const |
unsigned | rightGuard (unsigned d) const |
const Index & | getIndex (unsigned d) const |
const NDIndex< Dim > & | getDomain () const |
const BareField< T, Dim > & | operator= (T x) |
const BareField< T, Dim > & | operator= (const BareField< T, Dim > &x) |
template<class X > | |
const BareField< T, Dim > & | operator= (const BareField< X, Dim > &x) |
template<class B > | |
const BareField< T, Dim > & | operator= (const PETE_Expr< B > &x) |
bool | compressible () const |
double | CompressedFraction () const |
void | Compress () const |
void | Uncompress () const |
void | setCompression (bool compress) |
virtual void | Repartition (UserList *) |
virtual void | notifyUserOfDelete (UserList *) |
iterator | begin () const |
iterator | end () const |
iterator | beginLoc (const FieldLoc< Dim > &loc) const |
void | prepareForScalarCode (bool tryfill=true) |
void | finishScalarCode (bool modified=true) |
T & | localElement (const NDIndex< Dim > &) const |
void | getsingle (const NDIndex< Dim > &, T &) const |
void | write (std::ostream &) |
iterator | MakeExpression () const |
![]() | |
FieldLayoutUser () | |
virtual | ~FieldLayoutUser () |
virtual void | Repartition (UserList *)=0 |
![]() | |
User () | |
virtual | ~User () |
ID_t | get_Id () const |
virtual void | notifyUserOfDelete (UserList *)=0 |
![]() | |
BareField< T, Dim > & | PETE_unwrap () |
const BareField< T, Dim > & | PETE_unwrap () const |
Protected Attributes | |
ac_id_larray | Locals_ac |
![]() | |
ID_t | Id |
Private Member Functions | |
void | setup () |
void | getsingle_bc (const NDIndex< Dim > &, T &) const |
Private Attributes | |
Layout_t * | Layout |
GuardCellSizes< Dim > | Gc |
bool | dirty_m |
bool | compressible_m |
bool | pinned |
Friends | |
class | BareFieldIterator< T, Dim > |
The FFT class performs complex-to-complex, real-to-complex, or sine transforms on IPPL Fields. FFT is templated on the type of transform to be performed, the dimensionality of the Field to transform, and the floating-point precision type of the Field (float or double).
Definition at line 54 of file BareField.h.
typedef vmap< typename Unique::type, my_auto_ptr< LField<T,Dim> > > BareField< T, Dim >::ac_id_larray |
Definition at line 91 of file BareField.h.
typedef ac_id_larray::const_iterator BareField< T, Dim >::const_iterator_if |
Definition at line 93 of file BareField.h.
typedef BareFieldIterator<T,Dim> BareField< T, Dim >::iterator |
Definition at line 97 of file BareField.h.
typedef ac_id_larray::iterator BareField< T, Dim >::iterator_if |
Definition at line 92 of file BareField.h.
typedef FieldLayout<Dim> BareField< T, Dim >::Layout_t |
Definition at line 61 of file BareField.h.
typedef LField<T,Dim>::iterator BareField< T, Dim >::LFI |
Definition at line 94 of file BareField.h.
Definition at line 62 of file BareField.h.
Definition at line 326 of file BareField.h.
Definition at line 60 of file BareField.h.
anonymous enum |
Enumerator | |
---|---|
Dim_u |
Definition at line 63 of file BareField.h.
anonymous enum |
Enumerator | |
---|---|
IsExpr |
Definition at line 325 of file BareField.h.
|
inline |
Definition at line 368 of file BareField.h.
BareField< T, Dim >::BareField | ( | const BareField< T, Dim > & | a | ) |
Definition at line 48 of file BareField.hpp.
References a, FieldLayout< Dim >::checkin(), BareField< T, Dim >::clearDirtyFlag(), vmap< Key, T, Compare >::end(), BareField< T, Dim >::Gc, BareField< T, Dim >::getLayout(), vmap< Key, T, Compare >::insert(), BareField< T, Dim >::Locals_ac, and vmap< Key, T, Compare >::reserve().
|
inline |
Definition at line 384 of file BareField.h.
References BareField< T, Dim >::setup().
|
inline |
Definition at line 401 of file BareField.h.
Definition at line 83 of file BareField.hpp.
Definition at line 698 of file BareField.hpp.
References LField< T, Dim >::AddToOverlapCache(), BrickExpression< Dim, LHS, RHS, OP >::apply(), LField< T, Dim >::begin(), LField< T, Dim >::BeginOverlap(), CompressedBrickIterator< T, Dim >::CanCompress(), IpplInfo::Comm, COMM_ANY_NODE, Dim, LField< T, Dim >::EndOverlap(), F_GUARD_CELLS_TAG, F_TAG_CYCLE, LField< T, Dim >::getAllocated(), CompressedBrickIterator< T, Dim >::getMessage(), NDIndex< Dim >::getMessage(), IpplInfo::getNodes(), LField< T, Dim >::getOwned(), NDIndex< Dim >::intersect(), TagMaker::next_tag(), LField< T, Dim >::OverlapCacheInitialized(), PAssert, Message::put(), Communicate::receive_block(), Communicate::send(), Message::size(), Attrib::Legacy::Distribution::T, NDIndex< Dim >::touches(), CompressedBrickIterator< T, Dim >::TryCompress(), LField< T, Dim >::Uncompress(), and value_type().
Referenced by scatter(), and ParticleAttrib< T >::scatter().
Definition at line 234 of file BareField.h.
Referenced by PatchBC< T, D, M, C >::apply(), Cartesian< Dim, MFLOAT >::getCellPositionField(), UniformCartesian< Dim, MFLOAT >::getCellPositionField(), Cartesian< Dim, MFLOAT >::getCellVolumeField(), Cartesian< Dim, MFLOAT >::getDeltaCellField(), Cartesian< Dim, MFLOAT >::getDeltaVertexField(), Cartesian< Dim, MFLOAT >::getVertexPositionField(), UniformCartesian< Dim, MFLOAT >::getVertexPositionField(), BareField< T, Dim >::MakeExpression(), and Cartesian< Dim, MFLOAT >::storeSpacingFields().
|
inline |
Definition at line 100 of file BareField.h.
References vmap< Key, T, Compare >::begin(), and BareField< T, Dim >::Locals_ac.
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), PatchBC< T, D, M, C >::apply(), assign(), CalcIndexedReceive(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), BareField< T, Dim >::Compress(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FieldDebugWriteb(), for_each(), FunctionFaceBCApply(), FieldDataSource< T, Dim, M, C >::gather_data(), Interpolator::getFieldIter(), IndexedLocalAssign(), IndexedSend(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), FFT< CCTransform, Dim, T >::transform(), BareField< T, Dim >::Uncompress(), and DiscField< Dim >::write().
|
inline |
Definition at line 102 of file BareField.h.
References vmap< Key, T, Compare >::begin(), and BareField< T, Dim >::Locals_ac.
|
inline |
Definition at line 249 of file BareField.h.
Definition at line 118 of file BareField.h.
References BareField< T, Dim >::dirty_m.
Referenced by BareField< T, Dim >::BareField().
Definition at line 991 of file BareField.hpp.
References BareField< T, Dim >::begin_if(), and BareField< T, Dim >::end_if().
Referenced by assign(), ParticleAttrib< T >::gather(), DiscField< Dim >::read(), and BareField< T, Dim >::setCompression().
Definition at line 1021 of file BareField.hpp.
References LField< T, Dim >::getOwned(), LField< T, Dim >::IsCompressed(), and reduce().
Definition at line 191 of file BareField.h.
References BareField< T, Dim >::compressible_m.
Referenced by assign(), IndexedLocalAssign(), IndexedReceive(), and DiscField< Dim >::read().
Definition at line 241 of file BareField.h.
Referenced by Cartesian< Dim, MFLOAT >::storeSpacingFields().
|
inline |
Definition at line 101 of file BareField.h.
References vmap< Key, T, Compare >::end(), and BareField< T, Dim >::Locals_ac.
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), PatchBC< T, D, M, C >::apply(), assign(), CalcIndexedReceive(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), BareField< T, Dim >::Compress(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FieldDebugWriteb(), for_each(), FunctionFaceBCApply(), FieldDataSource< T, Dim, M, C >::gather_data(), Interpolator::getFieldIter(), IndexedLocalAssign(), IndexedSend(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), DiscField< Dim >::read(), BareField< T, Dim >::setGuardCells(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), FFT< CCTransform, Dim, T >::transform(), BareField< T, Dim >::Uncompress(), and DiscField< Dim >::write().
|
inline |
Definition at line 103 of file BareField.h.
References vmap< Key, T, Compare >::end(), and BareField< T, Dim >::Locals_ac.
|
virtual |
Reimplemented in Field< T, Dim, M, C >, Field< double, 3, Mesh_t, Center_t >, Field< T, Dim, M, C >, and Field< Vector_t, 3, Mesh_t, Center_t >.
Definition at line 297 of file BareField.hpp.
Referenced by IndexedBareFieldIterator< T, Dim >::FillGCIfNecessary(), BareField< T, Dim >::fillGuardCellsIfNotDirty(), BareField< T, Dim >::prepareForScalarCode(), FieldDebugPrint< T, Dim >::print(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and UniformCartesian< Dim, MFLOAT >::storeSpacingFields().
|
inline |
Definition at line 122 of file BareField.h.
References BareField< T, Dim >::fillGuardCells(), and BareField< T, Dim >::isDirty().
Referenced by assign(), BareField< T, Dim >::finishScalarCode(), and DiscField< Dim >::read().
|
inline |
Definition at line 280 of file BareField.h.
References BareField< T, Dim >::fillGuardCellsIfNotDirty(), INCIPPLSTAT, BareField< T, Dim >::setCompression(), and BareField< T, Dim >::setDirtyFlag().
|
inline |
Definition at line 152 of file BareField.h.
References FieldLayout< Dim >::getDomain(), and BareField< T, Dim >::getLayout().
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), PatchBC< T, D, M, C >::apply(), assign(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FFTBoxPoissonSolver::FFTBoxPoissonSolver(), IndexedBareFieldIterator< T, Dim >::FillGCIfNecessary(), FunctionFaceBCApply(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), sfp1(), sfp2(), and sfp3().
|
inline |
Definition at line 146 of file BareField.h.
References BareField< T, Dim >::Gc.
Referenced by BareField< T, Dim >::leftGuard(), BareField< T, Dim >::rightGuard(), and FFT< CCTransform, Dim, T >::transform().
|
inline |
Definition at line 147 of file BareField.h.
References BareField< T, Dim >::Gc.
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), PatchBC< T, D, M, C >::apply(), assign(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FunctionFaceBCApply(), IndexedSend(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), FieldDebugPrint< T, Dim >::print(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and UniformCartesian< Dim, MFLOAT >::storeSpacingFields().
|
inline |
Definition at line 151 of file BareField.h.
References FieldLayout< Dim >::getDomain(), and BareField< T, Dim >::getLayout().
Definition at line 131 of file BareField.h.
References BareField< T, Dim >::Layout, and PAssert.
Referenced by ParallelPeriodicFace< T, D, M, C >::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), assign(), BareField< T, Dim >::BareField(), CalcIndexedReceive(), SubFieldTraits< T, Dim, SIndex< Dim >, NDIndex< Dim > >::construct(), SubFieldTraits< T, Dim, SIndex< Dim >, SOffset< Dim > >::construct(), FieldDebugWriteb(), IndexedBareFieldIterator< T, Dim >::FillGCIfNecessary(), fp1(), fp2(), fp3(), BareField< T, Dim >::getDomain(), Interpolator::getFieldIter(), BareField< T, Dim >::getIndex(), ggfp1(), ggfp2(), ggfp3(), IndexedSend(), makeMesh(), DiscField< Dim >::read(), sfp1(), sfp2(), sfp3(), FFT< CCTransform, Dim, T >::transform(), and DiscField< Dim >::write().
void BareField< T, Dim >::getsingle | ( | const NDIndex< Dim > & | Indexes, |
T & | r | ||
) | const |
Definition at line 1201 of file BareField.hpp.
References AddGuardCells(), LField< T, Dim >::begin(), Communicate::broadcast_others(), IpplInfo::Comm, COMM_ANY_NODE, endl(), ERRORMSG, F_GETSINGLE_TAG, F_TAG_CYCLE, getMessage(), IpplInfo::getNodes(), TagMaker::next_tag(), putMessage(), Communicate::receive_block(), and NDIndex< Dim >::touches().
|
private |
Definition at line 1271 of file BareField.hpp.
References LField< T, Dim >::begin(), Communicate::broadcast_others(), IpplInfo::Comm, F_GETSINGLE_TAG, F_TAG_CYCLE, getMessage(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), putMessage(), and Communicate::receive_block().
Definition at line 100 of file BareField.hpp.
void BareField< T, Dim >::initialize | ( | Layout_t & | l, |
const bool | p | ||
) |
Definition at line 114 of file BareField.hpp.
void BareField< T, Dim >::initialize | ( | Layout_t & | l, |
const GuardCellSizes< Dim > & | gc | ||
) |
Definition at line 128 of file BareField.hpp.
Definition at line 116 of file BareField.h.
References BareField< T, Dim >::dirty_m.
Referenced by assign(), BareField< T, Dim >::fillGuardCellsIfNotDirty(), ParticleAttrib< T >::gather(), BareField< T, Dim >::prepareForScalarCode(), and FieldDebugPrint< T, Dim >::print().
Definition at line 148 of file BareField.h.
References BareField< T, Dim >::getGC().
Referenced by PatchBC< T, D, M, C >::apply(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FieldDebugWriteb(), FunctionFaceBCApply(), ggfp1(), ggfp2(), ggfp3(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), sfp1(), sfp2(), sfp3(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and UniformCartesian< Dim, MFLOAT >::storeSpacingFields().
T & BareField< T, Dim >::localElement | ( | const NDIndex< Dim > & | Indexes | ) | const |
Definition at line 1154 of file BareField.hpp.
References IpplInfo::abort(), Dim, endl(), ERRORMSG, LField< T, Dim >::getAllocated(), LField< T, Dim >::getP(), IpplInfo::myNode(), PtrOffset(), Attrib::Legacy::Distribution::T, and LField< T, Dim >::Uncompress().
Referenced by MGPoissonSolver::computePotential().
Definition at line 327 of file BareField.h.
References BareField< T, Dim >::begin().
|
virtual |
Implements User.
Reimplemented in Field< T, Dim, M, C >, Field< double, 3, Mesh_t, Center_t >, Field< T, Dim, M, C >, and Field< Vector_t, 3, Mesh_t, Center_t >.
Definition at line 1079 of file BareField.hpp.
References endl(), UserList::getUserListID(), and WARNMSG.
|
inline |
Definition at line 163 of file BareField.h.
References assign().
|
inline |
Definition at line 171 of file BareField.h.
References assign().
|
inline |
Definition at line 180 of file BareField.h.
References assign().
|
inline |
Definition at line 155 of file BareField.h.
References assign().
|
inline |
Definition at line 416 of file BareField.h.
|
inline |
Definition at line 430 of file BareField.h.
|
inline |
Definition at line 437 of file BareField.h.
|
inline |
Definition at line 423 of file BareField.h.
|
inline |
Definition at line 262 of file BareField.h.
References BareField< T, Dim >::fillGuardCells(), INCIPPLSTAT, BareField< T, Dim >::isDirty(), and BareField< T, Dim >::setCompression().
|
virtual |
Implements FieldLayoutUser.
Reimplemented in Field< T, Dim, M, C >, Field< double, 3, Mesh_t, Center_t >, Field< T, Dim, M, C >, and Field< Vector_t, 3, Mesh_t, Center_t >.
Definition at line 1054 of file BareField.hpp.
References BareField< T, Dim >::Locals_ac.
|
inline |
Definition at line 149 of file BareField.h.
References BareField< T, Dim >::getGC().
Referenced by PatchBC< T, D, M, C >::apply(), CalcParallelPeriodicDomain(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), FieldDebugWriteb(), FunctionFaceBCApply(), LinearExtrapolateFaceBCApply(), PeriodicFaceBCApply(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and UniformCartesian< Dim, MFLOAT >::storeSpacingFields().
Definition at line 207 of file BareField.h.
References BareField< T, Dim >::Compress(), BareField< T, Dim >::compressible_m, IpplInfo::noFieldCompression, and BareField< T, Dim >::Uncompress().
Referenced by BareField< T, Dim >::finishScalarCode(), and BareField< T, Dim >::prepareForScalarCode().
Definition at line 117 of file BareField.h.
References IpplInfo::deferGuardCellFills, and BareField< T, Dim >::dirty_m.
Referenced by assign(), BareField< T, Dim >::finishScalarCode(), DiscField< Dim >::read(), and BareField< T, Dim >::setGuardCells().
Definition at line 616 of file BareField.hpp.
References BrickExpression< Dim, LHS, RHS, OP >::apply(), LField< T, Dim >::begin(), BareField< T, Dim >::begin_if(), LField< T, Dim >::Compress(), Dim, BareField< T, Dim >::end_if(), LField< T, Dim >::getAllocated(), LField< T, Dim >::getCompressedData(), LField< T, Dim >::getOwned(), LField< T, Dim >::IsCompressed(), BareField< T, Dim >::setDirtyFlag(), and LField< T, Dim >::Uncompress().
Referenced by scatter(), and ParticleAttrib< T >::scatter().
Definition at line 150 of file BareField.hpp.
References IpplInfo::abort(), AddGuardCells(), endl(), and ERRORMSG.
Referenced by BareField< T, Dim >::BareField().
|
inline |
Definition at line 104 of file BareField.h.
References BareField< T, Dim >::Locals_ac, and vmap< Key, T, Compare >::size().
Referenced by assign().
Definition at line 1005 of file BareField.hpp.
References BareField< T, Dim >::begin_if(), BareField< T, Dim >::end_if(), and BareField< T, Dim >::Uncompress().
Referenced by ParticleAttrib< T >::gather(), scatter(), ParticleAttrib< T >::scatter(), BareField< T, Dim >::setCompression(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), and BareField< T, Dim >::Uncompress().
Definition at line 208 of file BareField.hpp.
References IpplInfo::Comm, F_TAG_CYCLE, F_WRITE_TAG, LField< T, Dim >::getOwned(), IpplInfo::myNode(), and TagMaker::next_tag().
Referenced by operator<<().
|
friend |
Definition at line 331 of file BareField.h.
Definition at line 354 of file BareField.h.
Referenced by BareField< T, Dim >::compressible(), and BareField< T, Dim >::setCompression().
Definition at line 351 of file BareField.h.
Referenced by BareField< T, Dim >::clearDirtyFlag(), BareField< T, Dim >::isDirty(), and BareField< T, Dim >::setDirtyFlag().
|
private |
Definition at line 343 of file BareField.h.
Referenced by BareField< T, Dim >::BareField(), BareField< T, Dim >::getGC(), and BareField< T, Dim >::getGuardCellSizes().
Definition at line 340 of file BareField.h.
Referenced by BareField< T, Dim >::getLayout().
|
protected |
Definition at line 331 of file BareField.h.
Referenced by BareField< T, Dim >::BareField(), BareField< T, Dim >::begin_if(), BareField< T, Dim >::end_if(), BareField< T, Dim >::Repartition(), and BareField< T, Dim >::size_if().
Definition at line 357 of file BareField.h.