ESyS-Particle  2.3.4
CSoftBWallInteractionGroup< T > Class Template Reference

Class for a group of bonded, elastic interactions with per-direction spring constants between particles and a wall. More...

#include <SoftBWallInteractionGroup.h>

Collaboration diagram for CSoftBWallInteractionGroup< T >:

Public Member Functions

 CSoftBWallInteractionGroup (TML_Comm *)
 
 CSoftBWallInteractionGroup (TML_Comm *, CWall *, const CSoftBWallIGP *)
 
virtual ~CSoftBWallInteractionGroup ()
 
virtual void setTimeStepSize (double dt)
 
virtual void calcForces ()
 
virtual void applyForce (const Vec3 &)
 
virtual void Update (ParallelParticleArray< T > *)
 

Protected Attributes

vector< CSoftBondedWallInteraction< T > > m_interactions
 
double m_normalK
 
double m_shearK
 spring constants for each direction More...
 
int m_tag
 
int m_mask
 
bool m_scaling
 

Friends

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

Detailed Description

template<class T>
class CSoftBWallInteractionGroup< T >

Class for a group of bonded, elastic interactions with per-direction spring constants between particles and a wall.

Constructor & Destructor Documentation

◆ CSoftBWallInteractionGroup() [1/2]

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

◆ CSoftBWallInteractionGroup() [2/2]

template<class T >
CSoftBWallInteractionGroup< T >::CSoftBWallInteractionGroup ( TML_Comm comm,
CWall wallp,
const CSoftBWallIGP I 
)

Constructor for bonded wall interaction group with direction dependend elasticity

Parameters
commthe communicator
wallpa pointer to the wall
paramthe interaction parameters

References console, CBWallIGP::getMask(), CSoftBWallIGP::getNormalK(), CSoftBWallIGP::getScaling(), CSoftBWallIGP::getShearK(), CBWallIGP::getTag(), CSoftBWallInteractionGroup< T >::m_mask, CSoftBWallInteractionGroup< T >::m_normalK, CSoftBWallInteractionGroup< T >::m_scaling, CSoftBWallInteractionGroup< T >::m_shearK, CSoftBWallInteractionGroup< T >::m_tag, and Console::XDebug().

Here is the call graph for this function:

◆ ~CSoftBWallInteractionGroup()

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

Member Function Documentation

◆ applyForce()

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

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

Here is the call graph for this function:

◆ calcForces()

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

References console, and Console::XDebug().

Here is the call graph for this function:

◆ setTimeStepSize()

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

Null op, don't require time step size.

◆ Update()

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

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ m_interactions

template<class T >
vector<CSoftBondedWallInteraction<T> > CSoftBWallInteractionGroup< T >::m_interactions
protected

◆ m_mask

template<class T >
int CSoftBWallInteractionGroup< T >::m_mask
protected

◆ m_normalK

template<class T >
double CSoftBWallInteractionGroup< T >::m_normalK
protected

◆ m_scaling

template<class T >
bool CSoftBWallInteractionGroup< T >::m_scaling
protected

◆ m_shearK

template<class T >
double CSoftBWallInteractionGroup< T >::m_shearK
protected

spring constants for each direction

Referenced by CSoftBWallInteractionGroup< T >::CSoftBWallInteractionGroup().

◆ m_tag

template<class T >
int CSoftBWallInteractionGroup< T >::m_tag
protected

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