OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
CenteredFieldLayout< Dim, Mesh, Centering > Class Template Reference

#include <CenteredFieldLayout.h>

Inheritance diagram for CenteredFieldLayout< Dim, Mesh, Centering >:
Inheritance graph
Collaboration diagram for CenteredFieldLayout< Dim, Mesh, Centering >:
Collaboration graph

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

 CenteredFieldLayout (Mesh &mesh, e_dim_tag *p=0, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, e_dim_tag p4, e_dim_tag p5, e_dim_tag p6, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag *p, unsigned *vnodesAlongDirection, bool recurse=false, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, unsigned vnodes1, bool recurse=false, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, unsigned vnodes1, unsigned vnodes2, bool recurse=false, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, e_dim_tag p1, e_dim_tag p2, e_dim_tag p3, unsigned vnodes1, unsigned vnodes2, unsigned vnodes3, bool recurse=false, int vnodes=-1)
 
 CenteredFieldLayout (Mesh &mesh, 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)
 
 CenteredFieldLayout (Mesh &mesh, 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)
 
 CenteredFieldLayout (Mesh &mesh, 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)
 
 CenteredFieldLayout (Mesh &mesh, const NDIndex< Dim > *dombegin, const NDIndex< Dim > *domend, const int *nbegin, const int *nend)
 
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)
 
void write (std::ostream &) const
 
int numVnodes (void) const
 
ac_id_vnodes::size_type size_iv () const
 
iterator_iv begin_iv ()
 
const_iterator_iv begin_iv () const
 
iterator_iv end_iv ()
 
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 ()
 

Private Types

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
 

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)
 
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
 
UserList_t userlist
 
ID_t userlistID
 

Detailed Description

template<unsigned Dim, class Mesh, class Centering>
class CenteredFieldLayout< Dim, Mesh, Centering >

Definition at line 19 of file CenteredFieldLayout.h.

Member Typedef Documentation

◆ ac_domain_vnodes

template<unsigned Dim>
typedef DomainMap<NDIndex<Dim>,RefCountedP< Vnode<Dim> >, Touches<Dim>,Contains<Dim>,Split<Dim> > FieldLayout< Dim >::ac_domain_vnodes
inherited

Definition at line 68 of file FieldLayout.h.

◆ ac_gc_domain_vnodes

template<unsigned Dim>
typedef vmap<GuardCellSizes<Dim>,my_auto_ptr<ac_domain_vnodes> > FieldLayout< Dim >::ac_gc_domain_vnodes
inherited

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
inherited

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
inherited

Definition at line 74 of file FieldLayout.h.

◆ ID_t

typedef User::ID_t UserList::ID_t
inherited

Definition at line 46 of file UserList.h.

◆ iterator_dv

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

Definition at line 75 of file FieldLayout.h.

◆ iterator_gdv

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

Definition at line 78 of file FieldLayout.h.

◆ iterator_if

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

Definition at line 79 of file FieldLayout.h.

◆ iterator_iv

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

Definition at line 73 of file FieldLayout.h.

◆ iterator_user

Definition at line 43 of file UserList.h.

◆ Key

typedef User::ID_t UserList::Key
inherited

Definition at line 41 of file UserList.h.

◆ size_type_if

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

Definition at line 80 of file FieldLayout.h.

◆ size_type_user

Definition at line 45 of file UserList.h.

◆ touch_iterator_dv

template<unsigned Dim>
typedef ac_domain_vnodes::touch_iterator FieldLayout< Dim >::touch_iterator_dv
inherited

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
inherited

Definition at line 77 of file FieldLayout.h.

◆ UserList_t

typedef vmap<Key, User *> UserList::UserList_t
inherited

Definition at line 42 of file UserList.h.

Constructor & Destructor Documentation

◆ CenteredFieldLayout() [1/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag p = 0,
int  vnodes = -1 
)

Definition at line 305 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [2/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
int  vnodes = -1 
)

Definition at line 319 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [3/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
int  vnodes = -1 
)

Definition at line 332 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [4/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
e_dim_tag  p3,
int  vnodes = -1 
)

Definition at line 347 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [5/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
e_dim_tag  p3,
e_dim_tag  p4,
int  vnodes = -1 
)

Definition at line 362 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [6/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
e_dim_tag  p3,
e_dim_tag  p4,
e_dim_tag  p5,
int  vnodes = -1 
)

Definition at line 377 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [7/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
e_dim_tag  p3,
e_dim_tag  p4,
e_dim_tag  p5,
e_dim_tag  p6,
int  vnodes = -1 
)

Definition at line 393 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [8/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag p,
unsigned *  vnodesAlongDirection,
bool  recurse = false,
int  vnodes = -1 
)

Definition at line 418 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [9/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
unsigned  vnodes1,
bool  recurse = false,
int  vnodes = -1 
)

Definition at line 432 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [10/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
e_dim_tag  p1,
e_dim_tag  p2,
unsigned  vnodes1,
unsigned  vnodes2,
bool  recurse = false,
int  vnodes = -1 
)

Definition at line 447 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [11/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
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 466 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [12/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
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 485 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [13/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
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 506 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [14/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
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 528 of file CenteredFieldLayout.hpp.

References centeredInitialize(), Dim, Mesh< Dim >::Dimension, and PInsist.

Here is the call graph for this function:

◆ CenteredFieldLayout() [15/15]

template<unsigned Dim, class Mesh , class Centering >
CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout ( Mesh mesh,
const NDIndex< Dim > *  dombegin,
const NDIndex< Dim > *  domend,
const int *  nbegin,
const int *  nend 
)

Definition at line 555 of file CenteredFieldLayout.hpp.

References centeredInitialize().

Here is the call graph for this function:

Member Function Documentation

◆ begin_if()

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

Definition at line 379 of file FieldLayout.h.

References UserList::begin_user().

Here is the call graph for this function:

◆ begin_iv() [1/2]

◆ begin_iv() [2/2]

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

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())
inlineinherited

◆ begin_rgdv()

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

Definition at line 744 of file FieldLayout.h.

◆ begin_user()

UserList::iterator_user UserList::begin_user ( )
inherited

Definition at line 77 of file UserList.cpp.

References vmap< Key, T, Compare >::begin(), and UserList::userlist.

Referenced by FieldLayout< Dim >::begin_if(), Mesh< Dim >::begin_if(), and UserList::~UserList().

Here is the call graph for this function:

◆ calcWidths()

template<unsigned Dim>
void FieldLayout< Dim >::calcWidths
privateinherited

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() 
)
inherited

◆ checkinUser()

UserList::ID_t UserList::checkinUser ( User user)
virtualinherited

Definition at line 109 of file UserList.cpp.

References User::get_Id(), UserList::haveUser(), UserList::userlist, and UserList::userlistID.

Referenced by Mesh< Dim >::checkin(), and RegionLayout< T, Dim, MeshType >::checkin().

Here is the call graph for this function:

◆ checkout()

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

Definition at line 1571 of file FieldLayout.hpp.

◆ checkoutUser() [1/2]

void UserList::checkoutUser ( const User user,
bool  informuser = false 
)
virtualinherited

Definition at line 138 of file UserList.cpp.

References UserList::checkoutUser(), and User::get_Id().

Here is the call graph for this function:

◆ checkoutUser() [2/2]

void UserList::checkoutUser ( Key  key,
bool  informuser = false 
)
virtualinherited

◆ end_if()

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

Definition at line 380 of file FieldLayout.h.

References UserList::end_user().

Here is the call graph for this function:

◆ end_iv() [1/2]

◆ end_iv() [2/2]

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

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())
inlineinherited

◆ end_rgdv()

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

Definition at line 751 of file FieldLayout.h.

◆ end_user()

UserList::iterator_user UserList::end_user ( )
inherited

Definition at line 84 of file UserList.cpp.

References vmap< Key, T, Compare >::end(), and UserList::userlist.

Referenced by UserList::checkoutUser(), FieldLayout< Dim >::end_if(), Mesh< Dim >::end_if(), UserList::getUser(), and UserList::~UserList().

Here is the call graph for this function:

◆ fitsGuardCells()

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

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 ( )
inlinestaticprivateinherited

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
inlineinherited

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
inlineinherited

◆ getDomain()

◆ getLocalNDIndex()

◆ getNumUsers()

UserList::size_type_user UserList::getNumUsers ( ) const
inherited

Definition at line 47 of file UserList.cpp.

References vmap< Key, T, Compare >::size(), and UserList::userlist.

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

Here is the call graph for this function:

◆ getRequestedDistribution()

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

◆ getUser()

User & UserList::getUser ( Key  key)
inherited

Definition at line 68 of file UserList.cpp.

References UserList::end_user(), vmap< Key, T, Compare >::find(), PInsist, and UserList::userlist.

Here is the call graph for this function:

◆ getUserListID()

◆ getVnodesPerDirection()

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

Definition at line 890 of file FieldLayout.hpp.

References PAssert.

◆ haveUser()

bool UserList::haveUser ( Key  key) const
inherited

Definition at line 61 of file UserList.cpp.

References vmap< Key, T, Compare >::count(), and UserList::userlist.

Referenced by UserList::checkinUser().

Here is the call graph for this function:

◆ 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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

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 
)
inherited

◆ 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 
)
inherited

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 
)
inherited

Definition at line 109 of file FieldLayout.hpp.

◆ new_gc_layout()

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

◆ numVnodes()

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

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
inlineinherited

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()

◆ Repartition() [1/3]

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

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 
)
inherited

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 
)
inherited

◆ setup() [1/2]

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

◆ setup() [2/2]

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

◆ size_if()

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

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
inlineinherited

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
inlineinherited

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
inlineinherited

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
inlineinherited

◆ write() [1/2]

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

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
inherited

Member Data Documentation

◆ Domain

◆ Local_ac

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

◆ MinWidth

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

◆ Remotes_ac

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

◆ RequestedLayout

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

◆ userlist

◆ userlistID

ID_t UserList::userlistID
privateinherited

Definition at line 103 of file UserList.h.

Referenced by UserList::checkinUser(), and UserList::getUserListID().

◆ vnodesPerDirection_m

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

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