|
ESyS-Particle
2.2
|
parallel interaction storage array with exchange More...
#include <pi_storage_e.h>


Public Types | |
| 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, 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 | |
| ParallelInteractionStorage_E (AParallelParticleArray *, const typename I::ParameterType &) | |
| virtual void | setUnbreakable (bool) |
| 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 AFieldSlave * | generateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int) |
| virtual AFieldSlave * | generateNewVectorFieldSlave (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 bool | update ()=0 |
| virtual bool | isIn (const vector< int > &)=0 |
| virtual void | calcHeatFrict () |
| virtual void | calcHeatTrans () |
| 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 () |
Public Attributes | |
| bool | m_unbreakable |
Protected Attributes | |
| TML_CartComm | m_comm |
| set< pair< int, int > > | m_set |
| I::ParameterType | m_param |
Protected Attributes inherited from TParallelInteractionStorage< I > | |
| list< I > | m_interactions |
Protected Attributes inherited from AParallelInteractionStorage | |
| AParallelParticleArray * | m_ppa |
Private Member Functions | |
| void | exchange_boundary (int, int) |
Static Private Attributes | |
| static const int | m_exchg_tag =43 |
parallel interaction storage array with exchange
| typedef TParallelInteractionStorage<I> ParallelInteractionStorage_E< P, I >::Inherited |
| typedef Inherited::InteractionIterator ParallelInteractionStorage_E< P, I >::InteractionIterator |
| ParallelInteractionStorage_E< P, I >::ParallelInteractionStorage_E | ( | AParallelParticleArray * | PPA, |
| const typename I::ParameterType & | param | ||
| ) |
Construct parallel interaction storage
| PPA | a pointer to the particle array |
| param | the interaction parameters |
References ParallelInteractionStorage_E< P, I >::m_unbreakable.
|
virtual |
calculate all forces
Implements AParallelInteractionStorage.
References console, and BasicCon::Debug().

|
virtual |
Implements AParallelInteractionStorage.
|
private |
helper function to do the actual shifting of values in exchange()
| dim | dimension, 0->x, 1->y, 2->z |
| dir | direction, 1->up, -1->down |
References console, esys::lsm::bpu::iter(), and BasicCon::XDebug().

|
virtual |
References console, and BasicCon::Debug().

|
virtual |
rebuild all interactions, i.e. set particle pointers according to particle indices
Implements AParallelInteractionStorage.
References console, ParallelParticleArray< T >::getParticlePtrByIndex(), esys::lsm::bpu::iter(), NULL, and BasicCon::XDebug().

|
inlinevirtual |
does nothing
Implements AParallelInteractionStorage.
Reimplemented in ParallelInteractionStorage_ED< P, I >.
|
virtual |
set the interactions "unbreakable" -> turns update into a NO-OP
| b | true -> unbreakable, false -> breakable |
Reimplemented in ParallelInteractionStorage_EB< P, I >.
|
virtual |
Referenced by TSubLattice< T >::addBondedIG(), TSubLattice< T >::addCappedBondedIG(), TRotSubLattice< T >::addRotBondedIG(), TRotSubLattice< T >::addRotThermBondedIG(), and TSubLattice< T >::addShortBondedIG().

|
virtual |
|
protected |
|
staticprivate |
|
protected |
|
protected |
| bool ParallelInteractionStorage_E< P, I >::m_unbreakable |