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) |
![]() | |
TriMesh_PIS (TriMesh *, ParallelParticleArray< ParticleType > *) | |
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) |
![]() | |
AParallelInteractionStorage (AParallelParticleArray *ppa) | |
virtual void | calcHeatFrict () |
virtual void | calcHeatTrans () |
virtual void | saveCheckPointData (std::ostream &oStream) |
virtual void | loadCheckPointData (std::istream &iStream) |
virtual bool | willSave () |
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 |
![]() | |
int | m_update_timestamp |
TriMesh * | m_mesh |
AParallelInteractionStorage * | m_exIG |
![]() | |
AParallelParticleArray * | m_ppa |
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().
|
virtual |
calculate all the forces
Implements AParallelInteractionStorage.
References 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 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 ParallelParticleArray< T >::getParticlePtrByIndex(), 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.