OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
AbstractParticle< T, Dim > Class Template Referenceabstract

#include <AbstractParticle.h>

Inheritance diagram for AbstractParticle< T, Dim >:
Collaboration diagram for AbstractParticle< T, Dim >:

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

◆ createWithID()

◆ destroy()

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

◆ 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]

◆ 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: