OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <MakeDataSource.h>
Public Member Functions | |
IpplParticleBase () | |
IpplParticleBase (PLayout *layout) | |
~IpplParticleBase () | |
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) |
unsigned int | getMinimumNumberOfParticlesPerCore () const |
void | setMinimumNumberOfParticlesPerCore (unsigned int 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) |
ParticleAttribBase & | getAttribute (attrib_container_t::size_type N) |
attrib_container_t::size_type | numAttributes () const |
attrib_iterator | begin () |
attrib_iterator | end () |
void | resetID () |
virtual void | update () |
virtual void | update (const ParticleAttrib< char > &canSwap) |
void | createWithID (unsigned id) |
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 std::vector< size_t > &) |
size_t | putMessage (Message &, size_t) |
Format * | getFormat () |
size_t | writeMsgBuffer (MsgBuffer *&, const std::vector< size_t > &) |
template<class O > | |
size_t | writeMsgBufferWithOffsets (MsgBuffer *&, const std::vector< size_t > &, const std::vector< O > &) |
size_t | readMsgBuffer (MsgBuffer *) |
size_t | readGhostMsgBuffer (MsgBuffer *, int) |
size_t | getMessage (Message &) |
size_t | getSingleMessage (Message &) |
size_t | getMessageAndCreate (Message &) |
void | performDestroy (bool updateLocalNum=false) |
void | sort (SortList_t &) |
size_t | ghostPutMessage (Message &, size_t, size_t) |
size_t | ghostPutMessage (Message &, const std::vector< size_t > &) |
size_t | ghostGetMessage (Message &, int) |
size_t | ghostGetSingleMessage (Message &, int) |
void | ghostDestroy (size_t, size_t) |
void | printDebug (Inform &) |
![]() | |
DataSource () | |
virtual | ~DataSource () |
bool | connected (DataConnect *=0) const |
DataSourceObject * | findDataSourceObject (DataConnect *) const |
DataConnect * | connect (const char *, DataConnect *=0, int=DataSource::DEFAULT) |
bool | connect (DataSourceObject *) |
bool | disconnect (DataConnect *=0) |
bool | updateConnection (DataConnect *=0) |
void | interact (DataConnect *=0) |
void | interact (const char *, DataConnect *=0) |
![]() | |
AbstractParticle () | |
virtual | ~AbstractParticle () |
virtual bool | getUpdateFlag (UpdateFlags f) const =0 |
virtual void | setUpdateFlag (UpdateFlags f, bool val)=0 |
virtual void | setBConds (const ParticleBConds< Position_t, Dim > &bc)=0 |
Public Attributes | |
unsigned int | MIN_NUM_PART_PER_CORE |
ParticlePos_t | R |
ParticleIndex_t | ID |
![]() | |
ParticlePos_t * | R_p |
ParticleIndex_t * | ID_p |
Protected Member Functions | |
virtual DataSourceObject * | createDataSourceObject (const char *nm, DataConnect *dc, int tm) |
Protected Attributes | |
std::vector< std::pair< size_t, size_t > > | DestroyList |
Private Member Functions | |
void | setup () |
unsigned | getNextID () |
Private Attributes | |
PLayout * | Layout |
attrib_container_t | AttribList |
size_t | TotalNum |
size_t | LocalNum |
size_t | DestroyNum |
size_t | GhostNum |
unsigned | NextID |
Definition at line 26 of file MakeDataSource.h.
typedef std::vector<ParticleAttribBase *> IpplParticleBase< PLayout >::attrib_container_t |
Definition at line 139 of file IpplParticleBase.h.
typedef attrib_container_t::iterator IpplParticleBase< PLayout >::attrib_iterator |
Definition at line 140 of file IpplParticleBase.h.
typedef PLayout::Index_t IpplParticleBase< PLayout >::Index_t |
Definition at line 131 of file IpplParticleBase.h.
typedef PLayout IpplParticleBase< PLayout >::Layout_t |
Definition at line 129 of file IpplParticleBase.h.
typedef PLayout::pair_iterator IpplParticleBase< PLayout >::pair_iterator |
Definition at line 136 of file IpplParticleBase.h.
typedef PLayout::pair_t IpplParticleBase< PLayout >::pair_t |
Definition at line 137 of file IpplParticleBase.h.
typedef PLayout::ParticleIndex_t IpplParticleBase< PLayout >::ParticleIndex_t |
Definition at line 134 of file IpplParticleBase.h.
typedef PLayout::ParticlePos_t IpplParticleBase< PLayout >::ParticlePos_t |
Definition at line 133 of file IpplParticleBase.h.
typedef PLayout::Position_t IpplParticleBase< PLayout >::Position_t |
Definition at line 130 of file IpplParticleBase.h.
typedef ParticleAttribBase::SortList_t IpplParticleBase< PLayout >::SortList_t |
Definition at line 141 of file IpplParticleBase.h.
typedef PLayout::UpdateFlags IpplParticleBase< PLayout >::UpdateFlags |
Definition at line 138 of file IpplParticleBase.h.
anonymous enum |
Enumerator | |
---|---|
Dim |
Definition at line 126 of file IpplParticleBase.h.
|
inline |
Definition at line 154 of file IpplParticleBase.h.
|
inline |
Definition at line 164 of file IpplParticleBase.h.
|
inline |
Definition at line 176 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 237 of file IpplParticleBase.h.
Referenced by GenArrayParticle< PLayout, T, N >::GenArrayParticle(), GenParticle< PLayout, T >::GenParticle(), and AmrParticleBase< PLayout >::initializeAmr().
|
inline |
Definition at line 248 of file IpplParticleBase.h.
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 413 of file IpplParticleBase.hpp.
References ADDIPPLSTAT, and PAssert.
Referenced by AmrParticleBase< PLayout >::create().
|
inlineprotectedvirtual |
Implements DataSource.
Definition at line 352 of file IpplParticleBase.h.
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 440 of file IpplParticleBase.hpp.
References ADDIPPLSTAT, and PAssert.
Referenced by AmrParticleBase< PLayout >::createWithID().
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 494 of file IpplParticleBase.hpp.
References ADDIPPLSTAT, and PAssert.
Referenced by AmrParticleBase< PLayout >::destroy(), DiscParticle::read(), and ParticleLayoutFromGrid::redistribute_particles().
|
inline |
Definition at line 249 of file IpplParticleBase.h.
|
inline |
Definition at line 241 of file IpplParticleBase.h.
Referenced by DiscParticle::read(), and DiscParticle::write().
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 213 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 199 of file IpplParticleBase.h.
Referenced by ParticleLayoutFromGrid::redistribute_particles(), and ParticleLayoutFromGrid::update().
Format * IpplParticleBase< PLayout >::getFormat | ( | ) |
Definition at line 253 of file IpplParticleBase.hpp.
References putMessage().
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 200 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 209 of file IpplParticleBase.h.
Referenced by AmrParticleBase< PLayout >::getAmrLayout(), IpplParticleBase< T >::getUpdateFlag(), and IpplParticleBase< T >::setUpdateFlag().
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 210 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 198 of file IpplParticleBase.h.
Referenced by DiscParticle::read(), ParticleLayoutFromGrid::redistribute_particles(), ParticleLayoutFromGrid::update(), and DiscParticle::write().
size_t IpplParticleBase< PLayout >::getMessage | ( | Message & | msg | ) |
Definition at line 349 of file IpplParticleBase.hpp.
References Message::get(), and PAssert.
Referenced by ParticleLayoutFromGrid::redistribute_particles().
size_t IpplParticleBase< PLayout >::getMessageAndCreate | ( | Message & | msg | ) |
Definition at line 397 of file IpplParticleBase.hpp.
References ADDIPPLSTAT, getMessage(), and PAssert.
Referenced by DiscParticle::read().
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 204 of file IpplParticleBase.h.
|
private |
Definition at line 97 of file IpplParticleBase.hpp.
References IpplInfo::Comm.
size_t IpplParticleBase< PLayout >::getSingleMessage | ( | Message & | msg | ) |
Definition at line 372 of file IpplParticleBase.hpp.
References PAssert.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 197 of file IpplParticleBase.h.
Referenced by DiscParticle::write().
|
inline |
Definition at line 225 of file IpplParticleBase.h.
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 606 of file IpplParticleBase.hpp.
References PAssert.
size_t IpplParticleBase< PLayout >::ghostGetMessage | ( | Message & | msg, |
int | node | ||
) |
Definition at line 691 of file IpplParticleBase.hpp.
References Message::get(), and PAssert.
size_t IpplParticleBase< PLayout >::ghostGetSingleMessage | ( | Message & | msg, |
int | |||
) |
Definition at line 716 of file IpplParticleBase.hpp.
References PAssert.
size_t IpplParticleBase< PLayout >::ghostPutMessage | ( | Message & | msg, |
size_t | M, | ||
size_t | I | ||
) |
Definition at line 631 of file IpplParticleBase.hpp.
References PAssert, Message::put(), and Attrib::Distribution::R.
size_t IpplParticleBase< PLayout >::ghostPutMessage | ( | Message & | msg, |
const std::vector< size_t > & | pl | ||
) |
Definition at line 666 of file IpplParticleBase.hpp.
References PAssert, and Message::put().
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 468 of file IpplParticleBase.hpp.
References IpplInfo::getNodes(), IpplInfo::myNode(), and PAssert.
void IpplParticleBase< PLayout >::initialize | ( | PLayout * | layout | ) |
Definition at line 44 of file IpplParticleBase.hpp.
References PAssert.
|
inline |
Definition at line 245 of file IpplParticleBase.h.
Referenced by DiscParticle::read(), and DiscParticle::write().
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 560 of file IpplParticleBase.hpp.
References PAssert.
Referenced by AmrParticleBase< PLayout >::performDestroy(), ParticleLayoutFromGrid::redistribute_particles(), and ParticleLayoutFromGrid::update().
void IpplParticleBase< PLayout >::printDebug | ( | Inform & | o | ) |
Definition at line 766 of file IpplParticleBase.hpp.
References endl().
size_t IpplParticleBase< PLayout >::putMessage | ( | Message & | msg, |
size_t | M, | ||
size_t | I | ||
) |
Definition at line 183 of file IpplParticleBase.hpp.
References PAssert, PAssert_LE, PAssert_LT, Message::put(), and Attrib::Distribution::R.
Referenced by ParticleLayoutFromGrid::redistribute_particles(), and DiscParticle::write().
size_t IpplParticleBase< PLayout >::putMessage | ( | Message & | msg, |
const std::vector< size_t > & | putList | ||
) |
Definition at line 212 of file IpplParticleBase.hpp.
References PAssert, and Message::put().
size_t IpplParticleBase< PLayout >::putMessage | ( | Message & | msg, |
size_t | I | ||
) |
Definition at line 235 of file IpplParticleBase.hpp.
References PAssert.
size_t IpplParticleBase< PLayout >::readGhostMsgBuffer | ( | MsgBuffer * | msgbuf, |
int | node | ||
) |
Definition at line 333 of file IpplParticleBase.hpp.
References MsgBuffer::get().
size_t IpplParticleBase< PLayout >::readMsgBuffer | ( | MsgBuffer * | msgbuf | ) |
Definition at line 317 of file IpplParticleBase.hpp.
References MsgBuffer::get().
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 107 of file IpplParticleBase.hpp.
References IpplInfo::Comm, COMM_ANY_NODE, Message::get(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_RESET_ID_TAG, PAssert, Message::put(), Communicate::receive_block(), Communicate::send(), and sum().
|
inline |
Definition at line 216 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 202 of file IpplParticleBase.h.
Referenced by ParticleLayoutFromGrid::redistribute_particles(), and ParticleLayoutFromGrid::update().
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 205 of file IpplParticleBase.h.
|
inlinevirtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 201 of file IpplParticleBase.h.
Referenced by ParticleLayoutFromGrid::update().
|
private |
Definition at line 60 of file IpplParticleBase.hpp.
References IpplInfo::Comm, Communicate::getNodes(), INCIPPLSTAT, Communicate::myNode(), and Attrib::Distribution::R.
Referenced by IpplParticleBase< T >::IpplParticleBase().
|
inline |
Definition at line 228 of file IpplParticleBase.h.
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 89 of file IpplParticleBase.hpp.
References IpplInfo::Comm.
void IpplParticleBase< PLayout >::sort | ( | SortList_t & | sortlist | ) |
Definition at line 740 of file IpplParticleBase.hpp.
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Reimplemented in AmrParticleBase< PLayout >.
Definition at line 526 of file IpplParticleBase.hpp.
References INCIPPLSTAT, and PAssert.
Referenced by DiscParticle::read().
|
virtual |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Reimplemented in AmrParticleBase< PLayout >.
Definition at line 543 of file IpplParticleBase.hpp.
References INCIPPLSTAT, and PAssert.
size_t IpplParticleBase< PLayout >::writeMsgBuffer | ( | MsgBuffer *& | msgbuf, |
const std::vector< size_t > & | list | ||
) |
Definition at line 278 of file IpplParticleBase.hpp.
References MsgBuffer::add(), and putMessage().
size_t IpplParticleBase< PLayout >::writeMsgBufferWithOffsets | ( | MsgBuffer *& | msgbuf, |
const std::vector< size_t > & | list, | ||
const std::vector< O > & | offset | ||
) |
Definition at line 294 of file IpplParticleBase.hpp.
References MsgBuffer::add(), Dim, putMessage(), and Attrib::Distribution::R.
|
private |
Definition at line 368 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::addAttribute(), IpplParticleBase< T >::begin(), IpplParticleBase< T >::end(), IpplParticleBase< T >::getAttribute(), and IpplParticleBase< T >::numAttributes().
|
protected |
Definition at line 361 of file IpplParticleBase.h.
|
private |
Definition at line 375 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getDestroyNum().
|
private |
Definition at line 376 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getGhostNum().
ParticleIndex_t IpplParticleBase< PLayout >::ID |
Definition at line 148 of file IpplParticleBase.h.
|
private |
Definition at line 365 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getBConds(), IpplParticleBase< T >::getLayout(), IpplParticleBase< T >::setBConds(), and IpplParticleBase< T >::~IpplParticleBase().
|
private |
Definition at line 374 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getLocalNum(), and IpplParticleBase< T >::setLocalNum().
unsigned int IpplParticleBase< PLayout >::MIN_NUM_PART_PER_CORE |
Definition at line 144 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getMinimumNumberOfParticlesPerCore(), and IpplParticleBase< T >::setMinimumNumberOfParticlesPerCore().
|
private |
Definition at line 379 of file IpplParticleBase.h.
ParticlePos_t IpplParticleBase< PLayout >::R |
Definition at line 147 of file IpplParticleBase.h.
Referenced by ParticleLayoutFromGrid::redistribute_particles().
|
private |
Definition at line 373 of file IpplParticleBase.h.
Referenced by IpplParticleBase< T >::getTotalNum(), and IpplParticleBase< T >::setTotalNum().