ESyS-Particle  4.0.1
Classes | Public Types | Public Member Functions | Protected Attributes
TParallelInteractionStorage< I > Class Template Reference

templated abstract base class for parallel interaction storage array. Adds the vector of interactions and access functions to AParallelInteractionStorage More...

#include <pi_storage.h>

Inheritance diagram for TParallelInteractionStorage< I >:
Inheritance graph
[legend]
Collaboration diagram for TParallelInteractionStorage< I >:
Collaboration graph
[legend]

List of all members.

Classes

class  InteractionIterator

Public Types

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

 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 void exchange ()=0
virtual void rebuild ()=0
virtual bool update ()=0
virtual bool isIn (const vector< int > &)=0
virtual void calcForces ()=0
virtual void calcHeatFrict ()
virtual void calcHeatTrans ()
virtual void setTimeStepSize (double dt)=0
virtual void addExIG (AParallelInteractionStorage *)
virtual void saveCheckPointData (std::ostream &oStream)
virtual void loadCheckPointData (std::istream &iStream)
virtual void saveSnapShotData (std::ostream &)
virtual bool willSave ()

Protected Attributes

list< I > m_interactions
- Protected Attributes inherited from AParallelInteractionStorage
AParallelParticleArraym_ppa

Detailed Description

template<typename I>
class TParallelInteractionStorage< I >

templated abstract base class for parallel interaction storage array. Adds the vector of interactions and access functions to AParallelInteractionStorage


Member Function Documentation

template<typename I>
template<typename P >
void TParallelInteractionStorage< I >::forAllInnerInteractionsGet ( P &  cont,
typename P::value_type(I::*)() const  rdf 
)

access functions with tags

For all interactions with the lower particle in the inner area of the ntable call a function reading a value and return the results in a container particle ids

the container

Parameters:
rdfthe function
template<typename I>
template<typename P >
vector< pair< typename TParallelInteractionStorage< I >::DataWithID, P > > TParallelInteractionStorage< I >::forAllInnerInteractionsGetDataWithID ( P(I::*)() const  rdf)

For all interactions with the lower particle in the inner area of the ntable call a function reading a value and return the results in a vector of <<ipos,pid1,pid2>,value> groups

Parameters:
rdfthe function
template<typename I>
template<typename P >
vector< pair< typename TParallelInteractionStorage< I >::DataWithPosID, P > > TParallelInteractionStorage< I >::forAllInnerInteractionsGetDataWithPosID ( P(I::*)() const  rdf)

For all interactions with the lower particle in the inner area of the ntable call a function reading a value and return the results in a vector of <<pid1,pid2,pos1,pos2,ipos>,value> groups

Parameters:
rdfthe function
template<typename I>
template<typename P >
vector< pair< typename TParallelInteractionStorage< I >::Raw2Data, P > > TParallelInteractionStorage< I >::forAllInnerInteractionsGetRaw2 ( P(I::*)() const  rdf)

For all interactions with the lower particle in the inner area of the ntable call a function reading a value and return the results in a vector of <<pos1,radius1,pos2,radius2,ipos>,value> groups

Parameters:
rdfthe function
template<typename I>
template<typename P >
vector< pair< Vec3, P > > TParallelInteractionStorage< I >::forAllInnerInteractionsGetWithPos ( P(I::*)() const  rdf)

For all interactions with the lower particle in the inner area of the ntable call a function reading a value and return the results in a vector of <position,vaule> pairs

Parameters:
rdfthe function
template<typename I>
template<typename P >
void TParallelInteractionStorage< I >::forAllTaggedInnerInteractionsGet ( P &  cont,
typename P::value_type(I::*)() const  rdf,
int  tag,
int  mask 
)

generate FieldSlave of correct type

For all interactions with the lower particle in the inner area of the ntable and one of the particles having the specified tag call a function reading a value and return the results in a container

the container

Parameters:
rdfthe function
tagthe tag
maskthe mask used in tag comparison
template<typename I>
template<typename P >
vector< pair< Vec3, P > > TParallelInteractionStorage< I >::forAllTaggedInnerInteractionsGetWithPos ( P(I::*)() const  rdf,
int  tag,
int  mask 
)

For all interactions with the lower particle in the inner area of the ntable and one of the particles having the specified tag call a function reading a value and return the results in a vector of <position,value> pairs

Parameters:
rdfthe function
tagthe tag
maskthe mask used in tag comparison
template<typename I >
AFieldSlave * TParallelInteractionStorage< I >::generateNewScalarFieldSlave ( TML_Comm comm,
const string &  fieldname,
int  is_checked,
int  is_tagged,
int  tag,
int  mask 
)
virtual

generate new scalar field saver from the PIS

Parameters:
comm
fieldname
is_checked
is_tagged
tag
mask

Implements AParallelInteractionStorage.

template<typename I >
AFieldSlave * TParallelInteractionStorage< I >::generateNewVectorFieldSlave ( TML_Comm comm,
const string &  fieldname,
int  is_checked,
int  is_tagged,
int  tag,
int  mask 
)
virtual

generate new vector field saver from the PIS

Parameters:
comm
fieldname
is_checked
is_tagged
tag
mask

Implements AParallelInteractionStorage.


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