ParticleBase< PLayout > Class Template Reference

#include <ParticleBase.h>

Inheritance diagram for ParticleBase< PLayout >:

Inheritance graph
[legend]
Collaboration diagram for ParticleBase< PLayout >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef PLayout Layout_t
typedef PLayout::Position_t Position_t
typedef PLayout::Index_t Index_t
typedef PLayout::ParticlePos_t ParticlePos_t
typedef PLayout::ParticleIndex_t ParticleIndex_t
typedef PLayout::pair_iterator pair_iterator
typedef PLayout::pair_t pair_t
typedef PLayout::UpdateFlags UpdateFlags
typedef vector< ParticleAttribBase * > attrib_container_t
typedef attrib_container_t::iterator attrib_iterator
typedef ParticleAttribBase::SortList_t SortList_t
enum  { Dim = PLayout::Dimension }

Public Member Functions

 ParticleBase ()
 ParticleBase (PLayout *layout)
 ~ParticleBase ()
void initialize (PLayout *)
size_t getTotalNum () const
size_t getLocalNum () const
size_t getDestroyNum () const
size_t getGhostNum () const
void setTotalNum (size_t n)
void setLocalNum (size_t n)
PLayout & getLayout ()
const PLayout & getLayout () const
ParticleBConds< Position_t,
PLayout::Dimension > & 
getBConds ()
void setBConds (const ParticleBConds< Position_t, PLayout::Dimension > &bc)
bool singleInitNode () const
bool getUpdateFlag (UpdateFlags f) const
void setUpdateFlag (UpdateFlags f, bool val)
void addAttribute (ParticleAttribBase &pa)
ParticleAttribBasegetAttribute (attrib_container_t::size_type N)
attrib_container_t::size_type numAttributes () const
attrib_iterator begin ()
attrib_iterator end ()
void resetID ()
void update ()
void update (const ParticleAttrib< char > &canSwap)
void create (size_t)
void globalCreate (size_t np)
void destroy (size_t, size_t, bool=false)
size_t putMessage (Message &, size_t, size_t)
size_t putMessage (Message &, const vector< size_t > &)
size_t getMessage (Message &)
size_t getMessageAndCreate (Message &)
void performDestroy ()
void sort (SortList_t &)
size_t ghostPutMessage (Message &, size_t, size_t)
size_t ghostPutMessage (Message &, const vector< size_t > &)
size_t ghostGetMessage (Message &, int)
void ghostDestroy (size_t, size_t)
void printDebug (Inform &)

Public Attributes

ParticlePos_t R
ParticleIndex_t ID

Protected Member Functions

virtual DataSourceObjectcreateDataSourceObject (const char *nm, DataConnect *dc, int tm)

Detailed Description

template<class PLayout>
class ParticleBase< PLayout >

Definition at line 135 of file ParticleBase.h.


Member Typedef Documentation

template<class PLayout>
typedef vector<ParticleAttribBase *> ParticleBase< PLayout >::attrib_container_t
 

Definition at line 152 of file ParticleBase.h.

template<class PLayout>
typedef attrib_container_t::iterator ParticleBase< PLayout >::attrib_iterator
 

Definition at line 153 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::Index_t ParticleBase< PLayout >::Index_t
 

Definition at line 144 of file ParticleBase.h.

template<class PLayout>
typedef PLayout ParticleBase< PLayout >::Layout_t
 

Definition at line 142 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::pair_iterator ParticleBase< PLayout >::pair_iterator
 

Definition at line 149 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::pair_t ParticleBase< PLayout >::pair_t
 

Definition at line 150 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::ParticleIndex_t ParticleBase< PLayout >::ParticleIndex_t
 

Definition at line 147 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::ParticlePos_t ParticleBase< PLayout >::ParticlePos_t
 

Definition at line 146 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::Position_t ParticleBase< PLayout >::Position_t
 

Definition at line 143 of file ParticleBase.h.

template<class PLayout>
typedef ParticleAttribBase::SortList_t ParticleBase< PLayout >::SortList_t
 

Definition at line 154 of file ParticleBase.h.

template<class PLayout>
typedef PLayout::UpdateFlags ParticleBase< PLayout >::UpdateFlags
 

Definition at line 151 of file ParticleBase.h.


Member Enumeration Documentation

template<class PLayout>
anonymous enum
 

Enumerator:
Dim 

Definition at line 139 of file ParticleBase.h.


Constructor & Destructor Documentation

template<class PLayout>
ParticleBase< PLayout >::ParticleBase  )  [inline]
 

Definition at line 164 of file ParticleBase.h.

template<class PLayout>
ParticleBase< PLayout >::ParticleBase PLayout *  layout  )  [inline]
 

Definition at line 167 of file ParticleBase.h.

template<class PLayout>
ParticleBase< PLayout >::~ParticleBase  )  [inline]
 

Definition at line 170 of file ParticleBase.h.


Member Function Documentation

template<class PLayout>
void ParticleBase< PLayout >::addAttribute ParticleAttribBase pa  )  [inline]
 

Definition at line 227 of file ParticleBase.h.

Referenced by GenArrayParticle< PLayout, T, N >::GenArrayParticle(), and GenParticle< PLayout, T >::GenParticle().

template<class PLayout>
attrib_iterator ParticleBase< PLayout >::begin  )  [inline]
 

Definition at line 238 of file ParticleBase.h.

template<class PLayout>
void ParticleBase< PLayout >::create size_t   ) 
 

Definition at line 297 of file ParticleBase.cpp.

References ADDIPPLSTAT, ParticleBase< PLayout >::ID, PAssert, TAU_PARTICLE, and TAU_PROFILE.

Referenced by ParticleBase< PLayout >::globalCreate().

template<class PLayout>
virtual DataSourceObject* ParticleBase< PLayout >::createDataSourceObject const char *  nm,
DataConnect dc,
int  tm
[inline, protected, virtual]
 

Implements DataSource.

Definition at line 322 of file ParticleBase.h.

template<class PLayout>
void ParticleBase< PLayout >::destroy size_t  ,
size_t  ,
bool  = false
 

Definition at line 350 of file ParticleBase.cpp.

References ADDIPPLSTAT, ParticleBase< PLayout >::getUpdateFlag(), PAssert, TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
attrib_iterator ParticleBase< PLayout >::end  )  [inline]
 

Definition at line 239 of file ParticleBase.h.

template<class PLayout>
ParticleAttribBase& ParticleBase< PLayout >::getAttribute attrib_container_t::size_type  N  )  [inline]
 

Definition at line 231 of file ParticleBase.h.

Referenced by DiscParticle::write().

template<class PLayout>
ParticleBConds<Position_t,PLayout::Dimension>& ParticleBase< PLayout >::getBConds  )  [inline]
 

Definition at line 203 of file ParticleBase.h.

template<class PLayout>
size_t ParticleBase< PLayout >::getDestroyNum  )  const [inline]
 

Definition at line 193 of file ParticleBase.h.

Referenced by ParticleLayoutFromGrid::update().

template<class PLayout>
size_t ParticleBase< PLayout >::getGhostNum  )  const [inline]
 

Definition at line 194 of file ParticleBase.h.

template<class PLayout>
const PLayout& ParticleBase< PLayout >::getLayout  )  const [inline]
 

Definition at line 200 of file ParticleBase.h.

template<class PLayout>
PLayout& ParticleBase< PLayout >::getLayout  )  [inline]
 

Definition at line 199 of file ParticleBase.h.

Referenced by ParticleBase< T >::getUpdateFlag(), and ParticleBase< T >::setUpdateFlag().

template<class PLayout>
size_t ParticleBase< PLayout >::getLocalNum  )  const [inline]
 

Definition at line 192 of file ParticleBase.h.

Referenced by ParticleBase< PLayout >::printDebug(), ParticleBase< PLayout >::resetID(), and ParticleLayoutFromGrid::update().

template<class PLayout>
size_t ParticleBase< PLayout >::getMessage Message  ) 
 

Definition at line 251 of file ParticleBase.cpp.

References Message::get(), PAssert, TAU_PARTICLE, and TAU_PROFILE.

Referenced by ParticleBase< PLayout >::getMessageAndCreate().

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::getMessageAndCreate Message  ) 
 

Definition at line 279 of file ParticleBase.cpp.

References ADDIPPLSTAT, ParticleBase< PLayout >::getMessage(), PAssert, TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::getTotalNum  )  const [inline]
 

Definition at line 191 of file ParticleBase.h.

Referenced by ParticleBase< PLayout >::printDebug(), and DiscParticle::write().

template<class PLayout>
bool ParticleBase< PLayout >::getUpdateFlag UpdateFlags  f  )  const [inline]
 

Definition at line 215 of file ParticleBase.h.

Referenced by ParticleBase< PLayout >::destroy(), and ParticleBase< PLayout >::performDestroy().

template<class PLayout>
void ParticleBase< PLayout >::ghostDestroy size_t  ,
size_t 
 

Definition at line 458 of file ParticleBase.cpp.

References CT, PAssert, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

template<class PLayout>
size_t ParticleBase< PLayout >::ghostGetMessage Message ,
int 
 

Definition at line 547 of file ParticleBase.cpp.

References CT, Message::get(), PAssert, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::ghostPutMessage Message ,
const vector< size_t > & 
 

Definition at line 520 of file ParticleBase.cpp.

References PAssert, Message::put(), TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::ghostPutMessage Message ,
size_t  ,
size_t 
 

Definition at line 483 of file ParticleBase.cpp.

References PAssert, ParticleBase< PLayout >::R, TAU_PARTICLE, and TAU_PROFILE.

template<class PLayout>
void ParticleBase< PLayout >::globalCreate size_t  np  ) 
 

Definition at line 324 of file ParticleBase.cpp.

References ParticleBase< PLayout >::create(), IpplInfo::getNodes(), IpplInfo::myNode(), PAssert, TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
void ParticleBase< PLayout >::initialize PLayout *   ) 
 

Definition at line 52 of file ParticleBase.cpp.

References CT, PAssert, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

template<class PLayout>
attrib_container_t::size_type ParticleBase< PLayout >::numAttributes  )  const [inline]
 

Definition at line 235 of file ParticleBase.h.

Referenced by DiscParticle::read(), and DiscParticle::write().

template<class PLayout>
void ParticleBase< PLayout >::performDestroy  ) 
 

Definition at line 418 of file ParticleBase.cpp.

References CT, ParticleBase< PLayout >::getUpdateFlag(), PAssert, ParticleBase< PLayout >::sort(), TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

Referenced by ParticleLayoutFromGrid::update().

Here is the call graph for this function:

template<class PLayout>
void ParticleBase< PLayout >::printDebug Inform  ) 
 

Definition at line 601 of file ParticleBase.cpp.

References endl(), ParticleBase< PLayout >::getLocalNum(), ParticleBase< PLayout >::getTotalNum(), TAU_IO, TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::putMessage Message ,
const vector< size_t > & 
 

Definition at line 224 of file ParticleBase.cpp.

References PAssert, Message::put(), TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
size_t ParticleBase< PLayout >::putMessage Message ,
size_t  ,
size_t 
 

Definition at line 194 of file ParticleBase.cpp.

References PAssert, Message::put(), ParticleBase< PLayout >::R, TAU_PARTICLE, and TAU_PROFILE.

Here is the call graph for this function:

template<class PLayout>
void ParticleBase< PLayout >::resetID  ) 
 

Definition at line 118 of file ParticleBase.cpp.

References IpplInfo::Comm, COMM_ANY_NODE, CT, Message::get(), ParticleBase< PLayout >::getLocalNum(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_RESET_ID_TAG, PAssert, Communicate::receive_block(), sum(), TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

Here is the call graph for this function:

template<class PLayout>
void ParticleBase< PLayout >::setBConds const ParticleBConds< Position_t, PLayout::Dimension > &  bc  )  [inline]
 

Definition at line 206 of file ParticleBase.h.

template<class PLayout>
void ParticleBase< PLayout >::setLocalNum size_t  n  )  [inline]
 

Definition at line 196 of file ParticleBase.h.

Referenced by ParticleLayoutFromGrid::update().

template<class PLayout>
void ParticleBase< PLayout >::setTotalNum size_t  n  )  [inline]
 

Definition at line 195 of file ParticleBase.h.

Referenced by ParticleLayoutFromGrid::update().

template<class PLayout>
void ParticleBase< PLayout >::setUpdateFlag UpdateFlags  f,
bool  val
[inline]
 

Definition at line 218 of file ParticleBase.h.

template<class PLayout>
bool ParticleBase< PLayout >::singleInitNode  )  const
 

Definition at line 96 of file ParticleBase.cpp.

References IpplInfo::Comm, CT, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

template<class PLayout>
void ParticleBase< PLayout >::sort SortList_t  ) 
 

Definition at line 575 of file ParticleBase.cpp.

Referenced by ParticleBase< PLayout >::performDestroy().

template<class PLayout>
void ParticleBase< PLayout >::update const ParticleAttrib< char > &  canSwap  ) 
 

Definition at line 401 of file ParticleBase.cpp.

References CT, INCIPPLSTAT, PAssert, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.

template<class PLayout>
void ParticleBase< PLayout >::update  ) 
 

Definition at line 384 of file ParticleBase.cpp.

References CT, INCIPPLSTAT, PAssert, TAU_PARTICLE, TAU_PROFILE, and TAU_TYPE_STRING.


Member Data Documentation

template<class PLayout>
ParticleIndex_t ParticleBase< PLayout >::ID
 

Definition at line 158 of file ParticleBase.h.

Referenced by ParticleBase< PLayout >::create().

template<class PLayout>
ParticlePos_t ParticleBase< PLayout >::R
 

Definition at line 157 of file ParticleBase.h.

Referenced by ParticleBase< PLayout >::ghostPutMessage(), and ParticleBase< PLayout >::putMessage().


The documentation for this class was generated from the following files:
Generated on Mon Jan 16 14:44:51 2006 for IPPL by  doxygen 1.4.6