ESyS-Particle  2.3
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 <CheckedScalarInteractionFieldSlave.h>

Inheritance diagram for TParallelInteractionStorage< I >:
Collaboration diagram for TParallelInteractionStorage< I >:

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 More...
 

Public Member Functions

 TParallelInteractionStorage (AParallelParticleArray *ppa)
 
virtual ~TParallelInteractionStorage ()
 
InteractionIterator getInnerInteractionIterator ()
 types More...
 
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 More...
 
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 More...
 
virtual AFieldSlavegenerateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int)
 
virtual AFieldSlavegenerateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int)
 
template<typename P >
vector< pair< typename
TParallelInteractionStorage< I >
::Raw2Data, P > > 
forAllInnerInteractionsGetRaw2 (P(I::*rdf)() const)
 
template<typename P >
vector< pair< typename
TParallelInteractionStorage< I >
::DataWithPosID, P > > 
forAllInnerInteractionsGetDataWithPosID (P(I::*rdf)() const)
 
template<typename P >
vector< pair< typename
TParallelInteractionStorage< I >
::DataWithID, P > > 
forAllInnerInteractionsGetDataWithID (P(I::*rdf)() const)
 
- Public Member Functions inherited from AParallelInteractionStorage
 AParallelInteractionStorage (AParallelParticleArray *ppa)
 
virtual ~AParallelInteractionStorage ()
 
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 &)
 
virtual void loadCheckPointData (std::istream &)
 
virtual void saveSnapShotData (std::ostream &)
 
virtual bool willSave ()
 
- Public Member Functions inherited from esys::lsm::CheckPointable
 CheckPointable ()
 
virtual ~CheckPointable ()
 

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 Typedef Documentation

template<typename I>
typedef esys::lsm::triplet<int,int,Vec3> TParallelInteractionStorage< I >::DataWithID
template<typename I>
typedef esys::lsm::quintuple<int,int,Vec3,Vec3,Vec3> TParallelInteractionStorage< I >::DataWithPosID

access functions

template<typename I>
typedef I TParallelInteractionStorage< I >::interaction_type
template<typename I>
typedef esys::lsm::quintuple<Vec3,double,Vec3,double,Vec3> TParallelInteractionStorage< I >::Raw2Data

Constructor & Destructor Documentation

template<typename I>
virtual TParallelInteractionStorage< I >::~TParallelInteractionStorage ( )
inlinevirtual

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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this function:

template<typename I>
template<typename P >
vector<pair<DataWithID,P> > TParallelInteractionStorage< I >::forAllInnerInteractionsGetDataWithID ( P(I::*)() const  rdf)
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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this function:

template<typename I>
template<typename P >
vector<pair<DataWithPosID,P> > TParallelInteractionStorage< I >::forAllInnerInteractionsGetDataWithPosID ( P(I::*)() const  rdf)
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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this 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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this function:

template<typename I>
template<typename P >
vector<pair<Raw2Data,P> > TParallelInteractionStorage< I >::forAllInnerInteractionsGetRaw2 ( P(I::*)() const  rdf)
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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this 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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this function:

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

References AParallelParticleArray::isInInner(), esys::lsm::bpu::iter(), TParallelInteractionStorage< I >::m_interactions, and AParallelInteractionStorage::m_ppa.

Here is the call graph for this function:

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.

References NULL.

Member Data Documentation


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