ESyS-Particle  2.3.4
Mesh2D_PIS_NE< ParticleType, IType > Class Template Reference

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

#include <mesh2d_pis_ne.h>

Inheritance diagram for Mesh2D_PIS_NE< ParticleType, IType >:
Collaboration diagram for Mesh2D_PIS_NE< ParticleType, IType >:

Public Member Functions

 Mesh2D_PIS_NE (Mesh2D *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType)
 
 ~Mesh2D_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 More...
 
virtual void tryInsert (const vector< int > &)
 do nothing More...
 
- Public Member Functions inherited from Mesh2D_PIS< ParticleType >
 Mesh2D_PIS (Mesh2D *, ParallelParticleArray< ParticleType > *)
 
virtual ~Mesh2D_PIS ()
 
virtual void addExIG (AParallelInteractionStorage *)
 
virtual AFieldSlavegenerateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int)
 
virtual AFieldSlavegenerateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int)
 
virtual void saveCheckPointData (std::ostream &)
 
virtual void loadCheckPointData (std::istream &)
 
- Public Member Functions inherited from AParallelInteractionStorage
 AParallelInteractionStorage (AParallelParticleArray *ppa)
 
virtual ~AParallelInteractionStorage ()
 
virtual void calcHeatFrict ()
 
virtual void calcHeatTrans ()
 
virtual AFieldSlavegenerateNewScalarHistoryFieldSlave (TML_Comm *, const string &, int, int, int)
 
virtual void saveSnapShotData (std::ostream &)
 
virtual bool willSave ()
 
- Public Member Functions inherited from esys::lsm::CheckPointable
 CheckPointable ()
 
virtual ~CheckPointable ()
 

Protected Attributes

IType::ParameterType m_param
 
set< pair< int, int > > m_edge_int_set
 
set< pair< int, int > > m_corner_int_set
 
vector< typename IType::EdgeIntType > m_edge_interactions
 
vector< typename IType::CornerIntType > m_corner_interactions
 
- Protected Attributes inherited from Mesh2D_PIS< ParticleType >
int m_update_timestamp
 
Mesh2Dm_mesh
 
- Protected Attributes inherited from AParallelInteractionStorage
AParallelParticleArraym_ppa
 

Detailed Description

template<class ParticleType, class IType>
class Mesh2D_PIS_NE< ParticleType, IType >

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

Author
Steffen Abe
Revision
Date

Constructor & Destructor Documentation

◆ Mesh2D_PIS_NE()

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

constructor

Parameters
mesh_ppointer to the 2d mesh
ppa_ppointer to the particle array
param

References Mesh2D_PIS_NE< ParticleType, IType >::m_param, and Mesh2D_PIS< ParticleType >::m_update_timestamp.

◆ ~Mesh2D_PIS_NE()

template<class ParticleType , class IType >
Mesh2D_PIS_NE< ParticleType, IType >::~Mesh2D_PIS_NE

destructor

Member Function Documentation

◆ calcForces()

template<class ParticleType , class IType >
void Mesh2D_PIS_NE< ParticleType, IType >::calcForces
virtual

calculate all the forces

Implements AParallelInteractionStorage.

References console, and Console::XDebug().

Here is the call graph for this function:

◆ exchange()

template<class ParticleType , class IType >
virtual void Mesh2D_PIS_NE< ParticleType, IType >::exchange ( )
inlinevirtual

◆ isIn()

template<class ParticleType , class IType >
bool Mesh2D_PIS_NE< ParticleType, IType >::isIn ( const vector< int > &  v)
virtual

Check if an interaction is in this PIS. The first 2 values in the vector are expected to be the edge/corner (v[0]) and particle (v[1]) ids, the 3rd an indicator if edge (v[2]==0)or corner (v[2]==1) interaction. If there is no 3rd value or it is not in [0,1], "false" is returned.

Parameters
vvector of particle ids
Warning
log(N)

Implements AParallelInteractionStorage.

References console, and Console::Error().

Here is the call graph for this function:

◆ rebuild()

template<class ParticleType , class IType >
virtual void Mesh2D_PIS_NE< ParticleType, IType >::rebuild ( )
inlinevirtual

do nothing

Implements AParallelInteractionStorage.

◆ setTimeStepSize()

template<class ParticleType , class IType >
virtual void Mesh2D_PIS_NE< ParticleType, IType >::setTimeStepSize ( double  dt)
inlinevirtual

Null op, time step size not required.

Implements AParallelInteractionStorage.

◆ tryInsert()

template<class ParticleType , class IType >
virtual void Mesh2D_PIS_NE< ParticleType, IType >::tryInsert ( const vector< int > &  )
inlinevirtual

do nothing

◆ update()

template<class ParticleType , class IType >
bool Mesh2D_PIS_NE< ParticleType, IType >::update
virtual

update the interactions

Implements AParallelInteractionStorage.

References console, and Console::XDebug().

Here is the call graph for this function:

Member Data Documentation

◆ m_corner_int_set

template<class ParticleType , class IType >
set<pair<int,int> > Mesh2D_PIS_NE< ParticleType, IType >::m_corner_int_set
protected

◆ m_corner_interactions

template<class ParticleType , class IType >
vector<typename IType::CornerIntType> Mesh2D_PIS_NE< ParticleType, IType >::m_corner_interactions
protected

◆ m_edge_int_set

template<class ParticleType , class IType >
set<pair<int,int> > Mesh2D_PIS_NE< ParticleType, IType >::m_edge_int_set
protected

◆ m_edge_interactions

template<class ParticleType , class IType >
vector<typename IType::EdgeIntType> Mesh2D_PIS_NE< ParticleType, IType >::m_edge_interactions
protected

◆ m_param

template<class ParticleType , class IType >
IType::ParameterType Mesh2D_PIS_NE< ParticleType, IType >::m_param
protected

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