ESyS-Particle  2.3.4
CESphereBodyInteractionGroup< T > Class Template Reference

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

#include <ESphereBodyInteractionGroup.h>

Collaboration diagram for CESphereBodyInteractionGroup< T >:

Public Member Functions

 CESphereBodyInteractionGroup (TML_Comm *)
 
 CESphereBodyInteractionGroup (TML_Comm *, CSphereBody *, const CESphereBodyIGP *)
 
virtual ~CESphereBodyInteractionGroup ()
 
virtual void setTimeStepSize (double dt)
 
virtual void calcForces ()
 
virtual void applyForce (const Vec3 &)
 
virtual void Update (ParallelParticleArray< T > *)
 

Protected Attributes

vector< CElasticSphereBodyInteraction< T > > m_interactions
 
double m_k
 Elastic modulus. More...
 
double m_k_global
 total sphere body stiffness More...
 
double k_local
 

Friends

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

Detailed Description

template<class T>
class CESphereBodyInteractionGroup< T >

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

Constructor & Destructor Documentation

◆ CESphereBodyInteractionGroup() [1/2]

◆ CESphereBodyInteractionGroup() [2/2]

template<class T >
CESphereBodyInteractionGroup< T >::CESphereBodyInteractionGroup ( TML_Comm comm,
CSphereBody spherep,
const CESphereBodyIGP I 
)

Constructor for elastic sphere body interaction group

Parameters
commthe communicator
spherepa pointer to the sphere body
paramthe interaction parameters

References console, CElasticIGP::getSpringConst(), CESphereBodyInteractionGroup< T >::m_k, and Console::XDebug().

Here is the call graph for this function:

◆ ~CESphereBodyInteractionGroup()

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

Member Function Documentation

◆ applyForce()

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

Apply a given force to the sphere body. 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::norm(), Vec3::unit(), Console::Warning(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ calcForces()

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

References console, and Console::XDebug().

Here is the call graph for this function:

◆ setTimeStepSize()

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

Null op, time step size not required.

◆ Update()

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

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ k_local

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

◆ m_interactions

template<class T >
vector<CElasticSphereBodyInteraction<T> > CESphereBodyInteractionGroup< T >::m_interactions
protected

◆ m_k

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

◆ m_k_global

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

total sphere body stiffness


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