38 console.
Debug() <<
"TSubLattice<T>::setParticleAngularVelocity()\n";
43 Vec3 mv=buffer.pop_vector();
44 this->m_ppa->forParticle(
id,(
void (T::*)(
Vec3))(&T::setAngVel),mv);
45 console.
XDebug() <<
"end TSubLattice<T>::setParticleAngularVelocity()\n";
82 if (type==
"RotDamping") {
83 CDampingIGP *params=extractDampingIGP(¶m_buffer);
84 console.
Debug() <<
"add rotational damping\n";
86 damping_name=
"RotDamping";
89 this->m_damping.insert(make_pair(damping_name,DG));
90 this->m_damping[damping_name]->update();
92 else if (type==
"RotLocalDamping") {
94 console.
Debug() <<
"add rotational damping\n";
96 damping_name=
"RotLocalDamping";
99 this->m_damping.insert(make_pair(damping_name,DG));
100 this->m_damping[damping_name]->update();
115 console.
XDebug() <<
"TSubLattice<T>::addRotBondedIG()\n";
121 int tag=param_buffer.
pop_int();
122 string name=string(param_buffer.
pop_string());
127 double max_nForce = param_buffer.
pop_double();
128 double max_shForce = param_buffer.
pop_double();
129 double max_tMoment = param_buffer.
pop_double();
130 double max_bMoment = param_buffer.
pop_double();
131 bool scaling =
static_cast<bool>(param_buffer.
pop_int());
136 <<
"Got RotBondedIG parameters: tag=" << tag
137 <<
", name=" << name.c_str()
142 <<
", nFrc=" << max_nForce
143 <<
", sFrc=" << max_shForce
144 <<
", tMom=" << max_tMoment
145 <<
", bMom=" << max_bMoment
146 <<
", scaling=" << scaling
155 param.max_nForce = max_nForce ;
156 param.max_shForce = max_shForce ;
157 param.max_tMoment = max_tMoment ;
158 param.max_bMoment = max_bMoment ;
159 param.scaling = scaling;
168 vector<int> vi(2,-1);
169 for(
size_t i=0;i<conns.size();i+=2){
171 vi[1] = (conns[i+1]);
172 B_PIS->tryInsert(vi);
176 this->m_bpis.insert(make_pair(name,B_PIS));
178 console.
XDebug() <<
"end TSubLattice<T>::addRotBondedIG()\n";
188 console.
XDebug() <<
"TRotSubLattice<T>::addRotThermBondedIG()\n";
194 int tag=param_buffer.
pop_int();
195 string name=string(param_buffer.
pop_string());
200 double max_nForce = param_buffer.
pop_double();
201 double max_shForce = param_buffer.
pop_double();
202 double max_tMoment = param_buffer.
pop_double();
203 double max_bMoment = param_buffer.
pop_double();
204 double diffusivity = param_buffer.
pop_double();
209 <<
"Got RotThermBondedIG parameters: tag=" << tag
210 <<
", name=" << name.c_str()
215 <<
", nFrc=" << max_nForce
216 <<
", sFrc=" << max_shForce
217 <<
", tMom=" << max_tMoment
218 <<
", bMom=" << max_bMoment
219 <<
", diffusivity=" << diffusivity
228 param.max_nForce = max_nForce ;
229 param.max_shForce = max_shForce ;
230 param.max_tMoment = max_tMoment ;
231 param.max_bMoment = max_bMoment ;
232 param.diffusivity = diffusivity ;
241 vector<int> vi(2,-1);
242 for(
size_t i=0;i<conns.size();i+=2){
244 vi[1] = (conns[i+1]);
245 B_PIS->tryInsert(vi);
249 this->m_bpis.insert(make_pair(name,B_PIS));
251 console.
XDebug() <<
"end TRotSubLattice<T>::addRotThermBondedIG()\n";