ESyS-Particle  2.3.4
CRotLocalDamping< T > Class Template Reference

Local rotational damping of the particle motion by a damping coefficient. More...

#include <RotLocalDamping.h>

Collaboration diagram for CRotLocalDamping< T >:

Public Types

typedef CLocalDampingIGP ParameterType
 
typedef double(CRotLocalDamping::* ScalarFieldFunction) () const
 
typedef pair< bool, double >(CRotLocalDamping::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CRotLocalDamping::* VectorFieldFunction) () const
 

Public Member Functions

 CRotLocalDamping (T *, double, double)
 
 CRotLocalDamping (T *, const CLocalDampingIGP &)
 
 CRotLocalDamping (T *, CLocalDampingIGP *)
 
virtual ~CRotLocalDamping ()
 
void setTimeStepSize (double dt)
 
virtual void calcForces ()
 
virtual bool hasTag (int, int) const
 
virtual Vec3 getPosFirst () const
 
virtual Vec3 getPosSecond () const
 
virtual Vec3 getPos () const
 
vector< int > getAllID () const
 
esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3getRaw2Data () const
 
double getDissipatedEnergy () const
 
Vec3 getForce () const
 

Static Public Member Functions

static ScalarFieldFunction getScalarFieldFunction (const string &)
 
static CheckedScalarFieldFunction getCheckedScalarFieldFunction (const string &)
 
static VectorFieldFunction getVectorFieldFunction (const string &)
 

Protected Attributes

T * m_p
 the particle More...
 
double m_visc
 damping coefficient More...
 
double m_dt
 time step More...
 
double m_E_diss
 dissipated energy More...
 
Vec3 m_force
 current force More...
 

Detailed Description

template<class T>
class CRotLocalDamping< T >

Local rotational damping of the particle motion by a damping coefficient.

Member Typedef Documentation

◆ CheckedScalarFieldFunction

template<class T >
typedef pair<bool,double>(CRotLocalDamping::* CRotLocalDamping< T >::CheckedScalarFieldFunction) () const

◆ ParameterType

template<class T >
typedef CLocalDampingIGP CRotLocalDamping< T >::ParameterType

◆ ScalarFieldFunction

template<class T >
typedef double(CRotLocalDamping::* CRotLocalDamping< T >::ScalarFieldFunction) () const

◆ VectorFieldFunction

template<class T >
typedef Vec3(CRotLocalDamping::* CRotLocalDamping< T >::VectorFieldFunction) () const

Constructor & Destructor Documentation

◆ CRotLocalDamping() [1/3]

template<class T >
CRotLocalDamping< T >::CRotLocalDamping ( T *  P,
double  visc,
double  dt 
)

Construct a local rotational damping "interaction" for a particle

Parameters
Pthe particle
viscthe damping coefficient
dtthe time step

◆ CRotLocalDamping() [2/3]

template<class T >
CRotLocalDamping< T >::CRotLocalDamping ( T *  P,
const CLocalDampingIGP param 
)

Construct a local rotational damping "interaction" for a particle

Parameters
Pthe particle
paramthe parameters

References CLocalDampingIGP::getTimeStep(), and CLocalDampingIGP::getVisc().

Here is the call graph for this function:

◆ CRotLocalDamping() [3/3]

template<class T >
CRotLocalDamping< T >::CRotLocalDamping ( T *  P,
CLocalDampingIGP param 
)

Construct a local rotational damping "interaction" for a particle

Parameters
Pthe particle
parampointer to the parameters

References CLocalDampingIGP::getTimeStep(), and CLocalDampingIGP::getVisc().

Here is the call graph for this function:

◆ ~CRotLocalDamping()

template<class T >
CRotLocalDamping< T >::~CRotLocalDamping
virtual

destructor

Member Function Documentation

◆ calcForces()

template<class T >
void CRotLocalDamping< T >::calcForces
virtual

Calculate the local damping moment.

References Vec3::norm(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ getAllID()

template<class T >
vector< int > CRotLocalDamping< T >::getAllID

return a vector of all particle IDs

◆ getCheckedScalarFieldFunction()

template<class T >
CRotLocalDamping< T >::CheckedScalarFieldFunction CRotLocalDamping< T >::getCheckedScalarFieldFunction ( const string &  name)
static

Get the particle member function which returns a checked scalar field of a given name.

Parameters
namethe name of the field

References NULL.

◆ getDissipatedEnergy()

template<class T >
double CRotLocalDamping< T >::getDissipatedEnergy

return the amount of energy dissipated during the last time step

◆ getForce()

template<class T >
Vec3 CRotLocalDamping< T >::getForce

◆ getPos()

template<class T >
virtual Vec3 CRotLocalDamping< T >::getPos ( ) const
inlinevirtual

References CRotLocalDamping< T >::m_p.

Referenced by CRotLocalDamping< T >::getRaw2Data().

Here is the caller graph for this function:

◆ getPosFirst()

template<class T >
virtual Vec3 CRotLocalDamping< T >::getPosFirst ( ) const
inlinevirtual

◆ getPosSecond()

template<class T >
virtual Vec3 CRotLocalDamping< T >::getPosSecond ( ) const
inlinevirtual

◆ getRaw2Data()

template<class T >
esys::lsm::quintuple<Vec3,double,Vec3,double,Vec3> CRotLocalDamping< T >::getRaw2Data ( ) const
inline

References CRotLocalDamping< T >::getPos(), CRotLocalDamping< T >::m_p, and Vec3::ZERO.

Here is the call graph for this function:

◆ getScalarFieldFunction()

template<class T >
CRotLocalDamping< T >::ScalarFieldFunction CRotLocalDamping< T >::getScalarFieldFunction ( const string &  name)
static

Get the particle member function which returns a scalar field of a given name.

Parameters
namethe name of the field

References NULL.

◆ getVectorFieldFunction()

template<class T >
CRotLocalDamping< T >::VectorFieldFunction CRotLocalDamping< T >::getVectorFieldFunction ( const string &  name)
static

Get the particle member function which returns a vector field of a given name.

Parameters
namethe name of the field

References NULL.

◆ hasTag()

template<class T >
bool CRotLocalDamping< T >::hasTag ( int  tag,
int  mask 
) const
virtual

check if any of the particles in the interaction fits tag & mask

Parameters
tagthe tag
maskthe mask

◆ setTimeStepSize()

template<class T >
void CRotLocalDamping< T >::setTimeStepSize ( double  dt)

Member Data Documentation

◆ m_dt

template<class T >
double CRotLocalDamping< T >::m_dt
protected

time step

◆ m_E_diss

template<class T >
double CRotLocalDamping< T >::m_E_diss
protected

dissipated energy

◆ m_force

template<class T >
Vec3 CRotLocalDamping< T >::m_force
protected

current force

◆ m_p

template<class T >
T* CRotLocalDamping< T >::m_p
protected

◆ m_visc

template<class T >
double CRotLocalDamping< T >::m_visc
protected

damping coefficient


The documentation for this class was generated from the following files: