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++){
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";
115 console.
XDebug() <<
"added " << count_l <<
" pairs to EIG\n";
116 console.
XDebug() <<
"end CElasticInteractionGroup::Update\n";
120 ostream& operator<<(ostream& ost,const CRotElasticInteractionGroup<T>& E)
122 ost <<
"CElasticInteractionGroup : \n";
123 for(vector<CRotElasticInteraction>::const_iterator it=E.m_interactions.begin();it!=E.m_interactions.end();it++){
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 <<
" ] , ";
Elastic Interaction between free rotational particles.
Definition: RotElasticInteraction.h:50
virtual void Update(ParallelParticleArray< T > *)
Definition: RotElasticInteractionGroup.hpp:57
PairListHandle getNewPairList()
Get list of new pairs. Forwards to NTable::getNewList().
Definition: pp_array.h:189
Interaction group parameters for CRotElasticInteractionGroups.
Definition: RotElasticInteraction.h:24
void setParam(const CRotElasticIGP *)
Definition: RotElasticInteractionGroup.hpp:35
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
virtual void calcForces()
Definition: RotElasticInteractionGroup.hpp:41
parrallel particle storage array with neighborsearch and variable exchange
Definition: SubLattice.h:61
CRotElasticInteractionGroup()
Definition: RotElasticInteractionGroup.hpp:20
PairListHandle getFullPairList()
Get list of all pairs. Forwards to NTable::getFullList().
Definition: pp_array.h:187
#define NULL
Definition: t_list.h:17
BasicCon & XDebug(bool h=true)
set verbose level of next message to "xdg"
Definition: console.cpp:316
double getNormalSpringConst() const
Definition: RotElasticInteraction.h:36
BasicCon & Debug(bool h=true)
set verbose level of next message to "dbg"
Definition: console.cpp:305
int getTimeStamp()
return time stamp of last rebuild
Definition: pp_array.h:57
Template class for a handle/ref. counted pointer.
Definition: handle.h:26
NeighborTable< T >::pairlist::iterator PairListIterator
Definition: pp_array.h:78