ESyS-Particle
4.0.1
|
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) |
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 |
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 BasicCon::XDebug().
void TriMesh_PIS_EB< ParticleType, IType >::calcForces | ( | ) | [virtual] |
calculate all the forces
Implements AParallelInteractionStorage.
References BasicCon::XDebug().
bool TriMesh_PIS_EB< ParticleType, IType >::isIn | ( | const vector< int > & | ) | [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 BasicCon::Error().
void TriMesh_PIS_EB< ParticleType, IType >::rebuild | ( | ) | [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 ParallelParticleArray< T >::getParticlePtrByIndex(), and BasicCon::XDebug().
void TriMesh_PIS_EB< ParticleType, IType >::saveSnapShotData | ( | std::ostream & | oStream | ) | [virtual] |
save snapshot (i.e. viz/postprocess) data
oStream | a reference to the stream where the data is written |
Reimplemented from AParallelInteractionStorage.