ESyS-Particle  2.3.4
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

◆ CEWallInteractionGroup() [1/4]

template<class T >
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm comm)

◆ CEWallInteractionGroup() [2/4]

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 Console::XDebug().

Here is the call graph for this function:

◆ ~CEWallInteractionGroup() [1/2]

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

◆ CEWallInteractionGroup() [3/4]

template<class T>
CEWallInteractionGroup< T >::CEWallInteractionGroup ( TML_Comm )

◆ CEWallInteractionGroup() [4/4]

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

◆ ~CEWallInteractionGroup() [2/2]

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

Member Function Documentation

◆ applyForce() [1/2]

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:

◆ applyForce() [2/2]

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

Reimplemented from AWallInteractionGroup< T >.

◆ calcForces() [1/2]

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

Implements AWallInteractionGroup< T >.

References console, and Console::XDebug().

Here is the call graph for this function:

◆ calcForces() [2/2]

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

◆ setTimeStepSize() [1/2]

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

Null op, time step size not required.

Reimplemented from AWallInteractionGroup< T >.

◆ setTimeStepSize() [2/2]

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

Null op, time step size not required.

Reimplemented from AWallInteractionGroup< T >.

◆ Update() [1/2]

◆ Update() [2/2]

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

Friends And Related Function Documentation

◆ operator<< [1/2]

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

◆ operator<< [2/2]

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

Member Data Documentation

◆ k_local

template<class T>
double CEWallInteractionGroup< T >::k_local
protected

◆ m_interactions

template<class T>
vector< CElasticWallInteraction< T > > CEWallInteractionGroup< T >::m_interactions
protected

◆ m_k

template<class T>
double CEWallInteractionGroup< T >::m_k
protected

◆ m_k_global

template<class T>
double CEWallInteractionGroup< T >::m_k_global
protected

total wall stiffness


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