ESyS-Particle  2.3
CBWallInteractionGroup< T > Class Template Reference

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

#include <BWallInteractionGroup.h>

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

Public Member Functions

 CBWallInteractionGroup (TML_Comm *)
 
 CBWallInteractionGroup (TML_Comm *, CWall *, const CBWallIGP *)
 
virtual ~CBWallInteractionGroup ()
 
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 setTimeStepSize (double dt)
 
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< CBondedWallInteraction
< T > > 
m_bonded_interactions
 bonded interactions for tagged particles More...
 
vector
< CElasticWallInteraction< T > > 
m_elastic_interactions
 elastic interactions for the rest More...
 
double m_k
 spring constant More...
 
int m_tag
 
int m_mask
 
- 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 CBWallInteractionGroup &)
 

Detailed Description

template<class T>
class CBWallInteractionGroup< T >

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

Author
Steffen Abe $Revision$. $Date$

Constructor & Destructor Documentation

template<class T >
CBWallInteractionGroup< T >::CBWallInteractionGroup ( TML_Comm comm)
template<class T >
CBWallInteractionGroup< T >::CBWallInteractionGroup ( TML_Comm comm,
CWall wallp,
const CBWallIGP I 
)

Constructor for bonded wall interaction group

Parameters
commthe communicator
wallpa pointer to the wall
paramthe interaction parameters

References console, CBWallIGP::getMask(), CElasticIGP::getSpringConst(), CBWallIGP::getTag(), AWallInteractionGroup< T >::m_inner_count, CBWallInteractionGroup< T >::m_k, CBWallInteractionGroup< T >::m_mask, CBWallInteractionGroup< T >::m_tag, AWallInteractionGroup< T >::m_wall, and BasicCon::XDebug().

Here is the call graph for this function:

template<class T>
virtual CBWallInteractionGroup< T >::~CBWallInteractionGroup ( )
inlinevirtual

Member Function Documentation

template<class T >
void CBWallInteractionGroup< 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 >.

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

Here is the call graph for this function:

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

Implements AWallInteractionGroup< T >.

References console, and BasicCon::XDebug().

Here is the call graph for this function:

template<class T >
void CBWallInteractionGroup< 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 console, ParallelParticleArray< T >::getParticlesAtPlane(), ParallelParticleArray< T >::isInInner(), esys::lsm::bpu::iter(), and BasicCon::XDebug().

Here is the call graph for this function:

Friends And Related Function Documentation

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

Member Data Documentation

template<class T>
vector<CBondedWallInteraction<T> > CBWallInteractionGroup< T >::m_bonded_interactions
protected

bonded interactions for tagged particles

template<class T>
vector<CElasticWallInteraction<T> > CBWallInteractionGroup< T >::m_elastic_interactions
protected

elastic interactions for the rest

template<class T>
double CBWallInteractionGroup< T >::m_k
protected
template<class T>
int CBWallInteractionGroup< T >::m_mask
protected
template<class T>
int CBWallInteractionGroup< T >::m_tag
protected

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