ESyS-Particle
4.0.1
|
Damping of the rotational part of the particle motion by an artificial viscosity. More...
#include <RotDamping.h>
Public Types | |
typedef CDampingIGP | ParameterType |
typedef double(CRotDamping::* | ScalarFieldFunction )() const |
typedef pair< bool, double > (CRotDamping::* | CheckedScalarFieldFunction )() const |
typedef Vec3(CRotDamping::* | VectorFieldFunction )() const |
Public Member Functions | |
CRotDamping (T *, CDampingIGP *) | |
virtual | ~CRotDamping () |
void | setLimit (double limit) |
virtual void | calcForces () |
void | setTimeStepSize (double dt) |
virtual bool | hasTag (int, int) const |
virtual Vec3 | getPosFirst () const |
virtual Vec3 | getPosSecond () const |
virtual Vec3 | getPos () const |
vector< int > | getAllID () const |
quintuple< Vec3, double, Vec3, double, Vec3 > | getRaw2Data () 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 &) |
static void | zeroFlops () |
static int | Flops () |
Protected Attributes | |
T * | m_p |
the particle | |
Vec3 | m_vref |
reference velocity | |
double | m_visc |
artificial viscosity | |
double | m_dt |
time step | |
int | m_maxiter |
iteration limit | |
double | m_E_diss |
dissipaed energy | |
Vec3 | m_force |
current force | |
Static Protected Attributes | |
static double | s_limit2 = 1e-12 |
square error limit for iteration | |
static int | s_flops = 0 |
Damping of the rotational part of the particle motion by an artificial viscosity.
CRotDamping< T >::CRotDamping | ( | T * | P, |
CDampingIGP * | param | ||
) |
Construct a rotational damping "interaction" for a particle
P | the particle |
param | pointer to the parameters |
CRotDamping< T >::~CRotDamping | ( | ) | [virtual] |
destructor
void CRotDamping< T >::calcForces | ( | ) | [virtual] |
Calculate the damping force.
25*count+8 flops
vector< int > CRotDamping< T >::getAllID | ( | ) | const |
return a vector of all particle IDs
CRotDamping< T >::CheckedScalarFieldFunction CRotDamping< T >::getCheckedScalarFieldFunction | ( | const string & | name | ) | [static] |
Get the particle member function which returns a checked scalar field of a given name.
name | the name of the field |
double CRotDamping< T >::getDissipatedEnergy | ( | ) | const |
return the amount of energy dissipated during the last time step
CRotDamping< T >::ScalarFieldFunction CRotDamping< T >::getScalarFieldFunction | ( | const string & | name | ) | [static] |
Get the particle member function which returns a scalar field of a given name.
name | the name of the field |
CRotDamping< T >::VectorFieldFunction CRotDamping< T >::getVectorFieldFunction | ( | const string & | name | ) | [static] |
Get the particle member function which returns a vector field of a given name.
name | the name of the field |
bool CRotDamping< T >::hasTag | ( | int | tag, |
int | mask | ||
) | const [virtual] |
check if any of the particles in the interaction fits tag & mask
tag | the tag |
mask | the mask |