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

#include <AbstractParticle.h>

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_tParticlePos_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 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 30 of file AbstractParticle.h.

Member Typedef Documentation

◆ Index_t

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

Definition at line 35 of file AbstractParticle.h.

◆ Layout_t

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

Definition at line 40 of file AbstractParticle.h.

◆ ParticleIndex_t

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

Definition at line 37 of file AbstractParticle.h.

◆ ParticlePos_t

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

Definition at line 36 of file AbstractParticle.h.

◆ Position_t

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

Definition at line 39 of file AbstractParticle.h.

◆ SingleParticlePos_t

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

Definition at line 34 of file AbstractParticle.h.

◆ UpdateFlags

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

Definition at line 38 of file AbstractParticle.h.

Constructor & Destructor Documentation

◆ AbstractParticle()

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

Definition at line 44 of file AbstractParticle.h.

◆ ~AbstractParticle()

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

Definition at line 46 of file AbstractParticle.h.

Member Function Documentation

◆ addAttribute()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::addAttribute ( ParticleAttribBase pa)
pure virtual

◆ create()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::create ( size_t  )
pure virtual

◆ createWithID()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::createWithID ( unsigned  id)
pure virtual

◆ destroy()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::destroy ( size_t  ,
size_t  ,
bool  = false 
)
pure virtual

◆ getBConds()

template<class T , unsigned Dim>
virtual ParticleBConds< Position_t, Dim > & AbstractParticle< T, Dim >::getBConds ( )
pure virtual

◆ getDestroyNum()

template<class T , unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getDestroyNum ( ) const
pure virtual

◆ getGhostNum()

template<class T , unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getGhostNum ( ) const
pure virtual

◆ getLayout() [1/2]

template<class T , unsigned Dim>
virtual const Layout_t & AbstractParticle< T, Dim >::getLayout ( ) const
pure virtual

◆ getLayout() [2/2]

template<class T , unsigned Dim>
virtual Layout_t & AbstractParticle< T, Dim >::getLayout ( )
pure virtual

◆ getLocalNum()

template<class T , unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getLocalNum ( ) const
pure virtual

◆ getTotalNum()

template<class T , unsigned Dim>
virtual size_t AbstractParticle< T, Dim >::getTotalNum ( ) const
pure virtual

◆ getUpdateFlag()

template<class T , unsigned Dim>
virtual bool AbstractParticle< T, Dim >::getUpdateFlag ( UpdateFlags  f) const
pure virtual

◆ ghostDestroy()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::ghostDestroy ( size_t  M,
size_t  I 
)
pure virtual

◆ globalCreate()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::globalCreate ( size_t  np)
pure virtual

◆ performDestroy()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::performDestroy ( bool  updateLocalNum = false)
pure virtual

◆ resetID()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::resetID ( )
pure virtual

◆ setBConds()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::setBConds ( const ParticleBConds< Position_t, Dim > &  bc)
pure virtual

◆ setLocalNum()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::setLocalNum ( size_t  n)
pure virtual

◆ setTotalNum()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::setTotalNum ( size_t  n)
pure virtual

◆ setUpdateFlag()

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::setUpdateFlag ( UpdateFlags  f,
bool  val 
)
pure virtual

◆ singleInitNode()

template<class T , unsigned Dim>
virtual bool AbstractParticle< T, Dim >::singleInitNode ( ) const
pure virtual

◆ update() [1/2]

template<class T , unsigned Dim>
virtual void AbstractParticle< T, Dim >::update ( )
pure virtual

◆ update() [2/2]

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

Member Data Documentation

◆ ID_p

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

Definition at line 93 of file AbstractParticle.h.

◆ R_p

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

Definition at line 92 of file AbstractParticle.h.


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