ESyS-Particle
4.0.1
|
parallel interaction storage array with exchange More...
#include <pi_storage_e.h>
Public Types | |
typedef TParallelInteractionStorage< I > | Inherited |
typedef Inherited::InteractionIterator | InteractionIterator |
![]() | |
typedef I | interaction_type |
typedef esys::lsm::quintuple < Vec3, double, Vec3, double, Vec3 > | Raw2Data |
typedef esys::lsm::triplet < int, int, Vec3 > | DataWithID |
typedef esys::lsm::quintuple < int, int, Vec3, Vec3, Vec3 > | DataWithPosID |
access functions |
Public Member Functions | |
ParallelInteractionStorage_E (AParallelParticleArray *, const typename I::ParameterType &) | |
virtual void | setUnbreakable (bool) |
virtual void | exchange () |
virtual void | rebuild () |
virtual void | tryInsert (const I &) |
virtual void | tryInsert (const std::vector< int > &) |
virtual bool | isIn (const std::vector< int > &) |
virtual void | setTimeStepSize (double dt) |
virtual void | calcForces () |
![]() | |
TParallelInteractionStorage (AParallelParticleArray *ppa) | |
InteractionIterator | getInnerInteractionIterator () |
types | |
template<typename P > | |
vector< pair< Vec3, P > > | forAllInnerInteractionsGetWithPos (P(I::*rdf)() const) |
template<typename P > | |
vector< pair< Raw2Data, P > > | forAllInnerInteractionsGetRaw2 (P(I::*rdf)() const) |
template<typename P > | |
vector< pair< DataWithID, P > > | forAllInnerInteractionsGetDataWithID (P(I::*rdf)() const) |
template<typename P > | |
vector< pair< DataWithPosID, P > > | forAllInnerInteractionsGetDataWithPosID (P(I::*rdf)() const) |
template<typename P > | |
void | forAllInnerInteractionsGet (P &, typename P::value_type(I::*rdf)() const) |
access functions with tags | |
template<typename P > | |
vector< pair< Vec3, P > > | forAllTaggedInnerInteractionsGetWithPos (P(I::*rdf)() const, int, int) |
template<typename P > | |
void | forAllTaggedInnerInteractionsGet (P &, typename P::value_type(I::*rdf)() const, int, int) |
generate FieldSlave of correct type | |
virtual AFieldSlave * | generateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int) |
virtual AFieldSlave * | generateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int) |
![]() | |
AParallelInteractionStorage (AParallelParticleArray *ppa) | |
virtual bool | update ()=0 |
virtual bool | isIn (const vector< int > &)=0 |
virtual void | calcHeatFrict () |
virtual void | calcHeatTrans () |
virtual void | addExIG (AParallelInteractionStorage *) |
virtual void | saveCheckPointData (std::ostream &oStream) |
virtual void | loadCheckPointData (std::istream &iStream) |
virtual void | saveSnapShotData (std::ostream &) |
virtual bool | willSave () |
Public Attributes | |
bool | m_unbreakable |
Protected Attributes | |
TML_CartComm | m_comm |
set< pair< int, int > > | m_set |
I::ParameterType | m_param |
![]() | |
list< I > | m_interactions |
![]() | |
AParallelParticleArray * | m_ppa |
parallel interaction storage array with exchange
ParallelInteractionStorage_E< P, I >::ParallelInteractionStorage_E | ( | AParallelParticleArray * | PPA, |
const typename I::ParameterType & | param | ||
) |
Construct parallel interaction storage
PPA | a pointer to the particle array |
param | the interaction parameters |
|
virtual |
calculate all forces
Implements AParallelInteractionStorage.
References BasicCon::Debug().
|
virtual |
References BasicCon::Debug().
|
virtual |
rebuild all interactions, i.e. set particle pointers according to particle indices
Implements AParallelInteractionStorage.
References ParallelParticleArray< T >::getParticlePtrByIndex(), and BasicCon::XDebug().
|
virtual |
set the interactions "unbreakable" -> turns update into a NO-OP
b | true -> unbreakable, false -> breakable |
Reimplemented in ParallelInteractionStorage_EB< P, I >.