Go to the documentation of this file.
23 this->m_update_timestamp=0;
31 this->m_update_timestamp=0;
44 console.
Debug() <<
"calculating " << m_interactions.size() <<
" elastic forces\n" ;
46 for(vector<CRotElasticInteraction>::iterator it=m_interactions.begin();it!=m_interactions.end();it++){
62 if(this->m_update_timestamp!=PPA->getTimeStamp()){
64 m_interactions.erase(m_interactions.begin(),m_interactions.end());
65 this->m_set.erase(this->m_set.begin(),this->m_set.end());
72 tv.push_back(
iter->first->getID());
73 tv.push_back(
iter->second->getID());
75 if(!m_exIG->isIn(tv)){
77 this->m_set.insert(pair<int,int>(
iter->first->getID(),
iter->second->getID()));
78 console.
XDebug() <<
"adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
81 console.
XDebug() <<
"not adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
85 this->m_set.insert(pair<int,int>(
iter->first->getID(),
iter->second->getID()));
86 console.
XDebug() <<
"adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
95 tv.push_back(
iter->first->getID());
96 tv.push_back(
iter->second->getID());
98 if(!m_exIG->isIn(tv)){
100 this->m_set.insert(pair<int,int>(
iter->first->getID(),
iter->second->getID()));
101 console.
XDebug() <<
"adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
104 console.
XDebug() <<
"not adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
108 this->m_set.insert(pair<int,int>(
iter->first->getID(),
iter->second->getID()));
109 console.
XDebug() <<
"adding pair: " <<
iter->first->getID() <<
" - " <<
iter->second->getID() <<
"\n";
114 this->m_update_timestamp=PPA->getTimeStamp();
115 console.
XDebug() <<
"added " << count_l <<
" pairs to EIG\n";
116 console.
XDebug() <<
"end CElasticInteractionGroup::Update\n";
122 ost <<
"CElasticInteractionGroup : \n";
124 ost << *it <<
" , " ;
126 ost <<
"exchange list: \n";
127 for(set<pair<int,int> >::const_iterator vit=E.m_exchg_list.begin();vit!=E.m_exchg_list.end();vit++){
128 ost <<
"[ " << vit->first <<
" from " << vit->second <<
" ] , ";
NeighborTable< T >::pairlist::iterator PairListIterator
Definition: pp_array.h:78
PairListHandle getFullPairList()
Get list of all pairs. Forwards to NTable::getFullList().
Definition: pp_array.h:187
virtual void Update(ParallelParticleArray< T > *)
Definition: RotElasticInteractionGroup.hpp:57
ostream & operator<<(ostream &ost, const CRotElasticInteractionGroup< T > &E)
Definition: RotElasticInteractionGroup.hpp:120
Console & Debug()
set verbose level of next message to "dbg"
PairListHandle getNewPairList()
Get list of new pairs. Forwards to NTable::getNewList().
Definition: pp_array.h:189
vector< CRotElasticInteraction > m_interactions
Definition: RotElasticInteractionGroup.h:33
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
Console & XDebug()
set verbose level of next message to "xdg"
#define NULL
Definition: t_list.h:17
Elastic Interaction between free rotational particles.
Definition: RotElasticInteraction.h:51
void setParam(const CRotElasticIGP *)
Definition: RotElasticInteractionGroup.hpp:35
CRotElasticInteractionGroup()
Definition: RotElasticInteractionGroup.hpp:20
virtual void calcForces()
Definition: RotElasticInteractionGroup.hpp:41
double getNormalSpringConst() const
Definition: RotElasticInteraction.h:36
Template class for a handle/ref. counted pointer.
Definition: handle.h:27
Class for a group of unbonded,elastic interactions.
Definition: RotElasticInteractionGroup.h:31
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
Interaction group parameters for CRotElasticInteractionGroups.
Definition: RotElasticInteraction.h:25
Console console
Definition: console.cpp:25