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 > *)
 

Protected Attributes

vector< CElasticWallInteraction< T > > m_interactions
 
double m_k
 Elastic modulus. More...
 
double m_k_global
 total wall stiffness More...
 
double k_local
 

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, 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!

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

◆ calcForces() [1/2]

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

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.

◆ setTimeStepSize() [2/2]

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

Null op, time step size not required.

◆ Update() [1/2]

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

◆ 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: