OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Public Attributes | List of all members
AbstractParticle< T, Dim > Class Template Referenceabstract

#include <AbstractParticle.h>

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

Public Types

typedef ParticleLayout< T, Dim >
::SingleParticlePos_t 
SingleParticlePos_t
 
typedef ParticleLayout< T, Dim >
::Index_t 
Index_t
 
typedef ParticleAttrib
< SingleParticlePos_t
ParticlePos_t
 
typedef ParticleAttrib< Index_tParticleIndex_t
 
typedef ParticleLayout< T, Dim >
::UpdateFlags 
UpdateFlags
 
typedef ParticleLayout< T, Dim >
::Position_t 
Position_t
 
typedef ParticleLayout< T, DimLayout_t
 

Public Member Functions

 AbstractParticle ()
 
virtual ~AbstractParticle ()
 
virtual void addAttribute (ParticleAttribBase &pa)=0
 
virtual size_t getTotalNum () const =0
 
virtual size_t getLocalNum () const =0
 
virtual size_t getDestroyNum () const =0
 
virtual size_t getGhostNum () const =0
 
virtual void setTotalNum (size_t n)=0
 
virtual void setLocalNum (size_t n)=0
 
virtual unsigned int getMinimumNumberOfParticlesPerCore () const =0
 
virtual void setMinimumNumberOfParticlesPerCore (unsigned int n)=0
 
virtual Layout_tgetLayout ()=0
 
virtual const Layout_tgetLayout () const =0
 
virtual bool getUpdateFlag (UpdateFlags f) const =0
 
virtual void setUpdateFlag (UpdateFlags f, bool val)=0
 
virtual ParticleBConds
< Position_t, Dim > & 
getBConds ()=0
 
virtual void setBConds (const ParticleBConds< Position_t, Dim > &bc)=0
 
virtual bool singleInitNode () const =0
 
virtual void resetID ()=0
 
virtual void update ()=0
 
virtual void update (const ParticleAttrib< char > &canSwap)=0
 
virtual void createWithID (unsigned id)=0
 
virtual void create (size_t)=0
 
virtual void globalCreate (size_t np)=0
 
virtual void destroy (size_t, size_t, bool=false)=0
 
virtual void performDestroy (bool updateLocalNum=false)=0
 
virtual void ghostDestroy (size_t M, size_t I)=0
 

Public Attributes

ParticlePos_tR_p
 
ParticleIndex_tID_p
 

Detailed Description

template<class T, unsigned Dim>
class AbstractParticle< T, Dim >

Definition at line 8 of file AbstractParticle.h.

Member Typedef Documentation

template<class T, unsigned Dim>
typedef ParticleLayout<T, Dim>::Index_t AbstractParticle< T, Dim >::Index_t

Definition at line 13 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleLayout<T, Dim> AbstractParticle< T, Dim >::Layout_t

Definition at line 18 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleAttrib<Index_t> AbstractParticle< T, Dim >::ParticleIndex_t

Definition at line 15 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleAttrib<SingleParticlePos_t> AbstractParticle< T, Dim >::ParticlePos_t

Definition at line 14 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleLayout<T, Dim>::Position_t AbstractParticle< T, Dim >::Position_t

Definition at line 17 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleLayout<T, Dim>::SingleParticlePos_t AbstractParticle< T, Dim >::SingleParticlePos_t

Definition at line 12 of file AbstractParticle.h.

template<class T, unsigned Dim>
typedef ParticleLayout<T, Dim>::UpdateFlags AbstractParticle< T, Dim >::UpdateFlags

Definition at line 16 of file AbstractParticle.h.

Constructor & Destructor Documentation

template<class T, unsigned Dim>
AbstractParticle< T, Dim >::AbstractParticle ( )
inline

Definition at line 22 of file AbstractParticle.h.

template<class T, unsigned Dim>
virtual AbstractParticle< T, Dim >::~AbstractParticle ( )
inlinevirtual

Definition at line 24 of file AbstractParticle.h.

Member Function Documentation

template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::addAttribute ( ParticleAttribBase pa)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::create ( size_t  )
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::createWithID ( unsigned  id)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::destroy ( size_t  ,
size_t  ,
bool  = false 
)
pure virtual
template<class T, unsigned Dim>
virtual ParticleBConds<Position_t, Dim>& AbstractParticle< T, Dim >::getBConds ( )
pure virtual
template<class T, unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getDestroyNum ( ) const
pure virtual
template<class T, unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getGhostNum ( ) const
pure virtual
template<class T, unsigned Dim>
virtual Layout_t& AbstractParticle< T, Dim >::getLayout ( )
pure virtual
template<class T, unsigned Dim>
virtual const Layout_t& AbstractParticle< T, Dim >::getLayout ( ) const
pure virtual
template<class T, unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getLocalNum ( ) const
pure virtual
template<class T, unsigned Dim>
virtual unsigned int AbstractParticle< T, Dim >::getMinimumNumberOfParticlesPerCore ( ) const
pure virtual
template<class T, unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getTotalNum ( ) const
pure virtual
template<class T, unsigned Dim>
virtual bool AbstractParticle< T, Dim >::getUpdateFlag ( UpdateFlags  f) const
pure virtual

Implemented in IpplParticleBase< T >.

template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::ghostDestroy ( size_t  M,
size_t  I 
)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::globalCreate ( size_t  np)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::performDestroy ( bool  updateLocalNum = false)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::resetID ( )
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::setBConds ( const ParticleBConds< Position_t, Dim > &  bc)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::setLocalNum ( size_t  n)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::setMinimumNumberOfParticlesPerCore ( unsigned int  n)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::setTotalNum ( size_t  n)
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::setUpdateFlag ( UpdateFlags  f,
bool  val 
)
pure virtual

Implemented in IpplParticleBase< T >.

template<class T, unsigned Dim>
virtual bool AbstractParticle< T, Dim >::singleInitNode ( ) const
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::update ( )
pure virtual
template<class T, unsigned Dim>
virtual void AbstractParticle< T, Dim >::update ( const ParticleAttrib< char > &  canSwap)
pure virtual

Member Data Documentation

template<class T, unsigned Dim>
ParticleIndex_t* AbstractParticle< T, Dim >::ID_p

Definition at line 74 of file AbstractParticle.h.

template<class T, unsigned Dim>
ParticlePos_t* AbstractParticle< T, Dim >::R_p

Definition at line 73 of file AbstractParticle.h.


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