11 #ifndef PARTICLE_BASE_H
12 #define PARTICLE_BASE_H
112 template <
class PLayout>
113 std::ostream& operator<<(std::ostream&, const IpplParticleBase<PLayout>&);
120 template<
class PLayout>
126 enum {
Dim = PLayout::Dimension };
214 return Layout->getBConds();
244 attrib_container_t::size_type
275 void destroy(
size_t,
size_t,
bool =
false);
395 #endif // PARTICLE_BASE_H
size_t ghostGetSingleMessage(Message &, int)
void initialize(PLayout *)
void ghostDestroy(size_t, size_t)
DataSourceObject * make_DataSourceObject(const char *, DataConnect *, int, Field< T, Dim, M, C > &)
attrib_container_t AttribList
PLayout::ParticlePos_t ParticlePos_t
PLayout::ParticleIndex_t ParticleIndex_t
attrib_container_t::size_type numAttributes() const
IpplParticleBase(PLayout *layout)
void destroy(size_t, size_t, bool=false)
void globalCreate(size_t np)
void performDestroy(bool updateLocalNum=false)
void setMinimumNumberOfParticlesPerCore(unsigned int n)
void printDebug(Inform &)
size_t readGhostMsgBuffer(MsgBuffer *, int)
unsigned int getMinimumNumberOfParticlesPerCore() const
ParticleBConds< Position_t, PLayout::Dimension > & getBConds()
void setUpdateFlag(UpdateFlags f, bool val)
size_t getDestroyNum() const
PLayout::UpdateFlags UpdateFlags
unsigned int MIN_NUM_PART_PER_CORE
std::vector< SortListIndex_t > SortList_t
size_t getTotalNum() const
size_t getGhostNum() const
size_t getMessage(Message &)
void setLocalNum(size_t n)
size_t ghostGetMessage(Message &, int)
size_t writeMsgBufferWithOffsets(MsgBuffer *&, const std::vector< size_t > &, const std::vector< O > &)
size_t readMsgBuffer(MsgBuffer *)
PLayout::Position_t Position_t
attrib_container_t::iterator attrib_iterator
void setBConds(const ParticleBConds< Position_t, PLayout::Dimension > &bc)
void createWithID(unsigned id)
size_t getLocalNum() const
bool singleInitNode() const
std::vector< ParticleAttribBase * > attrib_container_t
size_t putMessage(Message &, size_t, size_t)
size_t ghostPutMessage(Message &, size_t, size_t)
void addAttribute(ParticleAttribBase &pa)
PLayout::pair_iterator pair_iterator
ParticleAttribBase & getAttribute(attrib_container_t::size_type N)
ParticleAttribBase::SortList_t SortList_t
const PLayout & getLayout() const
std::string::iterator iterator
size_t getMessageAndCreate(Message &)
std::vector< std::pair< size_t, size_t > > DestroyList
bool getUpdateFlag(UpdateFlags f) const
size_t writeMsgBuffer(MsgBuffer *&, const std::vector< size_t > &)
virtual DataSourceObject * createDataSourceObject(const char *nm, DataConnect *dc, int tm)
size_t getSingleMessage(Message &)
void setTotalNum(size_t n)