ESyS-Particle  2.3.4
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 >:
Collaboration diagram for TParallelInteractionStorage< I >:

Classes

class  InteractionIterator
 

Public Types

typedef I interaction_type
 
typedef esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3Raw2Data
 
typedef esys::lsm::triplet< int, int, Vec3DataWithID
 
typedef esys::lsm::quintuple< int, int, Vec3, Vec3, Vec3DataWithPosID
 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)
 

Protected Attributes

list< I > m_interactions
 

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

◆ DataWithID

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

◆ DataWithPosID

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

access functions

◆ interaction_type

template<typename I >
typedef I TParallelInteractionStorage< I >::interaction_type

◆ Raw2Data

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

Constructor & Destructor Documentation

◆ TParallelInteractionStorage()

◆ ~TParallelInteractionStorage()

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

Member Function Documentation

◆ forAllInnerInteractionsGet()

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

\cont the container

Parameters
rdfthe function

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

Here is the call graph for this function:

◆ forAllInnerInteractionsGetDataWithID() [1/2]

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

◆ forAllInnerInteractionsGetDataWithID() [2/2]

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

◆ forAllInnerInteractionsGetDataWithPosID() [1/2]

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

◆ forAllInnerInteractionsGetDataWithPosID() [2/2]

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

◆ forAllInnerInteractionsGetRaw2() [1/2]

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

◆ forAllInnerInteractionsGetRaw2() [2/2]

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

◆ forAllInnerInteractionsGetWithPos()

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 esys::lsm::bpu::iter(), and TParallelInteractionStorage< I >::m_interactions.

Here is the call graph for this function:

◆ forAllTaggedInnerInteractionsGet()

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

\cont the container

Parameters
rdfthe function
tagthe tag
maskthe mask used in tag comparison

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

Here is the call graph for this function:

◆ forAllTaggedInnerInteractionsGetWithPos()

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 esys::lsm::bpu::iter(), and TParallelInteractionStorage< I >::m_interactions.

Here is the call graph for this function:

◆ generateNewScalarFieldSlave()

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

◆ generateNewVectorFieldSlave()

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

References NULL.

◆ getInnerInteractionIterator()

template<typename I >
TParallelInteractionStorage< I >::InteractionIterator TParallelInteractionStorage< I >::getInnerInteractionIterator

Member Data Documentation

◆ m_interactions


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