ESyS-Particle  4.0.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes
CDamping< T > Class Template Reference

Damping of the particle motion by an artificial viscosity. More...

#include <Damping.h>

Collaboration diagram for CDamping< T >:
Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

 CDamping (T *, const Vec3 &, double, double, int)
 CDamping (T *, const CDampingIGP &)
 CDamping (T *, CDampingIGP *)
virtual ~CDamping ()
void setLimit (double limit)
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, 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
 dissipated 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

Detailed Description

template<class T>
class CDamping< T >

Damping of the particle motion by an artificial viscosity.


Constructor & Destructor Documentation

template<class T>
CDamping< T >::CDamping ( T *  P,
const Vec3 V,
double  visc,
double  dt,
int  mi 
)

Construct a damping "interaction" for a particle

Parameters:
Pthe particle
Vthe reference velocity
viscthe artificial viscosity
dtthe time step
mithe maximum number of iterations
template<class T>
CDamping< T >::CDamping ( T *  P,
const CDampingIGP param 
)

Construct a damping "interaction" for a particle

Parameters:
Pthe particle
paramthe parameters
template<class T>
CDamping< T >::CDamping ( T *  P,
CDampingIGP param 
)

Construct a damping "interaction" for a particle

Parameters:
Pthe particle
parampointer to the parameters
template<class T >
CDamping< T >::~CDamping ( )
virtual

destructor


Member Function Documentation

template<class T >
void CDamping< T >::calcForces ( )
virtual

Calculate the damping force.

25*count+8 flops

template<class T >
vector< int > CDamping< T >::getAllID ( ) const

return a vector of all particle IDs

template<class T >
CDamping< T >::CheckedScalarFieldFunction CDamping< 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

Reimplemented in ABCDamping< ParticleType >.

template<class T >
double CDamping< T >::getDissipatedEnergy ( ) const

return the amount of energy dissipated during the last time step

template<class T >
CDamping< T >::ScalarFieldFunction CDamping< 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
template<class T >
CDamping< T >::VectorFieldFunction CDamping< 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

Reimplemented in ABCDamping< ParticleType >.

template<class T >
bool CDamping< 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

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