21 template<
class ParticleType,
class IType>
32 template<
class ParticleType,
class IType>
45 template <
class ParticleType,
class IType>
54 case 0: res=m_edge_int_set.find(make_pair(v[0],v[1]))!=m_edge_int_set.end();
break;
55 case 1: res=m_corner_int_set.find(make_pair(v[0],v[1]))!=m_corner_int_set.end();
break;
56 default:
console.
Error() <<
"wrong value in argument of Mesh2D_PIS::isIn !!\n";
break;
66 template<
class ParticleType,
class IType>
69 console.
XDebug() <<
"Mesh2D_PIS_NE calculating " << m_edge_interactions.size() <<
" line forces , "
70 << m_corner_interactions.size() <<
"corner forces\n";
73 for(
typename std::vector<typename IType::EdgeIntType>::iterator tri_iter=m_edge_interactions.begin();
74 tri_iter!=m_edge_interactions.end();
76 tri_iter->calcForces();
79 for(
typename std::vector<typename IType::CornerIntType>::iterator corner_iter=m_corner_interactions.begin();
80 corner_iter!=m_corner_interactions.end();
82 corner_iter->calcForces();
89 template<
class ParticleType,
class IType>
97 if(this->m_update_timestamp != this->m_ppa->getTimeStamp()){
100 m_edge_interactions.clear();
101 m_corner_interactions.clear();
102 m_edge_int_set.clear();
103 m_corner_int_set.clear();
108 ed_iter != this->m_mesh->edges_end();
118 bool iflag = this->m_ppa->isInInner((*p_iter)->getPos());
119 m_edge_interactions.push_back(
typename IType::EdgeIntType(*p_iter,&(*ed_iter),m_param,iflag));
126 co_iter != this->m_mesh->corners_end();
136 bool iflag = this->m_ppa->isInInner((*p_iter)->getPos());
137 m_corner_interactions.push_back(
typename IType::CornerIntType(*p_iter,&(*co_iter),m_param,iflag));
142 this->m_update_timestamp = this->m_ppa->getTimeStamp();
BasicCon & Error(bool h=true)
set verbose level of next message to "err"
Definition: console.cpp:261
parrallel particle storage array with neighborsearch and variable exchange
Definition: SubLattice.h:61
vector< Corner2D >::iterator corner_iterator
Definition: Mesh2D.h:58
Abstract base class for parallel storage of interactions between a 2D mesh and particles.
Definition: mesh2d_pis.h:36
virtual bool isIn(const vector< int > &)
Definition: mesh2d_pis_ne.hpp:46
vector< Edge2D >::iterator edge_iterator
Definition: Mesh2D.h:57
~Mesh2D_PIS_NE()
Definition: mesh2d_pis_ne.hpp:33
BasicCon & XDebug(bool h=true)
set verbose level of next message to "xdg"
Definition: console.cpp:316
virtual bool update()
Definition: mesh2d_pis_ne.hpp:90
virtual void calcForces()
Definition: mesh2d_pis_ne.hpp:67
IType::ParameterType m_param
Definition: mesh2d_pis_ne.h:32
Template class for a handle/ref. counted pointer.
Definition: handle.h:26
NeighborTable< T >::particlelist::iterator ParticleListIterator
Definition: pp_array.h:80
Mesh2D_PIS_NE(Mesh2D *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType)
Definition: mesh2d_pis_ne.hpp:22
int m_update_timestamp
Definition: mesh2d_pis.h:39