ESyS-Particle  2.3.2
ASphereBodyInteractionGroup< T > Class Template Referenceabstract

Abstract Base class for a group of interactions between particles and a sphere body. More...

#include <SphereBodyIG.h>

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

Public Member Functions

 ASphereBodyInteractionGroup (TML_Comm *comm)
 
virtual ~ASphereBodyInteractionGroup ()
 
virtual void setTimeStepSize (double dt)
 
virtual void calcForces ()=0
 
virtual void applyForce (const Vec3 &)
 
virtual void setVelocity (const Vec3 &)
 
double getDisplacement ()
 
void resetDisplacement ()
 
void moveSphereBodyBy (const Vec3 &mv)
 
void zeroForce ()
 
- Public Member Functions inherited from AInteractionGroup< T >
virtual ~AInteractionGroup ()
 
virtual void Update (ParallelParticleArray< T > *)=0
 

Protected Attributes

CSphereBodym_sphere
 the sphere body More...
 
TML_Commm_comm
 MPI communicator. More...
 
int m_inner_count
 

Detailed Description

template<class T>
class ASphereBodyInteractionGroup< T >

Abstract Base class for a group of interactions between particles and a sphere body.

Constructor & Destructor Documentation

template<class T>
ASphereBodyInteractionGroup< T >::ASphereBodyInteractionGroup ( TML_Comm comm)
inline
template<class T>
virtual ASphereBodyInteractionGroup< T >::~ASphereBodyInteractionGroup ( )
inlinevirtual

Member Function Documentation

template<class T>
virtual void ASphereBodyInteractionGroup< T >::applyForce ( const Vec3 )
inlinevirtual
template<class T>
virtual void ASphereBodyInteractionGroup< T >::calcForces ( )
pure virtual
template<class T>
double ASphereBodyInteractionGroup< T >::getDisplacement ( )
inline

References CSphereBody::getDisplacement().

Here is the call graph for this function:

template<class T>
void ASphereBodyInteractionGroup< T >::moveSphereBodyBy ( const Vec3 mv)
inline

References CSphereBody::moveBy().

Here is the call graph for this function:

template<class T>
void ASphereBodyInteractionGroup< T >::resetDisplacement ( )
inline

References CSphereBody::resetDisplacement().

Here is the call graph for this function:

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

Null op, current sphere body interactions don't require time step size.

Implements AInteractionGroup< T >.

Reimplemented in CESphereBodyInteractionGroup< T >.

template<class T>
virtual void ASphereBodyInteractionGroup< T >::setVelocity ( const Vec3 )
inlinevirtual
template<class T>
void ASphereBodyInteractionGroup< T >::zeroForce ( )
inline

References CSphereBody::zeroForce().

Here is the call graph for this function:

Member Data Documentation

template<class T>
TML_Comm* ASphereBodyInteractionGroup< T >::m_comm
protected

MPI communicator.

template<class T>
int ASphereBodyInteractionGroup< T >::m_inner_count
protected
template<class T>
CSphereBody* ASphereBodyInteractionGroup< T >::m_sphere
protected

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