ESyS-Particle  4.0.1
Public Member Functions | Protected Attributes | Friends | List of all members
CViscWallIG< T > Class Template Reference

Class for a group of viscous and elastic interactions between particles and a wall. More...

#include <ViscWallIG.h>

Inheritance diagram for CViscWallIG< T >:
Inheritance graph
[legend]
Collaboration diagram for CViscWallIG< T >:
Collaboration graph
[legend]

Public Member Functions

 CViscWallIG (TML_Comm *)
 CViscWallIG (TML_Comm *, CWall *, const CVWallIGP *)
virtual void setTimeStepSize (double dt)
virtual void calcForces ()
virtual void applyForce (const Vec3 &)
virtual void setVelocity (const Vec3 &)
virtual void Update (ParallelParticleArray< T > *)
- Public Member Functions inherited from AWallInteractionGroup< T >
 AWallInteractionGroup (TML_Comm *comm)
double getDisplacement ()
void resetDisplacement ()
void moveWallBy (const Vec3 &mv)
void setWallNormal (const Vec3 &wn)
void zeroForce ()

Protected Attributes

vector< CViscWallInteraction< T > > m_visc_interactions
 visc interactions for tagged particles
vector
< CElasticWallInteraction< T > > 
m_elastic_interactions
 elastic interactions all particles
double m_k
 spring constant
double m_nu
int m_tag
- Protected Attributes inherited from AWallInteractionGroup< T >
CWallm_wall
 the wall
TML_Commm_comm
 MPI communicator.
int m_inner_count

Friends

ostream & operator<< (ostream &, const CViscWallIG &)

Detailed Description

template<class T>
class CViscWallIG< T >

Class for a group of viscous and elastic interactions between particles and a wall.

Constructor & Destructor Documentation

template<class T >
CViscWallIG< T >::CViscWallIG ( TML_Comm comm,
CWall wallp,
const CVWallIGP I 
)

Constructor for wall interaction group with viscous drag

Parameters
commthe communicator
wallpa pointer to the wall
paramthe interaction parameters

References CViscWallIG< T >::m_k, AWallInteractionGroup< T >::m_wall, and BasicCon::XDebug().

Here is the call graph for this function:

Member Function Documentation

template<class T >
void CViscWallIG< T >::applyForce ( const Vec3 F)
virtual

Apply a given force to the wall. Only forces in the direction of the given force are considered, free movement is assumed in perpendicular directions.

Parameters
Fthe force

Reimplemented from AWallInteractionGroup< T >.

template<class T>
virtual void CViscWallIG< T >::setTimeStepSize ( double  dt)
inlinevirtual

Null op, don't require time step size.

Reimplemented from AWallInteractionGroup< T >.

template<class T >
void CViscWallIG< T >::setVelocity ( const Vec3 V)
virtual

Set velocity of the wall. Only sets m_vel of the wall, doesn't affect position updates.

Parameters
Vthe velocity

Reimplemented from AWallInteractionGroup< T >.

template<class T >
void CViscWallIG< T >::Update ( ParallelParticleArray< T > *  PPA)
virtual

Update interactions from an existing parallel particle array

Parameters
PPAa pointer to the particle array

Implements AInteractionGroup< T >.

References ParallelParticleArray< T >::getParticlesAtPlane(), ParallelParticleArray< T >::isInInner(), and BasicCon::XDebug().

Here is the call graph for this function:


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