ESyS-Particle  4.0.1
Public Member Functions | Protected Attributes
TriMesh_PIS_EB< ParticleType, IType > Class Template Reference

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>

Inheritance diagram for TriMesh_PIS_EB< ParticleType, IType >:
Inheritance graph
[legend]
Collaboration diagram for TriMesh_PIS_EB< ParticleType, IType >:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

template<class ParticleType, class IType>
class TriMesh_PIS_EB< ParticleType, IType >

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.


Constructor & Destructor Documentation

template<class ParticleType , class IType >
TriMesh_PIS_EB< ParticleType, IType >::TriMesh_PIS_EB ( TriMesh mesh_p,
ParallelParticleArray< ParticleType > *  ppa_p,
typename IType::ParameterType  param 
)

constructor

Parameters:
mesh_pa pointer to the triangle mesh
ppa_pa pointer to the particle array
paramthe interaction parameters

References BasicCon::XDebug().

Here is the call graph for this function:


Member Function Documentation

template<class ParticleType , class IType >
void TriMesh_PIS_EB< ParticleType, IType >::calcForces ( ) [virtual]

calculate all the forces

Implements AParallelInteractionStorage.

References BasicCon::XDebug().

Here is the call graph for this function:

template<class ParticleType, class IType>
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.

Parameters:
vvector of particle ids
Warning:
log(N)

Implements AParallelInteractionStorage.

References BasicCon::Error().

Here is the call graph for this function:

template<class ParticleType , class IType >
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().

Here is the call graph for this function:

template<class ParticleType , class IType >
void TriMesh_PIS_EB< ParticleType, IType >::saveSnapShotData ( std::ostream &  oStream) [virtual]

save snapshot (i.e. viz/postprocess) data

Parameters:
oStreama reference to the stream where the data is written

Reimplemented from AParallelInteractionStorage.


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