OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <FieldLayout.h>
Public Types | |
typedef vmap< Unique::type, my_auto_ptr< Vnode< Dim > > > | ac_id_vnodes |
typedef DomainMap< NDIndex< Dim >, RefCountedP< Vnode< Dim > >, Touches< Dim >, Contains< Dim >, Split< Dim > > | ac_domain_vnodes |
typedef vmap< GuardCellSizes< Dim >, my_auto_ptr< ac_domain_vnodes > > | ac_gc_domain_vnodes |
typedef ac_id_vnodes::iterator | iterator_iv |
typedef ac_id_vnodes::const_iterator | const_iterator_iv |
typedef ac_domain_vnodes::iterator | iterator_dv |
typedef ac_domain_vnodes::touch_iterator | touch_iterator_dv |
typedef std::pair< touch_iterator_dv, touch_iterator_dv > | touch_range_dv |
typedef ac_gc_domain_vnodes::iterator | iterator_gdv |
typedef iterator_user | iterator_if |
typedef size_type_user | size_type_if |
Public Member Functions | |
FieldLayout () | |
FieldLayout (const char *filename) | |
FieldLayout (const Index &i1, e_dim_tag p1=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, e_dim_tag p5=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, const Index &i6, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, e_dim_tag p5=PARALLEL, e_dim_tag p6=PARALLEL, int vnodes=-1) | |
FieldLayout (const Index &i1, e_dim_tag p1, unsigned vnodes1, bool recurse=false, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, e_dim_tag p1, e_dim_tag p2, unsigned vnodes1, unsigned vnodes2, bool recurse=false, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, bool recurse=false, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, bool recurse=false, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, unsigned vnodes5, bool recurse=false, int vnodes=-1) | |
FieldLayout (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, const Index &i6, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, e_dim_tag p6, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, unsigned vnodes5, unsigned vnodes6, bool recurse=false, int vnodes=-1) | |
FieldLayout (const NDIndex< Dim > &domain, e_dim_tag *p=0, int vnodes=-1) | |
FieldLayout (const NDIndex< Dim > &domain, e_dim_tag *p, unsigned *vnodesPerDirection, bool recurse=false, int vnodes=-1) | |
FieldLayout (const NDIndex< Dim > &Domain, const NDIndex< Dim > *begin, const NDIndex< Dim > *end) | |
FieldLayout (const NDIndex< Dim > &Domain, const Vnode< Dim > *begin, const Vnode< Dim > *end) | |
FieldLayout (const NDIndex< Dim > &Domain, const NDIndex< Dim > *dombegin, const NDIndex< Dim > *domend, const int *nbegin, const int *nend) | |
virtual | ~FieldLayout () |
void | initialize (const Index &i1, e_dim_tag p1=PARALLEL, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, e_dim_tag p5=PARALLEL, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, const Index &i6, e_dim_tag p1=PARALLEL, e_dim_tag p2=PARALLEL, e_dim_tag p3=PARALLEL, e_dim_tag p4=PARALLEL, e_dim_tag p5=PARALLEL, e_dim_tag p6=PARALLEL, int vnodes=-1) |
void | initialize (const NDIndex< Dim > &domain, e_dim_tag *p=0, int vnodes=-1) |
void | initialize (const Index &i1, e_dim_tag p1, unsigned vnodes1, bool recurse=false, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, e_dim_tag p1, e_dim_tag p2, unsigned vnodes1, unsigned vnodes2, bool recurse=false, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, bool recurse=false, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, bool recurse=false, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, unsigned vnodes5, bool recurse=false, int vnodes=-1) |
void | initialize (const Index &i1, const Index &i2, const Index &i3, const Index &i4, const Index &i5, const Index &i6, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, e_dim_tag p6, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, unsigned vnodes4, unsigned vnodes5, unsigned vnodes6, bool recurse=false, int vnodes=-1) |
void | initialize (const NDIndex< Dim > &domain, e_dim_tag *p, unsigned *vnodesPerDirection, bool recurse=false, int vnodes=-1) |
void | initialize (const NDIndex< Dim > &Domain, const NDIndex< Dim > *dombegin, const NDIndex< Dim > *domend, const int *nbegin, const int *nend) |
void | Repartition (const NDIndex< Dim > *, const NDIndex< Dim > *) |
void | Repartition (const NDIndex< Dim > &domain) |
void | Repartition (const Vnode< Dim > *, const Vnode< Dim > *) |
const NDIndex< Dim > & | getDomain () const |
template<unsigned Dim2> | |
bool | operator== (const FieldLayout< Dim2 > &x) const |
bool | read (const char *filename) |
bool | write (const char *filename) |
int | numVnodes (void) const |
ac_id_vnodes::size_type | size_iv () const |
iterator_iv | begin_iv () |
iterator_iv | end_iv () |
const_iterator_iv | begin_iv () const |
const_iterator_iv | end_iv () const |
ac_gc_domain_vnodes::size_type | size_rgdv () const |
iterator_gdv | begin_rgdv () |
iterator_gdv | end_rgdv () |
ac_domain_vnodes::size_type | size_rdv (const GuardCellSizes< Dim > &gc=gc0()) const |
iterator_dv | begin_rdv (const GuardCellSizes< Dim > &gc=gc0()) |
iterator_dv | end_rdv (const GuardCellSizes< Dim > &gc=gc0()) |
touch_range_dv | touch_range_rdv (const NDIndex< Dim > &domain, const GuardCellSizes< Dim > &gc=gc0()) const |
size_type_if | size_if () const |
iterator_if | begin_if () |
iterator_if | end_if () |
bool | fitsGuardCells (const GuardCellSizes< Dim > &gc) const |
e_dim_tag | getDistribution (unsigned int d) const |
e_dim_tag | getRequestedDistribution (unsigned int d) const |
unsigned | getVnodesPerDirection (unsigned dir) |
UserList::ID_t | get_Id () const |
void | checkin (FieldLayoutUser &f, const GuardCellSizes< Dim > &gc=gc0()) |
void | checkout (FieldLayoutUser &f) |
NDIndex< Dim > | getLocalNDIndex () |
void | write (std::ostream &) const |
Private Member Functions | |
void | calcWidths () |
void | new_gc_layout (const GuardCellSizes< Dim > &) |
void | setup (const NDIndex< Dim > &, e_dim_tag *, int) |
void | setup (const NDIndex< Dim > &, e_dim_tag *, unsigned *, bool, int) |
Private Member Functions inherited from UserList | |
UserList () | |
virtual | ~UserList () |
size_type_user | getNumUsers () const |
ID_t | getUserListID () const |
bool | haveUser (Key key) const |
User & | getUser (Key key) |
iterator_user | begin_user () |
iterator_user | end_user () |
virtual ID_t | checkinUser (User &user) |
virtual void | checkoutUser (Key key, bool informuser=false) |
virtual void | checkoutUser (const User &user, bool informuser=false) |
Static Private Member Functions | |
static GuardCellSizes< Dim > | gc0 () |
Private Attributes | |
ac_id_vnodes | Local_ac |
ac_gc_domain_vnodes | Remotes_ac |
NDIndex< Dim > | Domain |
unsigned int | MinWidth [Dim] |
e_dim_tag | RequestedLayout [Dim] |
unsigned * | vnodesPerDirection_m |
Additional Inherited Members | |
Private Types inherited from UserList | |
typedef User::ID_t | Key |
typedef vmap< Key, User * > | UserList_t |
typedef UserList_t::iterator | iterator_user |
typedef UserList_t::size_type | size_type_user |
typedef User::ID_t | ID_t |
Definition at line 61 of file FieldLayout.h.
typedef DomainMap<NDIndex<Dim>,RefCountedP< Vnode<Dim> >, Touches<Dim>,Contains<Dim>,Split<Dim> > FieldLayout< Dim >::ac_domain_vnodes |
Definition at line 68 of file FieldLayout.h.
typedef vmap<GuardCellSizes<Dim>,my_auto_ptr<ac_domain_vnodes> > FieldLayout< Dim >::ac_gc_domain_vnodes |
Definition at line 70 of file FieldLayout.h.
typedef vmap<Unique::type,my_auto_ptr<Vnode<Dim> > > FieldLayout< Dim >::ac_id_vnodes |
Definition at line 66 of file FieldLayout.h.
typedef ac_id_vnodes::const_iterator FieldLayout< Dim >::const_iterator_iv |
Definition at line 74 of file FieldLayout.h.
typedef ac_domain_vnodes::iterator FieldLayout< Dim >::iterator_dv |
Definition at line 75 of file FieldLayout.h.
typedef ac_gc_domain_vnodes::iterator FieldLayout< Dim >::iterator_gdv |
Definition at line 78 of file FieldLayout.h.
typedef iterator_user FieldLayout< Dim >::iterator_if |
Definition at line 79 of file FieldLayout.h.
typedef ac_id_vnodes::iterator FieldLayout< Dim >::iterator_iv |
Definition at line 73 of file FieldLayout.h.
typedef size_type_user FieldLayout< Dim >::size_type_if |
Definition at line 80 of file FieldLayout.h.
typedef ac_domain_vnodes::touch_iterator FieldLayout< Dim >::touch_iterator_dv |
Definition at line 76 of file FieldLayout.h.
typedef std::pair<touch_iterator_dv,touch_iterator_dv> FieldLayout< Dim >::touch_range_dv |
Definition at line 77 of file FieldLayout.h.
FieldLayout< Dim >::FieldLayout |
Definition at line 44 of file FieldLayout.hpp.
FieldLayout< Dim >::FieldLayout | ( | const char * | filename | ) |
Definition at line 67 of file FieldLayout.hpp.
|
inline |
Definition at line 479 of file FieldLayout.h.
|
inline |
Definition at line 486 of file FieldLayout.h.
|
inline |
Definition at line 494 of file FieldLayout.h.
|
inline |
Definition at line 504 of file FieldLayout.h.
|
inline |
Definition at line 515 of file FieldLayout.h.
|
inline |
Definition at line 527 of file FieldLayout.h.
|
inline |
Definition at line 546 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 565 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 584 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 606 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 630 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 657 of file FieldLayout.h.
References endl(), and ERRORMSG.
|
inline |
Definition at line 172 of file FieldLayout.h.
References FieldLayout< Dim >::initialize().
|
inline |
Definition at line 191 of file FieldLayout.h.
References FieldLayout< Dim >::initialize().
FieldLayout< Dim >::FieldLayout | ( | const NDIndex< Dim > & | Domain, |
const NDIndex< Dim > * | begin, | ||
const NDIndex< Dim > * | end | ||
) |
Definition at line 933 of file FieldLayout.hpp.
References Communicate::broadcast_others(), FieldLayout< Dim >::calcWidths(), IpplInfo::Comm, COMM_ANY_NODE, Dim, FieldLayout< Dim >::Domain, F_REPARTITION_BCAST_TAG, F_TAG_CYCLE, FieldLayout< Dim >::gc0(), Unique::get(), Message::get(), NDIndex< Dim >::getMessage(), DomainMap< Key, T, Touches, Contains, Split >::insert(), vmap< Key, T, Compare >::insert(), FieldLayout< Dim >::Local_ac, Communicate::myNode(), TagMaker::next_tag(), PARALLEL, PAssert, Message::put(), putMessage(), Communicate::receive_block(), FieldLayout< Dim >::Remotes_ac, FieldLayout< Dim >::RequestedLayout, NDIndex< Dim >::size(), and FieldLayout< Dim >::vnodesPerDirection_m.
FieldLayout< Dim >::FieldLayout | ( | const NDIndex< Dim > & | Domain, |
const Vnode< Dim > * | begin, | ||
const Vnode< Dim > * | end | ||
) |
Definition at line 1017 of file FieldLayout.hpp.
References Communicate::broadcast_others(), FieldLayout< Dim >::calcWidths(), IpplInfo::Comm, COMM_ANY_NODE, Dim, FieldLayout< Dim >::Domain, F_REPARTITION_BCAST_TAG, F_TAG_CYCLE, FieldLayout< Dim >::gc0(), Unique::get(), Message::get(), Vnode< Dim >::getDomain(), Vnode< Dim >::getMessage(), Vnode< Dim >::getVnode(), DomainMap< Key, T, Touches, Contains, Split >::insert(), vmap< Key, T, Compare >::insert(), FieldLayout< Dim >::Local_ac, Communicate::myNode(), TagMaker::next_tag(), PARALLEL, PAssert, Message::put(), putMessage(), Communicate::receive_block(), FieldLayout< Dim >::Remotes_ac, FieldLayout< Dim >::RequestedLayout, and FieldLayout< Dim >::vnodesPerDirection_m.
|
inline |
Definition at line 684 of file FieldLayout.h.
|
virtual |
Definition at line 90 of file FieldLayout.hpp.
|
inline |
Definition at line 379 of file FieldLayout.h.
References UserList::begin_user().
|
inline |
Definition at line 709 of file FieldLayout.h.
Referenced by DiscField< Dim >::compute_expected(), DiscField< Dim >::make_globalID(), and RegionLayout< T, Dim, MeshType >::make_rnodes().
|
inline |
Definition at line 723 of file FieldLayout.h.
|
inline |
Definition at line 765 of file FieldLayout.h.
Referenced by DiscField< Dim >::make_globalID(), and RegionLayout< T, Dim, MeshType >::make_rnodes().
|
inline |
Definition at line 744 of file FieldLayout.h.
|
private |
Definition at line 1513 of file FieldLayout.hpp.
References DomainMap< Key, T, Touches, Contains, Split >::begin(), Dim, and DomainMap< Key, T, Touches, Contains, Split >::end().
Referenced by FieldLayout< Dim >::FieldLayout().
void FieldLayout< Dim >::checkin | ( | FieldLayoutUser & | f, |
const GuardCellSizes< Dim > & | gc = gc0() |
||
) |
Definition at line 1554 of file FieldLayout.hpp.
Referenced by BareField< T, Dim >::BareField(), and RegionLayout< T, Dim, MeshType >::store_flayout().
void FieldLayout< Dim >::checkout | ( | FieldLayoutUser & | f | ) |
Definition at line 1571 of file FieldLayout.hpp.
|
inline |
Definition at line 380 of file FieldLayout.h.
References UserList::end_user().
|
inline |
Definition at line 716 of file FieldLayout.h.
Referenced by DiscField< Dim >::compute_expected(), DiscField< Dim >::make_globalID(), RegionLayout< T, Dim, MeshType >::make_rnodes(), and SIndex< Dim >::setup().
|
inline |
Definition at line 730 of file FieldLayout.h.
|
inline |
Definition at line 772 of file FieldLayout.h.
Referenced by DiscField< Dim >::make_globalID(), and RegionLayout< T, Dim, MeshType >::make_rnodes().
|
inline |
Definition at line 751 of file FieldLayout.h.
|
inline |
Definition at line 387 of file FieldLayout.h.
References Dim, GuardCellSizes< Dim >::left(), FieldLayout< Dim >::MinWidth, and GuardCellSizes< Dim >::right().
|
inlinestaticprivate |
Definition at line 84 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout().
|
inline |
Definition at line 417 of file FieldLayout.h.
References UserList::getUserListID().
|
inline |
Definition at line 396 of file FieldLayout.h.
References FieldLayout< Dim >::Domain, FieldLayout< Dim >::MinWidth, PARALLEL, and SERIAL.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inline |
Definition at line 325 of file FieldLayout.h.
References FieldLayout< Dim >::Domain.
Referenced by BinaryRepartition(), CalcBinaryRepartition(), RegionLayout< T, Dim, MeshType >::changeDomain(), PartBunch::computeSelfFields(), FFTBoxPoissonSolver::FFTBoxPoissonSolver(), FieldDebugWriteb(), fp1(), fp2(), fp3(), BareField< T, Dim >::getDomain(), BareField< T, Dim >::getIndex(), ggfp1(), ggfp2(), ggfp3(), P3MPoissonSolver::initFields(), FFTPoissonSolver::initializeFields(), DiscField< Dim >::make_globalID(), makeMesh(), MGPoissonSolver::MGPoissonSolver(), FieldLayout< Dim >::operator==(), P3MPoissonSolver::P3MPoissonSolver(), DiscField< Dim >::read(), RegionLayout< T, Dim, MeshType >::RegionLayout(), PartBunch::runTests(), sfp1(), sfp2(), sfp3(), FFT< CCTransform, Dim, T >::transform(), PartBunch::updateDomainLength(), and DiscField< Dim >::write().
NDIndex< Dim > FieldLayout< Dim >::getLocalNDIndex |
Definition at line 1579 of file FieldLayout.hpp.
References Vnode< Dim >::getDomain(), Vnode< Dim >::getNode(), and IpplInfo::myNode().
Referenced by MGPoissonSolver::computePotential(), FFTBoxPoissonSolver::integratedGreensFunction(), MGPoissonSolver::MGPoissonSolver(), FFTBoxPoissonSolver::shiftedIntGreensFunction(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().
|
inline |
Definition at line 405 of file FieldLayout.h.
References FieldLayout< Dim >::RequestedLayout.
Referenced by FFTPoissonSolver::initializeFields().
unsigned FieldLayout< Dim >::getVnodesPerDirection | ( | unsigned | dir | ) |
Definition at line 890 of file FieldLayout.hpp.
References PAssert.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
const Index & | i5, | ||
const Index & | i6, | ||
e_dim_tag | p1, | ||
e_dim_tag | p2, | ||
e_dim_tag | p3, | ||
e_dim_tag | p4, | ||
e_dim_tag | p5, | ||
e_dim_tag | p6, | ||
unsigned | vnodes1, | ||
unsigned | vnodes2, | ||
unsigned | vnodes3, | ||
unsigned | vnodes4, | ||
unsigned | vnodes5, | ||
unsigned | vnodes6, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 389 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
const Index & | i5, | ||
const Index & | i6, | ||
e_dim_tag | p1 = PARALLEL , |
||
e_dim_tag | p2 = PARALLEL , |
||
e_dim_tag | p3 = PARALLEL , |
||
e_dim_tag | p4 = PARALLEL , |
||
e_dim_tag | p5 = PARALLEL , |
||
e_dim_tag | p6 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 213 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
const Index & | i5, | ||
e_dim_tag | p1, | ||
e_dim_tag | p2, | ||
e_dim_tag | p3, | ||
e_dim_tag | p4, | ||
e_dim_tag | p5, | ||
unsigned | vnodes1, | ||
unsigned | vnodes2, | ||
unsigned | vnodes3, | ||
unsigned | vnodes4, | ||
unsigned | vnodes5, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 356 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
const Index & | i5, | ||
e_dim_tag | p1 = PARALLEL , |
||
e_dim_tag | p2 = PARALLEL , |
||
e_dim_tag | p3 = PARALLEL , |
||
e_dim_tag | p4 = PARALLEL , |
||
e_dim_tag | p5 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 189 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
e_dim_tag | p1, | ||
e_dim_tag | p2, | ||
e_dim_tag | p3, | ||
e_dim_tag | p4, | ||
unsigned | vnodes1, | ||
unsigned | vnodes2, | ||
unsigned | vnodes3, | ||
unsigned | vnodes4, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 327 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
const Index & | i4, | ||
e_dim_tag | p1 = PARALLEL , |
||
e_dim_tag | p2 = PARALLEL , |
||
e_dim_tag | p3 = PARALLEL , |
||
e_dim_tag | p4 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 166 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
e_dim_tag | p1, | ||
e_dim_tag | p2, | ||
e_dim_tag | p3, | ||
unsigned | vnodes1, | ||
unsigned | vnodes2, | ||
unsigned | vnodes3, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 303 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
const Index & | i3, | ||
e_dim_tag | p1 = PARALLEL , |
||
e_dim_tag | p2 = PARALLEL , |
||
e_dim_tag | p3 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 148 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
e_dim_tag | p1, | ||
e_dim_tag | p2, | ||
unsigned | vnodes1, | ||
unsigned | vnodes2, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 283 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
const Index & | i2, | ||
e_dim_tag | p1 = PARALLEL , |
||
e_dim_tag | p2 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 131 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
e_dim_tag | p1, | ||
unsigned | vnodes1, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 270 of file FieldLayout.hpp.
void FieldLayout< Dim >::initialize | ( | const Index & | i1, |
e_dim_tag | p1 = PARALLEL , |
||
int | vnodes = -1 |
||
) |
Definition at line 119 of file FieldLayout.hpp.
Referenced by centeredInitialize(), and FieldLayout< Dim >::FieldLayout().
void FieldLayout< Dim >::initialize | ( | const NDIndex< Dim > & | Domain, |
const NDIndex< Dim > * | dombegin, | ||
const NDIndex< Dim > * | domend, | ||
const int * | nbegin, | ||
const int * | nend | ||
) |
Definition at line 436 of file FieldLayout.hpp.
References Dim, Unique::get(), IpplInfo::getNodes(), DomainMap< Key, T, Touches, Contains, Split >::insert(), IpplInfo::myNode(), PARALLEL, PInsist, and NDIndex< Dim >::size().
void FieldLayout< Dim >::initialize | ( | const NDIndex< Dim > & | domain, |
e_dim_tag * | p, | ||
unsigned * | vnodesPerDirection, | ||
bool | recurse = false , |
||
int | vnodes = -1 |
||
) |
Definition at line 247 of file FieldLayout.hpp.
References Dim, endl(), and ERRORMSG.
void FieldLayout< Dim >::initialize | ( | const NDIndex< Dim > & | domain, |
e_dim_tag * | p = 0 , |
||
int | vnodes = -1 |
||
) |
Definition at line 109 of file FieldLayout.hpp.
|
private |
Definition at line 906 of file FieldLayout.hpp.
References AddGuardCells(), DomainMap< Key, T, Touches, Contains, Split >::begin(), DomainMap< Key, T, Touches, Contains, Split >::end(), and DomainMap< Key, T, Touches, Contains, Split >::insert().
|
inline |
Definition at line 353 of file FieldLayout.h.
References FieldLayout< Dim >::size_iv(), and FieldLayout< Dim >::size_rdv().
|
inline |
Definition at line 336 of file FieldLayout.h.
References FieldLayout< Dim >::Domain, and FieldLayout< Dim >::getDomain().
bool FieldLayout< Dim >::read | ( | const char * | filename | ) |
Definition at line 1259 of file FieldLayout.hpp.
References DiscMeta::begin(), Communicate::broadcast_others(), IpplInfo::Comm, Dim, DiscMeta::end(), endl(), ERRORMSG, F_LAYOUT_IO_TAG, F_TAG_CYCLE, Message::get(), Message::get_iter(), Vnode< Dim >::getNode(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), PAssert, Message::put(), and Communicate::receive_block().
|
inline |
Definition at line 318 of file FieldLayout.h.
References FieldLayout< Dim >::Repartition().
Referenced by FieldLayout< Dim >::Repartition().
void FieldLayout< Dim >::Repartition | ( | const NDIndex< Dim > * | idxBegin, |
const NDIndex< Dim > * | idxEnd | ||
) |
Definition at line 1104 of file FieldLayout.hpp.
References Dim, FieldLayout< Dim >::Local_ac, FieldLayout< Dim >::Remotes_ac, FieldLayoutUser::Repartition(), and FieldLayout< Dim >::vnodesPerDirection_m.
Referenced by BinaryRepartition().
void FieldLayout< Dim >::Repartition | ( | const Vnode< Dim > * | idxBegin, |
const Vnode< Dim > * | idxEnd | ||
) |
Definition at line 1148 of file FieldLayout.hpp.
References Dim, FieldLayout< Dim >::Local_ac, FieldLayout< Dim >::Remotes_ac, FieldLayoutUser::Repartition(), and FieldLayout< Dim >::vnodesPerDirection_m.
|
private |
Definition at line 523 of file FieldLayout.hpp.
References a, Dim, Unique::get(), IpplInfo::getNodes(), INFORM_ALL_NODES, DomainMap< Key, T, Touches, Contains, Split >::insert(), max(), IpplInfo::myNode(), PARALLEL, PAssert_EQ, PInsist, NDIndex< Dim >::size(), and NDIndex< Dim >::split().
|
private |
Definition at line 715 of file FieldLayout.hpp.
References Dim, endl(), ERRORMSG, Unique::get(), IpplInfo::getNodes(), DomainMap< Key, T, Touches, Contains, Split >::insert(), IpplInfo::myNode(), PARALLEL, PInsist, SERIAL, and vnodeRecursiveBisection().
|
inline |
Definition at line 378 of file FieldLayout.h.
References UserList::getNumUsers().
|
inline |
Definition at line 702 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::numVnodes(), and DiscField< Dim >::write().
|
inline |
Definition at line 758 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::numVnodes().
|
inline |
Definition at line 737 of file FieldLayout.h.
|
inline |
Definition at line 780 of file FieldLayout.h.
Referenced by assign(), CalcIndexedReceive(), IndexedSend(), and DiscField< Dim >::read().
bool FieldLayout< Dim >::write | ( | const char * | filename | ) |
Definition at line 1186 of file FieldLayout.hpp.
References Dim, endl(), ERRORMSG, Vnode< Dim >::getDomain(), Vnode< Dim >::getNode(), IpplInfo::getNodes(), Vnode< Dim >::getVnode(), and IpplInfo::myNode().
Referenced by operator<<().
void FieldLayout< Dim >::write | ( | std::ostream & | out | ) | const |
Definition at line 1596 of file FieldLayout.hpp.
References DomainMap< Key, T, Touches, Contains, Split >::begin(), Dim, DomainMap< Key, T, Touches, Contains, Split >::end(), endl(), and DomainMap< Key, T, Touches, Contains, Split >::size().
|
private |
Definition at line 444 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout(), FieldLayout< Dim >::getDistribution(), FieldLayout< Dim >::getDomain(), and FieldLayout< Dim >::operator==().
|
private |
Definition at line 440 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout(), and FieldLayout< Dim >::Repartition().
|
private |
Definition at line 448 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::fitsGuardCells(), and FieldLayout< Dim >::getDistribution().
|
private |
Definition at line 441 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout(), and FieldLayout< Dim >::Repartition().
|
private |
Definition at line 449 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout(), and FieldLayout< Dim >::getRequestedDistribution().
|
private |
Definition at line 454 of file FieldLayout.h.
Referenced by FieldLayout< Dim >::FieldLayout(), and FieldLayout< Dim >::Repartition().