Go to the documentation of this file.
14 #ifndef MODEL_LOCALDAMPING_HPP
15 #define MODEL_LOCALDAMPING_HPP
32 m_force=
Vec3(0.0,0.0,0.0);
47 m_force=
Vec3(0.0,0.0,0.0);
62 m_force=
Vec3(0.0,0.0,0.0);
86 Vec3 frc=m_p->getForce();
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->applyForce(m_force,m_p->getPos());
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());
virtual void calcForces()
Definition: LocalDamping.hpp:82
virtual bool hasTag(int, int) const
Definition: LocalDamping.hpp:198
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: LocalDamping.hpp:162
virtual ~CLocalDamping()
Definition: LocalDamping.hpp:69
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: LocalDamping.hpp:125
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
void setTimeStepSize(double dt)
Definition: LocalDamping.hpp:73
VEC3_INLINE double & X()
Definition: vec3.h:119
VEC3_INLINE double & Z()
Definition: vec3.h:121
#define NULL
Definition: t_list.h:17
double getTimeStep() const
Definition: LocalDampingIGP.h:48
double getDissipatedEnergy() const
Definition: LocalDamping.hpp:180
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: LocalDamping.hpp:145
vector< int > getAllID() const
Definition: LocalDamping.hpp:209
VEC3_INLINE double & Y()
Definition: vec3.h:120
double getVisc() const
Definition: LocalDampingIGP.h:45
Local damping of the particle motion by a damping coefficient.
Definition: LocalDamping.h:30
Interaction group parameters for CLocalDampingGroup.
Definition: LocalDampingIGP.h:28
CLocalDamping(T *, double, double)
Definition: LocalDamping.hpp:27
Vec3 getForce() const
Definition: LocalDamping.hpp:186