|
ESyS-Particle
2.2
|
Class for parallel storage of interactions between a triangle mesh and particles which does require exchange of interactions across process boundaries but where interactions are not dynamically formed. More...
#include <trimesh_pis_eb.h>


Public Member Functions | |
| TriMesh_PIS_EB (TriMesh *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType) | |
| virtual bool | isIn (const vector< int > &) |
| virtual void | setTimeStepSize (double dt) |
| virtual void | calcForces () |
| virtual bool | update () |
| virtual void | exchange () |
| virtual void | rebuild () |
| virtual void | tryInsert (const typename IType::TriIntType &) |
| virtual void | tryInsert (const vector< int > &) |
| virtual void | saveSnapShotData (std::ostream &) |
| void | buildFromPPATagged (int, int) |
| void | buildFromPPAByGap (double) |
Public Member Functions inherited from TriMesh_PIS< ParticleType > | |
| TriMesh_PIS (TriMesh *, ParallelParticleArray< ParticleType > *) | |
| virtual | ~TriMesh_PIS () |
| virtual void | addExIG (AParallelInteractionStorage *) |
| virtual AFieldSlave * | generateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int) |
| virtual AFieldSlave * | generateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int) |
Public Member Functions inherited from AParallelInteractionStorage | |
| AParallelInteractionStorage (AParallelParticleArray *ppa) | |
| virtual | ~AParallelInteractionStorage () |
| virtual void | calcHeatFrict () |
| virtual void | calcHeatTrans () |
| virtual void | saveCheckPointData (std::ostream &) |
| virtual void | loadCheckPointData (std::istream &) |
| virtual bool | willSave () |
Public Member Functions inherited from esys::lsm::CheckPointable | |
| CheckPointable () | |
| virtual | ~CheckPointable () |
Protected Attributes | |
| IType::ParameterType | m_param |
| TML_CartComm | m_comm |
| set< pair< int, int > > | m_tri_int_set |
| list< typename IType::TriIntType > | m_triangle_interactions |
Protected Attributes inherited from TriMesh_PIS< ParticleType > | |
| int | m_update_timestamp |
| TriMesh * | m_mesh |
| AParallelInteractionStorage * | m_exIG |
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 =44 |
Class for parallel storage of interactions between a triangle mesh and particles which does require exchange of interactions across process boundaries but where interactions are not dynamically formed.
| TriMesh_PIS_EB< ParticleType, IType >::TriMesh_PIS_EB | ( | TriMesh * | mesh_p, |
| ParallelParticleArray< ParticleType > * | ppa_p, | ||
| typename IType::ParameterType | param | ||
| ) |
constructor
| mesh_p | a pointer to the triangle mesh |
| ppa_p | a pointer to the particle array |
| param | the interaction parameters |
References console, TriMesh_PIS_EB< ParticleType, IType >::m_param, TriMesh_PIS< ParticleType >::m_update_timestamp, and BasicCon::XDebug().

| void TriMesh_PIS_EB< ParticleType, IType >::buildFromPPAByGap | ( | double | gmax | ) |
References console, and BasicCon::XDebug().
Referenced by TSubLattice< T >::addBondedTriMeshIG().


| void TriMesh_PIS_EB< ParticleType, IType >::buildFromPPATagged | ( | int | tag, |
| int | mask | ||
| ) |
References console, and BasicCon::XDebug().
Referenced by TSubLattice< T >::addBondedTriMeshIG().


|
virtual |
calculate all the forces
Implements AParallelInteractionStorage.
References console, and BasicCon::XDebug().

|
virtual |
Implements AParallelInteractionStorage.
References console, and BasicCon::XDebug().

|
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 |
Check if an interaction is in this PIS. The first 2 values in the vector are expected to be the tri/edge/corner (v[0]) and particle (v[1]) ids, the 3rd an indicator if tri (v[2]==0),edge (v[2]==1)or corner (v[2]==2) interaction. If there is no 3rd value or it is not 0 (tri), "false" is returned.
| v | vector of particle ids |
Implements AParallelInteractionStorage.
References console, and BasicCon::Error().

|
virtual |
Rebuild interactions after moving particles or interactions between processes. Set particle pointers accordig to particle IDs and remove interactionw which include unavailable particles.
Implements AParallelInteractionStorage.
References console, ParallelParticleArray< T >::getParticlePtrByIndex(), NULL, and BasicCon::XDebug().

|
virtual |
save snapshot (i.e. viz/postprocess) data
| oStream | a reference to the stream where the data is written |
Reimplemented from AParallelInteractionStorage.
|
virtual |
Implements AParallelInteractionStorage.
|
virtual |
References ParallelParticleArray< T >::getParticlePtrByIndex(), and NULL.

|
virtual |
|
virtual |
Implements AParallelInteractionStorage.
References console, esys::lsm::bpu::iter(), and BasicCon::XDebug().

|
protected |
|
staticprivate |
|
protected |
Referenced by TriMesh_PIS_EB< ParticleType, IType >::TriMesh_PIS_EB().
|
protected |
|
protected |