OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
FieldLayout< Dim > Class Template Reference

#include <FieldLayout.h>

Inheritance diagram for FieldLayout< Dim >:
Inheritance graph
[legend]
Collaboration diagram for FieldLayout< Dim >:
Collaboration graph
[legend]

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_dvtouch_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< DimgetLocalNDIndex ()
 
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
 
UsergetUser (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< Dimgc0 ()
 

Private Attributes

ac_id_vnodes Local_ac
 
ac_gc_domain_vnodes Remotes_ac
 
NDIndex< DimDomain
 
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
 

Detailed Description

template<unsigned Dim>
class FieldLayout< Dim >

Definition at line 61 of file FieldLayout.h.

Member Typedef Documentation

◆ ac_domain_vnodes

Definition at line 68 of file FieldLayout.h.

◆ ac_gc_domain_vnodes

Definition at line 70 of file FieldLayout.h.

◆ ac_id_vnodes

template<unsigned Dim>
typedef vmap<Unique::type,my_auto_ptr<Vnode<Dim> > > FieldLayout< Dim >::ac_id_vnodes

Definition at line 66 of file FieldLayout.h.

◆ const_iterator_iv

template<unsigned Dim>
typedef ac_id_vnodes::const_iterator FieldLayout< Dim >::const_iterator_iv

Definition at line 74 of file FieldLayout.h.

◆ iterator_dv

template<unsigned Dim>
typedef ac_domain_vnodes::iterator FieldLayout< Dim >::iterator_dv

Definition at line 75 of file FieldLayout.h.

◆ iterator_gdv

template<unsigned Dim>
typedef ac_gc_domain_vnodes::iterator FieldLayout< Dim >::iterator_gdv

Definition at line 78 of file FieldLayout.h.

◆ iterator_if

template<unsigned Dim>
typedef iterator_user FieldLayout< Dim >::iterator_if

Definition at line 79 of file FieldLayout.h.

◆ iterator_iv

template<unsigned Dim>
typedef ac_id_vnodes::iterator FieldLayout< Dim >::iterator_iv

Definition at line 73 of file FieldLayout.h.

◆ size_type_if

template<unsigned Dim>
typedef size_type_user FieldLayout< Dim >::size_type_if

Definition at line 80 of file FieldLayout.h.

◆ touch_iterator_dv

Definition at line 76 of file FieldLayout.h.

◆ touch_range_dv

template<unsigned Dim>
typedef std::pair<touch_iterator_dv,touch_iterator_dv> FieldLayout< Dim >::touch_range_dv

Definition at line 77 of file FieldLayout.h.

Constructor & Destructor Documentation

◆ FieldLayout() [1/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout

Definition at line 44 of file FieldLayout.hpp.

References Dim, and PARALLEL.

◆ FieldLayout() [2/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const char *  filename)

Definition at line 67 of file FieldLayout.hpp.

References Dim, and PARALLEL.

◆ FieldLayout() [3/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const Index i1,
e_dim_tag  p1 = PARALLEL,
int  vnodes = -1 
)
inline

Definition at line 479 of file FieldLayout.h.

◆ FieldLayout() [4/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const Index i1,
const Index i2,
e_dim_tag  p1 = PARALLEL,
e_dim_tag  p2 = PARALLEL,
int  vnodes = -1 
)
inline

Definition at line 486 of file FieldLayout.h.

◆ FieldLayout() [5/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 494 of file FieldLayout.h.

◆ FieldLayout() [6/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 504 of file FieldLayout.h.

◆ FieldLayout() [7/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 515 of file FieldLayout.h.

◆ FieldLayout() [8/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 527 of file FieldLayout.h.

◆ FieldLayout() [9/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const Index i1,
e_dim_tag  p1,
unsigned  vnodes1,
bool  recurse = false,
int  vnodes = -1 
)
inline

Definition at line 546 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [10/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 565 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [11/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 584 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [12/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 606 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [13/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 630 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [14/19]

template<unsigned Dim>
FieldLayout< Dim >::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 
)
inline

Definition at line 657 of file FieldLayout.h.

References endl(), and ERRORMSG.

Here is the call graph for this function:

◆ FieldLayout() [15/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const NDIndex< Dim > &  domain,
e_dim_tag p = 0,
int  vnodes = -1 
)
inline

Definition at line 172 of file FieldLayout.h.

References FieldLayout< Dim >::initialize().

Here is the call graph for this function:

◆ FieldLayout() [16/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const NDIndex< Dim > &  domain,
e_dim_tag p,
unsigned *  vnodesPerDirection,
bool  recurse = false,
int  vnodes = -1 
)
inline

Definition at line 191 of file FieldLayout.h.

References FieldLayout< Dim >::initialize().

Here is the call graph for this function:

◆ FieldLayout() [17/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const NDIndex< Dim > &  Domain,
const NDIndex< Dim > *  begin,
const NDIndex< Dim > *  end 
)

◆ FieldLayout() [18/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const NDIndex< Dim > &  Domain,
const Vnode< Dim > *  begin,
const Vnode< Dim > *  end 
)

◆ FieldLayout() [19/19]

template<unsigned Dim>
FieldLayout< Dim >::FieldLayout ( const NDIndex< Dim > &  Domain,
const NDIndex< Dim > *  dombegin,
const NDIndex< Dim > *  domend,
const int *  nbegin,
const int *  nend 
)
inline

Definition at line 684 of file FieldLayout.h.

◆ ~FieldLayout()

template<unsigned Dim>
FieldLayout< Dim >::~FieldLayout
virtual

Definition at line 90 of file FieldLayout.hpp.

Member Function Documentation

◆ begin_if()

template<unsigned Dim>
iterator_if FieldLayout< Dim >::begin_if ( )
inline

Definition at line 379 of file FieldLayout.h.

References UserList::begin_user().

Here is the call graph for this function:

◆ begin_iv() [1/2]

template<unsigned Dim>
FieldLayout< Dim >::iterator_iv FieldLayout< Dim >::begin_iv
inline

◆ begin_iv() [2/2]

template<unsigned Dim>
FieldLayout< Dim >::const_iterator_iv FieldLayout< Dim >::begin_iv
inline

Definition at line 723 of file FieldLayout.h.

◆ begin_rdv()

template<unsigned Dim>
FieldLayout< Dim >::iterator_dv FieldLayout< Dim >::begin_rdv ( const GuardCellSizes< Dim > &  gc = gc0())
inline

◆ begin_rgdv()

template<unsigned Dim>
FieldLayout< Dim >::iterator_gdv FieldLayout< Dim >::begin_rgdv
inline

Definition at line 744 of file FieldLayout.h.

◆ calcWidths()

template<unsigned Dim>
void FieldLayout< Dim >::calcWidths
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().

Here is the call graph for this function:

◆ checkin()

template<unsigned Dim>
void FieldLayout< Dim >::checkin ( FieldLayoutUser f,
const GuardCellSizes< Dim > &  gc = gc0() 
)

◆ checkout()

template<unsigned Dim>
void FieldLayout< Dim >::checkout ( FieldLayoutUser f)

Definition at line 1571 of file FieldLayout.hpp.

◆ end_if()

template<unsigned Dim>
iterator_if FieldLayout< Dim >::end_if ( )
inline

Definition at line 380 of file FieldLayout.h.

References UserList::end_user().

Here is the call graph for this function:

◆ end_iv() [1/2]

template<unsigned Dim>
FieldLayout< Dim >::iterator_iv FieldLayout< Dim >::end_iv
inline

◆ end_iv() [2/2]

template<unsigned Dim>
FieldLayout< Dim >::const_iterator_iv FieldLayout< Dim >::end_iv
inline

Definition at line 730 of file FieldLayout.h.

◆ end_rdv()

template<unsigned Dim>
FieldLayout< Dim >::iterator_dv FieldLayout< Dim >::end_rdv ( const GuardCellSizes< Dim > &  gc = gc0())
inline

◆ end_rgdv()

template<unsigned Dim>
FieldLayout< Dim >::iterator_gdv FieldLayout< Dim >::end_rgdv
inline

Definition at line 751 of file FieldLayout.h.

◆ fitsGuardCells()

template<unsigned Dim>
bool FieldLayout< Dim >::fitsGuardCells ( const GuardCellSizes< Dim > &  gc) const
inline

Definition at line 387 of file FieldLayout.h.

References Dim, GuardCellSizes< Dim >::left(), FieldLayout< Dim >::MinWidth, and GuardCellSizes< Dim >::right().

Here is the call graph for this function:

◆ gc0()

template<unsigned Dim>
static GuardCellSizes<Dim> FieldLayout< Dim >::gc0 ( )
inlinestaticprivate

Definition at line 84 of file FieldLayout.h.

Referenced by FieldLayout< Dim >::FieldLayout().

◆ get_Id()

template<unsigned Dim>
UserList::ID_t FieldLayout< Dim >::get_Id ( ) const
inline

Definition at line 417 of file FieldLayout.h.

References UserList::getUserListID().

Here is the call graph for this function:

◆ getDistribution()

template<unsigned Dim>
e_dim_tag FieldLayout< Dim >::getDistribution ( unsigned int  d) const
inline

◆ getDomain()

template<unsigned Dim>
const NDIndex<Dim>& FieldLayout< Dim >::getDomain ( void  ) const
inline

◆ getLocalNDIndex()

template<unsigned Dim>
NDIndex< Dim > FieldLayout< Dim >::getLocalNDIndex

◆ getRequestedDistribution()

template<unsigned Dim>
e_dim_tag FieldLayout< Dim >::getRequestedDistribution ( unsigned int  d) const
inline

Definition at line 405 of file FieldLayout.h.

References FieldLayout< Dim >::RequestedLayout.

Referenced by FFTPoissonSolver::initializeFields().

◆ getVnodesPerDirection()

template<unsigned Dim>
unsigned FieldLayout< Dim >::getVnodesPerDirection ( unsigned  dir)

Definition at line 890 of file FieldLayout.hpp.

References PAssert.

◆ initialize() [1/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [2/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [3/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [4/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [5/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [6/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [7/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [8/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [9/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [10/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [11/15]

template<unsigned Dim>
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.

References Dim, and PInsist.

◆ initialize() [12/15]

template<unsigned Dim>
void FieldLayout< Dim >::initialize ( const Index i1,
e_dim_tag  p1 = PARALLEL,
int  vnodes = -1 
)

Definition at line 119 of file FieldLayout.hpp.

References Dim, and PInsist.

Referenced by centeredInitialize(), and FieldLayout< Dim >::FieldLayout().

◆ initialize() [13/15]

template<unsigned Dim>
void FieldLayout< Dim >::initialize ( const NDIndex< Dim > &  Domain,
const NDIndex< Dim > *  dombegin,
const NDIndex< Dim > *  domend,
const int *  nbegin,
const int *  nend 
)

◆ initialize() [14/15]

template<unsigned Dim>
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.

Here is the call graph for this function:

◆ initialize() [15/15]

template<unsigned Dim>
void FieldLayout< Dim >::initialize ( const NDIndex< Dim > &  domain,
e_dim_tag p = 0,
int  vnodes = -1 
)

Definition at line 109 of file FieldLayout.hpp.

◆ new_gc_layout()

template<unsigned Dim>
void FieldLayout< Dim >::new_gc_layout ( const GuardCellSizes< Dim > &  gc)
private

◆ numVnodes()

template<unsigned Dim>
int FieldLayout< Dim >::numVnodes ( void  ) const
inline

Definition at line 353 of file FieldLayout.h.

References FieldLayout< Dim >::size_iv(), and FieldLayout< Dim >::size_rdv().

Here is the call graph for this function:

◆ operator==()

template<unsigned Dim>
template<unsigned Dim2>
bool FieldLayout< Dim >::operator== ( const FieldLayout< Dim2 > &  x) const
inline

Definition at line 336 of file FieldLayout.h.

References FieldLayout< Dim >::Domain, and FieldLayout< Dim >::getDomain().

Here is the call graph for this function:

◆ read()

template<unsigned Dim>
bool FieldLayout< Dim >::read ( const char *  filename)

◆ Repartition() [1/3]

template<unsigned Dim>
void FieldLayout< Dim >::Repartition ( const NDIndex< Dim > &  domain)
inline

Definition at line 318 of file FieldLayout.h.

References FieldLayout< Dim >::Repartition().

Referenced by FieldLayout< Dim >::Repartition().

Here is the call graph for this function:

◆ Repartition() [2/3]

template<unsigned Dim>
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().

Here is the call graph for this function:

◆ Repartition() [3/3]

template<unsigned Dim>
void FieldLayout< Dim >::Repartition ( const Vnode< Dim > *  idxBegin,
const Vnode< Dim > *  idxEnd 
)

◆ setup() [1/2]

template<unsigned Dim>
void FieldLayout< Dim >::setup ( const NDIndex< Dim > &  domain,
e_dim_tag userflags,
int  vnodes 
)
private

◆ setup() [2/2]

template<unsigned Dim>
void FieldLayout< Dim >::setup ( const NDIndex< Dim > &  domain,
e_dim_tag userflags,
unsigned *  vnodesPerDirection,
bool  recurse,
int  vnodes 
)
private

◆ size_if()

template<unsigned Dim>
size_type_if FieldLayout< Dim >::size_if ( ) const
inline

Definition at line 378 of file FieldLayout.h.

References UserList::getNumUsers().

Here is the call graph for this function:

◆ size_iv()

template<unsigned Dim>
FieldLayout< Dim >::ac_id_vnodes::size_type FieldLayout< Dim >::size_iv
inline

Definition at line 702 of file FieldLayout.h.

Referenced by FieldLayout< Dim >::numVnodes(), and DiscField< Dim >::write().

◆ size_rdv()

template<unsigned Dim>
FieldLayout< Dim >::ac_domain_vnodes::size_type FieldLayout< Dim >::size_rdv ( const GuardCellSizes< Dim > &  gc = gc0()) const
inline

Definition at line 758 of file FieldLayout.h.

Referenced by FieldLayout< Dim >::numVnodes().

◆ size_rgdv()

template<unsigned Dim>
FieldLayout< Dim >::ac_gc_domain_vnodes::size_type FieldLayout< Dim >::size_rgdv
inline

Definition at line 737 of file FieldLayout.h.

◆ touch_range_rdv()

template<unsigned Dim>
FieldLayout< Dim >::touch_range_dv FieldLayout< Dim >::touch_range_rdv ( const NDIndex< Dim > &  domain,
const GuardCellSizes< Dim > &  gc = gc0() 
) const
inline

Definition at line 780 of file FieldLayout.h.

Referenced by assign(), CalcIndexedReceive(), IndexedSend(), and DiscField< Dim >::read().

◆ write() [1/2]

template<unsigned Dim>
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<<().

Here is the call graph for this function:

◆ write() [2/2]

template<unsigned Dim>
void FieldLayout< Dim >::write ( std::ostream &  out) const

Member Data Documentation

◆ Domain

template<unsigned Dim>
NDIndex<Dim> FieldLayout< Dim >::Domain
private

◆ Local_ac

template<unsigned Dim>
ac_id_vnodes FieldLayout< Dim >::Local_ac
private

◆ MinWidth

template<unsigned Dim>
unsigned int FieldLayout< Dim >::MinWidth[Dim]
private

◆ Remotes_ac

template<unsigned Dim>
ac_gc_domain_vnodes FieldLayout< Dim >::Remotes_ac
private

◆ RequestedLayout

template<unsigned Dim>
e_dim_tag FieldLayout< Dim >::RequestedLayout[Dim]
private

◆ vnodesPerDirection_m

template<unsigned Dim>
unsigned* FieldLayout< Dim >::vnodesPerDirection_m
private

The documentation for this class was generated from the following files: