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

parallel storage array with exchange for bonded/breakable interactions More...

#include <pi_storage_eb.h>

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

Public Types

typedef ParallelInteractionStorage_E< P, I > Inherited
 
typedef Inherited::InteractionIterator InteractionIterator
 
- Public Types inherited from ParallelInteractionStorage_E< P, I >
typedef TParallelInteractionStorage< I > Inherited
 
typedef Inherited::InteractionIterator InteractionIterator
 
- 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...
 

Public Member Functions

 ParallelInteractionStorage_EB (AParallelParticleArray *, const typename I::ParameterType &)
 
virtual bool update ()
 
void setUnbreakable (bool)
 
virtual void calcHeatTrans ()
 
virtual void saveCheckPointData (std::ostream &oStream)
 
virtual void loadCheckPointData (std::istream &iStream)
 
virtual void saveSnapShotData (std::ostream &)
 
- Public Member Functions inherited from ParallelInteractionStorage_E< P, I >
 ParallelInteractionStorage_E (AParallelParticleArray *, const typename I::ParameterType &)
 
virtual void exchange ()
 
virtual void rebuild ()
 
virtual void tryInsert (const I &)
 
virtual void tryInsert (const std::vector< int > &)
 
virtual bool isIn (const std::vector< int > &)
 
virtual void setTimeStepSize (double)
 does nothing More...
 
virtual void calcForces ()
 
- 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)
 

Public Attributes

bool m_unbreakable
 
- Public Attributes inherited from ParallelInteractionStorage_E< P, I >
bool m_unbreakable
 

Additional Inherited Members

- Protected Attributes inherited from ParallelInteractionStorage_E< P, I >
TML_CartComm m_comm
 
set< pair< int, int > > m_set
 
I::ParameterType m_param
 
- Protected Attributes inherited from TParallelInteractionStorage< I >
list< I > m_interactions
 

Detailed Description

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

parallel storage array with exchange for bonded/breakable interactions

Member Typedef Documentation

◆ Inherited

template<typename P , typename I >
typedef ParallelInteractionStorage_E<P,I> ParallelInteractionStorage_EB< P, I >::Inherited

◆ InteractionIterator

template<typename P , typename I >
typedef Inherited::InteractionIterator ParallelInteractionStorage_EB< P, I >::InteractionIterator

Constructor & Destructor Documentation

◆ ParallelInteractionStorage_EB()

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

Member Function Documentation

◆ calcHeatTrans()

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

References console, and Console::Debug().

Here is the call graph for this function:

◆ loadCheckPointData()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_EB< P, InteractionType >::loadCheckPointData ( std::istream &  iStream)
virtual

Read interaction data from input stream pointing to a restartable checkpoint file. The stream needs to be already positioned at the right place.

Parameters
iStreamthe input stream
Warning
return type may change to bool at some stage

References ParallelParticleArray< T >::getParticlePtrByIndex(), and NULL.

Here is the call graph for this function:

◆ saveCheckPointData()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_EB< P, InteractionType >::saveCheckPointData ( std::ostream &  oStream)
virtual

◆ saveSnapShotData()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_EB< P, InteractionType >::saveSnapShotData ( std::ostream &  oStream)
virtual

◆ setUnbreakable()

template<typename P , typename InteractionType >
void ParallelInteractionStorage_EB< P, InteractionType >::setUnbreakable ( bool  b)
virtual

set the interactions "unbreakable" -> turns update into a NO-OP

Parameters
btrue -> unbreakable, false -> breakable

Reimplemented from ParallelInteractionStorage_E< P, I >.

Referenced by TSubLattice< T >::addBondedIG(), and TSubLattice< T >::addCappedBondedIG().

Here is the caller graph for this function:

◆ update()

template<typename P , typename InteractionType >
bool ParallelInteractionStorage_EB< P, InteractionType >::update
virtual

Update interactions. Check for broken interactions and remove them.

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

Here is the call graph for this function:

Member Data Documentation

◆ m_unbreakable

template<typename P , typename I >
bool ParallelInteractionStorage_EB< P, I >::m_unbreakable

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