OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
RegionLayout< T, Dim, MeshType > Class Template Reference

#include <RegionLayout.h>

Inheritance diagram for RegionLayout< T, Dim, MeshType >:
Inheritance graph
[legend]
Collaboration diagram for RegionLayout< T, Dim, MeshType >:
Collaboration graph
[legend]

Classes

class  RnodePool
 

Public Types

typedef vmap< Unique::type,
Rnode< T, Dim > * > 
ac_id_vnodes
 
typedef DomainMap< NDRegion< T,
Dim >, Rnode< T, Dim >
*, TouchesRegion< T, Dim >
, ContainsRegion< T, Dim >
, SplitRegion< T, Dim > > 
ac_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::const_iterator 
const_iterator_dv
 
typedef
ac_domain_vnodes::touch_iterator 
touch_iterator_dv
 
typedef std::pair
< touch_iterator_dv,
touch_iterator_dv
touch_range_dv
 
- Public Types inherited from User
typedef Unique::type ID_t
 

Public Member Functions

 RegionLayout ()
 
 RegionLayout (const RegionLayout< T, Dim, MeshType > &)
 
 RegionLayout (const NDRegion< T, Dim > &domain, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const PRegion< T > &i1, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const PRegion< T > &i1, const PRegion< T > &i2, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const PRegion< T > &i1, const PRegion< T > &i2, const PRegion< T > &i3, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (FieldLayout< Dim > &)
 
 RegionLayout (FieldLayout< Dim > &, MeshType &)
 
 RegionLayout (const NDIndex< Dim > &domain, int vnodes=-1)
 
 RegionLayout (const Index &i1, int vnodes=-1)
 
 RegionLayout (const Index &i1, const Index &i2, int vnodes=-1)
 
 RegionLayout (const Index &i1, const Index &i2, const Index &i3, int vnodes=-1)
 
 RegionLayout (const NDIndex< Dim > &domain, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const Index &i1, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const Index &i1, const Index &i2, MeshType &mesh, int vnodes=-1)
 
 RegionLayout (const Index &i1, const Index &i2, const Index &i3, MeshType &mesh, int vnodes=-1)
 
virtual ~RegionLayout ()
 
bool initialized () const
 
const NDRegion< T, Dim > & getDomain () const
 
FieldLayout< Dim > & getFieldLayout ()
 
const FieldLayout< Dim > & getFieldLayout () const
 
MeshType & getMesh ()
 
const MeshType & getMesh () 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_domain_vnodes::size_type size_rdv () const
 
iterator_dv begin_rdv ()
 
iterator_dv end_rdv ()
 
const_iterator_dv begin_rdv () const
 
const_iterator_dv end_rdv () const
 
touch_range_dv touch_range_rdv (const NDRegion< T, Dim > &domain)
 
void changeDomain (FieldLayout< Dim > &)
 
void changeDomain (const NDIndex< Dim > &, int vnodes=-1)
 
void changeDomain (const NDRegion< T, Dim > &, int vnodes=-1)
 
void RepartitionLayout (NDIndex< Dim > *, NDIndex< Dim > *)
 
void RepartitionLayout (NDIndex< Dim > &domain)
 
NDRegion< T, Dimconvert_index (const NDIndex< Dim > &) const
 
NDIndex< Dimconvert_region (const NDRegion< T, Dim > &) const
 
bool operator== (const RegionLayout< T, Dim, MeshType > &x)
 
virtual void Repartition (UserList *)
 
virtual void notifyUserOfDelete (UserList *)
 
UserList::ID_t get_Id () const
 
void checkin (FieldLayoutUser &f)
 
void checkout (FieldLayoutUser &f)
 
- Public Member Functions inherited from FieldLayoutUser
 FieldLayoutUser ()
 
virtual ~FieldLayoutUser ()
 
- Public Member Functions inherited from User
 User ()
 
virtual ~User ()
 
ID_t get_Id () const
 

Private Member Functions

void setup (const NDRegion< T, Dim > &, int)
 
void make_rnodes (const NDRegion< T, Dim > &, FieldLayout< Dim > &)
 
void delete_rnodes ()
 
void store_flayout (FieldLayout< Dim > *, bool WeOwn)
 
void delete_flayout ()
 
void store_mesh (MeshType *, bool WeOwn)
 
void delete_mesh ()
 
NDRegion< T, DimgetMeshDomain (MeshType *)
 
NDIndex< DimgetMeshVertices (MeshType *)
 
- 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)
 

Private Attributes

ac_id_vnodes Local_ac
 
ac_domain_vnodesRemote_ac
 
NDRegion< T, DimDomain
 
FieldLayout< Dim > * FLayout
 
bool WeOwnFieldLayout
 
MeshType * theMesh
 
bool WeOwnMesh
 
NDIndex< DimMeshVertices
 
int IndexOffset [Dim]
 
bool CenterOffset [Dim]
 

Static Private Attributes

static RnodePool StaticRnodePool
 

Additional Inherited Members

- Protected Attributes inherited from User
ID_t Id
 
- 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<class T, unsigned Dim, class MeshType>
class RegionLayout< T, Dim, MeshType >

Definition at line 48 of file RegionLayout.h.

Member Typedef Documentation

template<class T, unsigned Dim, class MeshType>
typedef DomainMap<NDRegion<T,Dim>, Rnode<T,Dim> *, TouchesRegion<T,Dim>, ContainsRegion<T,Dim>, SplitRegion<T,Dim> > RegionLayout< T, Dim, MeshType >::ac_domain_vnodes

Definition at line 63 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef vmap<Unique::type, Rnode<T,Dim> *> RegionLayout< T, Dim, MeshType >::ac_id_vnodes

Definition at line 59 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef ac_domain_vnodes::const_iterator RegionLayout< T, Dim, MeshType >::const_iterator_dv

Definition at line 69 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef ac_id_vnodes::const_iterator RegionLayout< T, Dim, MeshType >::const_iterator_iv

Definition at line 67 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef ac_domain_vnodes::iterator RegionLayout< T, Dim, MeshType >::iterator_dv

Definition at line 68 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef ac_id_vnodes::iterator RegionLayout< T, Dim, MeshType >::iterator_iv

Definition at line 66 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef ac_domain_vnodes::touch_iterator RegionLayout< T, Dim, MeshType >::touch_iterator_dv

Definition at line 70 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
typedef std::pair<touch_iterator_dv,touch_iterator_dv> RegionLayout< T, Dim, MeshType >::touch_range_dv

Definition at line 71 of file RegionLayout.h.

Constructor & Destructor Documentation

template<class T , unsigned Dim, class MeshType >
RegionLayout< T, Dim, MeshType >::RegionLayout ( )

Definition at line 45 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const RegionLayout< T, Dim, MeshType > &  r)
template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const NDRegion< T, Dim > &  domain,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 117 of file RegionLayout.hpp.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const PRegion< T > &  i1,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 132 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const PRegion< T > &  i1,
const PRegion< T > &  i2,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 151 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const PRegion< T > &  i1,
const PRegion< T > &  i2,
const PRegion< T > &  i3,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 172 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( FieldLayout< Dim > &  fl)

Definition at line 363 of file RegionLayout.hpp.

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

Here is the call graph for this function:

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( FieldLayout< Dim > &  fl,
MeshType &  mesh 
)

Definition at line 384 of file RegionLayout.hpp.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const NDIndex< Dim > &  domain,
int  vnodes = -1 
)

Definition at line 196 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
int  vnodes = -1 
)

Definition at line 216 of file RegionLayout.hpp.

References Dim, Index::first(), Index::last(), PInsist, and Index::stride().

Here is the call graph for this function:

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
const Index i2,
int  vnodes = -1 
)

Definition at line 236 of file RegionLayout.hpp.

References Dim, Index::first(), Index::last(), PInsist, and Index::stride().

Here is the call graph for this function:

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
const Index i2,
const Index i3,
int  vnodes = -1 
)

Definition at line 259 of file RegionLayout.hpp.

References Dim, Index::first(), Index::last(), PInsist, and Index::stride().

Here is the call graph for this function:

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const NDIndex< Dim > &  domain,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 284 of file RegionLayout.hpp.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 300 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
const Index i2,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 320 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RegionLayout ( const Index i1,
const Index i2,
const Index i3,
MeshType &  mesh,
int  vnodes = -1 
)

Definition at line 340 of file RegionLayout.hpp.

References Dim, and PInsist.

template<class T , unsigned Dim, class MeshType >
RegionLayout< T, Dim, MeshType >::~RegionLayout ( )
virtual

Definition at line 99 of file RegionLayout.hpp.

Member Function Documentation

template<class T, unsigned Dim, class MeshType>
iterator_iv RegionLayout< T, Dim, MeshType >::begin_iv ( )
inline
template<class T, unsigned Dim, class MeshType>
const_iterator_iv RegionLayout< T, Dim, MeshType >::begin_iv ( ) const
inline

Definition at line 148 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
iterator_dv RegionLayout< T, Dim, MeshType >::begin_rdv ( )
inline

Definition at line 155 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
const_iterator_dv RegionLayout< T, Dim, MeshType >::begin_rdv ( ) const
inline

Definition at line 157 of file RegionLayout.h.

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::changeDomain ( FieldLayout< Dim > &  fl)

Definition at line 486 of file RegionLayout.hpp.

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

Referenced by PartBunch::initialize(), and ParticleSpatialLayout< T, Dim, Mesh >::rebuild_layout().

Here is the call graph for this function:

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::changeDomain ( const NDIndex< Dim > &  domain,
int  vnodes = -1 
)

Definition at line 401 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::changeDomain ( const NDRegion< T, Dim > &  domain,
int  vnodes = -1 
)

Definition at line 444 of file RegionLayout.hpp.

References Dim, and PAssert.

template<class T, unsigned Dim, class MeshType>
void RegionLayout< T, Dim, MeshType >::checkin ( FieldLayoutUser f)
inline

Definition at line 259 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
void RegionLayout< T, Dim, MeshType >::checkout ( FieldLayoutUser f)
inline

Definition at line 265 of file RegionLayout.h.

template<class T , unsigned Dim, class MeshType >
NDRegion< T, Dim > RegionLayout< T, Dim, MeshType >::convert_index ( const NDIndex< Dim > &  ni) const

Definition at line 526 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType >
NDIndex< Dim > RegionLayout< T, Dim, MeshType >::convert_region ( const NDRegion< T, Dim > &  nr) const

Definition at line 572 of file RegionLayout.hpp.

References Dim.

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::delete_flayout ( )
private

Definition at line 721 of file RegionLayout.hpp.

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::delete_mesh ( )
private

Definition at line 758 of file RegionLayout.hpp.

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::delete_rnodes ( )
private

Definition at line 674 of file RegionLayout.hpp.

template<class T, unsigned Dim, class MeshType>
iterator_iv RegionLayout< T, Dim, MeshType >::end_iv ( )
inline
template<class T, unsigned Dim, class MeshType>
const_iterator_iv RegionLayout< T, Dim, MeshType >::end_iv ( ) const
inline

Definition at line 149 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
iterator_dv RegionLayout< T, Dim, MeshType >::end_rdv ( )
inline

Definition at line 156 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
const_iterator_dv RegionLayout< T, Dim, MeshType >::end_rdv ( ) const
inline

Definition at line 158 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
UserList::ID_t RegionLayout< T, Dim, MeshType >::get_Id ( ) const
inline

Definition at line 254 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
const NDRegion<T,Dim>& RegionLayout< T, Dim, MeshType >::getDomain ( void  ) const
inline
template<class T, unsigned Dim, class MeshType>
FieldLayout<Dim>& RegionLayout< T, Dim, MeshType >::getFieldLayout ( )
inline
template<class T, unsigned Dim, class MeshType>
const FieldLayout<Dim>& RegionLayout< T, Dim, MeshType >::getFieldLayout ( ) const
inline

Definition at line 138 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
MeshType& RegionLayout< T, Dim, MeshType >::getMesh ( )
inline
template<class T, unsigned Dim, class MeshType>
const MeshType& RegionLayout< T, Dim, MeshType >::getMesh ( ) const
inline

Definition at line 142 of file RegionLayout.h.

template<class T , unsigned Dim, class MeshType>
NDRegion< T, Dim > RegionLayout< T, Dim, MeshType >::getMeshDomain ( MeshType *  m)
private

Definition at line 773 of file RegionLayout.hpp.

References Dim.

template<class T , unsigned Dim, class MeshType>
NDIndex< Dim > RegionLayout< T, Dim, MeshType >::getMeshVertices ( MeshType *  m)
private

Definition at line 794 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType>
bool RegionLayout< T, Dim, MeshType >::initialized ( ) const
inline
template<class T, unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::make_rnodes ( const NDRegion< T, Dim > &  dom,
FieldLayout< Dim > &  FL 
)
private
template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::notifyUserOfDelete ( UserList userlist)
virtual

Implements User.

Definition at line 918 of file RegionLayout.hpp.

References UserList::getUserListID(), and WARNMSG.

Here is the call graph for this function:

template<class T, unsigned Dim, class MeshType>
bool RegionLayout< T, Dim, MeshType >::operator== ( const RegionLayout< T, Dim, MeshType > &  x)
inline

Definition at line 229 of file RegionLayout.h.

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::Repartition ( UserList userlist)
virtual

Implements FieldLayoutUser.

Definition at line 871 of file RegionLayout.hpp.

References UserList::getUserListID().

Here is the call graph for this function:

template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::RepartitionLayout ( NDIndex< Dim > *  ni,
NDIndex< Dim > *  nf 
)
template<class T, unsigned Dim, class MeshType>
void RegionLayout< T, Dim, MeshType >::RepartitionLayout ( NDIndex< Dim > &  domain)
inline

Definition at line 184 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
void RegionLayout< T, Dim, MeshType >::setup ( const NDRegion< T, Dim > &  ,
int   
)
private
template<class T, unsigned Dim, class MeshType>
ac_id_vnodes::size_type RegionLayout< T, Dim, MeshType >::size_iv ( ) const
inline
template<class T, unsigned Dim, class MeshType>
ac_domain_vnodes::size_type RegionLayout< T, Dim, MeshType >::size_rdv ( ) const
inline
template<class T , unsigned Dim, class MeshType >
void RegionLayout< T, Dim, MeshType >::store_flayout ( FieldLayout< Dim > *  f,
bool  WeOwn 
)
private

Definition at line 700 of file RegionLayout.hpp.

References FieldLayout< Dim >::checkin().

Here is the call graph for this function:

template<class T , unsigned Dim, class MeshType>
void RegionLayout< T, Dim, MeshType >::store_mesh ( MeshType *  m,
bool  WeOwn 
)
private

Definition at line 735 of file RegionLayout.hpp.

References Dim.

template<class T, unsigned Dim, class MeshType>
touch_range_dv RegionLayout< T, Dim, MeshType >::touch_range_rdv ( const NDRegion< T, Dim > &  domain)
inline

Member Data Documentation

template<class T, unsigned Dim, class MeshType>
bool RegionLayout< T, Dim, MeshType >::CenterOffset[Dim]
private

Definition at line 290 of file RegionLayout.h.

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

template<class T, unsigned Dim, class MeshType>
NDRegion<T,Dim> RegionLayout< T, Dim, MeshType >::Domain
private
template<class T, unsigned Dim, class MeshType>
FieldLayout<Dim>* RegionLayout< T, Dim, MeshType >::FLayout
private
template<class T, unsigned Dim, class MeshType>
int RegionLayout< T, Dim, MeshType >::IndexOffset[Dim]
private

Definition at line 287 of file RegionLayout.h.

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

template<class T, unsigned Dim, class MeshType>
ac_id_vnodes RegionLayout< T, Dim, MeshType >::Local_ac
private
template<class T, unsigned Dim, class MeshType>
NDIndex<Dim> RegionLayout< T, Dim, MeshType >::MeshVertices
private

Definition at line 284 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
ac_domain_vnodes* RegionLayout< T, Dim, MeshType >::Remote_ac
private
template<class T, unsigned Dim, class MeshType>
RegionLayout< T, Dim, MeshType >::RnodePool RegionLayout< T, Dim, MeshType >::StaticRnodePool
staticprivate

Definition at line 376 of file RegionLayout.h.

template<class T, unsigned Dim, class MeshType>
MeshType* RegionLayout< T, Dim, MeshType >::theMesh
private
template<class T, unsigned Dim, class MeshType>
bool RegionLayout< T, Dim, MeshType >::WeOwnFieldLayout
private

Definition at line 277 of file RegionLayout.h.

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

template<class T, unsigned Dim, class MeshType>
bool RegionLayout< T, Dim, MeshType >::WeOwnMesh
private

Definition at line 281 of file RegionLayout.h.

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


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