ESyS-Particle  2.3
CEWallInteractionGroup< T > Class Template Reference

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

#include <brokenEWallInteractionGroup.h>

Inheritance diagram for CEWallInteractionGroup< T >:
Collaboration diagram for CEWallInteractionGroup< T >:

Public Member Functions

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

Protected Attributes

vector
< CElasticWallInteraction< T > > 
m_interactions
 
double m_k
 Elastic modulus. More...
 
double m_k_global
 total wall stiffness More...
 
double k_local
 
- Protected Attributes inherited from AWallInteractionGroup< T >
CWallm_wall
 the wall More...
 
TML_Commm_comm
 MPI communicator. More...
 
int m_inner_count
 

Friends

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

Detailed Description

template<class T>
class CEWallInteractionGroup< T >

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

Constructor & Destructor Documentation

template<class T >
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm comm)
template<class T >
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm comm,
CWall wallp,
const CEWallIGP I 
)

Constructor for elastic wall interaction group

Parameters
commthe communicator
wallpa pointer to the wall
paramthe interaction parameters

References console, CElasticIGP::getSpringConst(), CEWallInteractionGroup< T >::m_k, AWallInteractionGroup< T >::m_wall, and BasicCon::XDebug().

Here is the call graph for this function:

template<class T>
virtual CEWallInteractionGroup< T >::~CEWallInteractionGroup ( )
inlinevirtual
template<class T>
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm )
template<class T>
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm ,
CWall ,
const CEWallIGP  
)
template<class T>
virtual CEWallInteractionGroup< T >::~CEWallInteractionGroup ( )
inlinevirtual

Member Function Documentation

template<class T >
void CEWallInteractionGroup< 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
Warning
Forces not perpendicular to the wall make no sense here, but this is not checked!

Reimplemented from AWallInteractionGroup< T >.

References esys::lsm::bpu::iter(), Vec3::unit(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

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

Reimplemented from AWallInteractionGroup< T >.

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

Implements AWallInteractionGroup< T >.

References console, and BasicCon::XDebug().

Here is the call graph for this function:

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

Null op, time step size not required.

Reimplemented from AWallInteractionGroup< T >.

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

Null op, time step size not required.

Reimplemented from AWallInteractionGroup< T >.

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

Friends And Related Function Documentation

template<class T>
ostream& operator<< ( ostream &  ost,
const CEWallInteractionGroup< T > &  IG 
)
friend
template<class T>
ostream& operator<< ( ostream &  ost,
const CEWallInteractionGroup< T > &  IG 
)
friend

Member Data Documentation

template<class T>
double CEWallInteractionGroup< T >::k_local
protected
template<class T>
vector< CElasticWallInteraction< T > > CEWallInteractionGroup< T >::m_interactions
protected
template<class T>
double CEWallInteractionGroup< T >::m_k
protected
template<class T>
double CEWallInteractionGroup< T >::m_k_global
protected

total wall stiffness


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