ESyS-Particle
4.0.1
|
templated abstract base class for parallel interaction storage array. Adds the vector of interactions and access functions to AParallelInteractionStorage More...
#include <pi_storage.h>
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 AFieldSlave * | generateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int) |
virtual AFieldSlave * | generateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int) |
Protected Attributes | |
list< I > | m_interactions |
templated abstract base class for parallel interaction storage array. Adds the vector of interactions and access functions to AParallelInteractionStorage
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
rdf | the function |
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
rdf | the function |
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
rdf | the function |
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
rdf | the function |
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
rdf | the function |
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
rdf | the function |
tag | the tag |
mask | the mask used in tag comparison |
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
rdf | the function |
tag | the tag |
mask | the mask used in tag comparison |
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
comm | |
fieldname | |
is_checked | |
is_tagged | |
tag | |
mask |
Implements AParallelInteractionStorage.
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
comm | |
fieldname | |
is_checked | |
is_tagged | |
tag | |
mask |
Implements AParallelInteractionStorage.