ESyS-Particle  2.3.4
ParallelInteractionStorage_NE< P, I > Class Template Reference

parallel storage array without exchange for dynamically created interactions (elastic) More...

#include <pi_storage_ne.h>

Inheritance diagram for ParallelInteractionStorage_NE< P, I >:
Collaboration diagram for ParallelInteractionStorage_NE< P, I >:

Public Member Functions

 ParallelInteractionStorage_NE (AParallelParticleArray *, const typename I::ParameterType &)
 
virtual void addExIG (AParallelInteractionStorage *)
 
virtual bool update ()
 
virtual void exchange ()
 
virtual void rebuild ()
 do nothing More...
 
virtual void tryInsert (const vector< int > &)
 do nothing More...
 
virtual bool isIn (const vector< int > &)
 do nothing More...
 
virtual void calcForces ()
 
virtual void setTimeStepSize (double dt)
 
virtual void calcHeatTrans ()
 
- Public Member Functions inherited from TParallelInteractionStorage< I >
 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 Member Functions

bool isExcluded (const vector< int >)
 

Protected Attributes

int m_update_timestamp
 
vector< AParallelInteractionStorage * > m_exIG
 
set< pair< int, int > > m_set
 
I::ParameterType m_param
 
- Protected Attributes inherited from TParallelInteractionStorage< I >
list< I > m_interactions
 

Additional Inherited Members

- Public Types inherited from TParallelInteractionStorage< I >
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...
 

Detailed Description

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

parallel storage array without exchange for dynamically created interactions (elastic)

Constructor & Destructor Documentation

◆ ParallelInteractionStorage_NE()

template<typename P , typename I >
ParallelInteractionStorage_NE< P, I >::ParallelInteractionStorage_NE ( AParallelParticleArray ppa,
const typename I::ParameterType &  param 
)

Member Function Documentation

◆ addExIG()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_NE< P, InteractionType >::addExIG ( AParallelInteractionStorage eg)
virtual

◆ calcForces()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_NE< P, InteractionType >::calcForces
virtual

References console, and Console::Debug().

Here is the call graph for this function:

◆ calcHeatTrans()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_NE< P, InteractionType >::calcHeatTrans
virtual

References console, and Console::Debug().

Here is the call graph for this function:

◆ exchange()

template<typename P , typename I >
virtual void ParallelInteractionStorage_NE< P, I >::exchange ( )
inlinevirtual

◆ isExcluded()

template<typename T , typename InteractionType >
bool ParallelInteractionStorage_NE< T, InteractionType >::isExcluded ( const vector< int >  tv)
protected

check if a potential interaction is in one of the excluding IGs

Parameters
tvthe potential interaction

◆ isIn()

template<typename P , typename InteractionType >
bool ParallelInteractionStorage_NE< P, InteractionType >::isIn ( const vector< int > &  pids)
virtual

do nothing

Warning
evil hack, only checks 1st & 2nd id -> change from pair<int,int> to vector<int>

◆ rebuild()

template<typename P , typename I >
virtual void ParallelInteractionStorage_NE< P, I >::rebuild ( )
inlinevirtual

do nothing

◆ setTimeStepSize()

template<typename P , typename I >
virtual void ParallelInteractionStorage_NE< P, I >::setTimeStepSize ( double  dt)
inlinevirtual

◆ tryInsert()

template<typename P , typename I >
virtual void ParallelInteractionStorage_NE< P, I >::tryInsert ( const vector< int > &  )
inlinevirtual

do nothing

◆ update()

template<typename T , typename InteractionType >
bool ParallelInteractionStorage_NE< T, InteractionType >::update
virtual

Update interactions. Do full dynamic search.

Reimplemented in ParallelInteractionStorage_NE_T< P, I >.

References console, esys::lsm::bpu::iter(), and Console::XDebug().

Here is the call graph for this function:

Member Data Documentation

◆ m_exIG

template<typename P , typename I >
vector<AParallelInteractionStorage*> ParallelInteractionStorage_NE< P, I >::m_exIG
protected

◆ m_param

template<typename P , typename I >
I::ParameterType ParallelInteractionStorage_NE< P, I >::m_param
protected

◆ m_set

template<typename P , typename I >
set<pair<int,int> > ParallelInteractionStorage_NE< P, I >::m_set
protected

◆ m_update_timestamp

template<typename P , typename I >
int ParallelInteractionStorage_NE< P, I >::m_update_timestamp
protected

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