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

Class for parallel storage of interactions between a triangle mesh and particles which doesn't require exchange of interactions across process boundaries. More...

#include <trimesh_pis_ne.h>

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

List of all members.

Public Member Functions

 TriMesh_PIS_NE (TriMesh *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType)
 ~TriMesh_PIS_NE ()
virtual bool isIn (const vector< int > &)
virtual void setTimeStepSize (double dt)
virtual void calcForces ()
virtual bool update ()
virtual void exchange ()
virtual void rebuild ()
 do nothing
virtual void tryInsert (const vector< int > &)
 do nothing

Protected Attributes

IType::ParameterType m_param
set< pair< int, int > > m_tri_int_set
set< pair< int, int > > m_edge_int_set
set< pair< int, int > > m_corner_int_set
vector< typename
IType::TriIntType > 
m_triangle_interactions
vector< typename
IType::EdgeIntType > 
m_edge_interactions
vector< typename
IType::CornerIntType > 
m_corner_interactions

Detailed Description

template<class ParticleType, class IType>
class TriMesh_PIS_NE< ParticleType, IType >

Class for parallel storage of interactions between a triangle mesh and particles which doesn't require exchange of interactions across process boundaries.

Author:
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

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

constructor

Parameters:
mesh_p
ppa_p
param
template<class ParticleType , class IType >
TriMesh_PIS_NE< ParticleType, IType >::~TriMesh_PIS_NE ( )

destructor


Member Function Documentation

template<class ParticleType , class IType >
void TriMesh_PIS_NE< 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_NE< 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 in [0,1,2], "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>
virtual void TriMesh_PIS_NE< ParticleType, IType >::setTimeStepSize ( double  dt) [inline, virtual]

Null op, time step size not required.

Implements AParallelInteractionStorage.

template<class ParticleType , class IType >
bool TriMesh_PIS_NE< ParticleType, IType >::update ( ) [virtual]

update the interactions

Implements AParallelInteractionStorage.

References BasicCon::XDebug().

Here is the call graph for this function:


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