14 #ifndef MODEL_ROTLOCALDAMPING_HPP
15 #define MODEL_ROTLOCALDAMPING_HPP
17 #include "Model/RotLocalDamping.h"
32 m_force=
Vec3(0.0,0.0,0.0);
45 m_visc=param.getVisc();
46 m_dt=param.getTimeStep();
47 m_force=
Vec3(0.0,0.0,0.0);
60 m_visc=param->getVisc();
61 m_dt=param->getTimeStep();
62 m_force=
Vec3(0.0,0.0,0.0);
85 Vec3 v=m_p->getAngVel();
86 Vec3 frc=m_p->getMoment();
88 double dampFx, dampFy, dampFz;
90 dampFx = fabs(frc.X());
97 dampFy = fabs(frc.Y());
104 dampFz = fabs(frc.Z());
112 m_force=-1.0*m_visc*
Vec3(dampFx, dampFy, dampFz);
114 m_p->applyMoment(m_force);
116 m_E_diss=m_visc*m_force.norm()*v.norm()*m_dt;
129 if(name==
"dissipated_energy"){
133 cerr <<
"ERROR - invalid name for interaction scalar access function" << endl;
150 cerr <<
"ERROR - invalid name for interaction scalar access function" << endl;
170 cerr <<
"ERROR - invalid name for interaction vector access function" << endl;
200 int tag1=m_p->getTag();
202 return ((tag1 & mask)==(tag & mask));
213 res.push_back(m_p->getID());