ESyS-Particle  4.0.1
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ParallelInteractionStorage_E< P, I > Class Template Reference

parallel interaction storage array with exchange More...

#include <pi_storage_e.h>

Inheritance diagram for ParallelInteractionStorage_E< P, I >:
Inheritance graph
[legend]
Collaboration diagram for ParallelInteractionStorage_E< P, I >:
Collaboration graph
[legend]

Public Types

typedef
TParallelInteractionStorage< I > 
Inherited
typedef
Inherited::InteractionIterator 
InteractionIterator
- Public Types inherited from TParallelInteractionStorage< I >
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 ()
- Public Member Functions inherited from TParallelInteractionStorage< I >
 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 AFieldSlavegenerateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int)
virtual AFieldSlavegenerateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int)
- Public Member Functions inherited from AParallelInteractionStorage
 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
- Protected Attributes inherited from TParallelInteractionStorage< I >
list< I > m_interactions
- Protected Attributes inherited from AParallelInteractionStorage
AParallelParticleArraym_ppa

Detailed Description

template<typename P, typename I>
class ParallelInteractionStorage_E< P, I >

parallel interaction storage array with exchange

Constructor & Destructor Documentation

template<typename P , typename I >
ParallelInteractionStorage_E< P, I >::ParallelInteractionStorage_E ( AParallelParticleArray PPA,
const typename I::ParameterType &  param 
)

Construct parallel interaction storage

Parameters
PPAa pointer to the particle array
paramthe interaction parameters

Member Function Documentation

template<typename P , typename InteractionType >
void ParallelInteractionStorage_E< P, InteractionType >::calcForces ( )
virtual

calculate all forces

Implements AParallelInteractionStorage.

References BasicCon::Debug().

Here is the call graph for this function:

template<typename P, typename I>
bool ParallelInteractionStorage_E< P, InteractionType >::isIn ( const std::vector< int > &  )
virtual
Warning
evil hack, only checks 1st & 2nd id -> change from pair<int,int> to vector<int>

References BasicCon::Debug().

Here is the call graph for this function:

template<typename P , typename InteractionType >
void ParallelInteractionStorage_E< P, InteractionType >::rebuild ( )
virtual

rebuild all interactions, i.e. set particle pointers according to particle indices

Implements AParallelInteractionStorage.

References ParallelParticleArray< T >::getParticlePtrByIndex(), and BasicCon::XDebug().

Here is the call graph for this function:

template<typename P , typename InteractionType >
void ParallelInteractionStorage_E< P, InteractionType >::setUnbreakable ( bool  b)
virtual

set the interactions "unbreakable" -> turns update into a NO-OP

Parameters
btrue -> unbreakable, false -> breakable

Reimplemented in ParallelInteractionStorage_EB< P, I >.


The documentation for this class was generated from the following files: