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

◆ ASphereBodyInteractionGroup()

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

◆ ~ASphereBodyInteractionGroup()

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

Member Function Documentation

◆ applyForce()

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

◆ calcForces()

template<class T >
virtual void ASphereBodyInteractionGroup< T >::calcForces ( )
pure virtual

◆ getDisplacement()

template<class T >
double ASphereBodyInteractionGroup< T >::getDisplacement ( )
inline

References CSphereBody::getDisplacement(), and ASphereBodyInteractionGroup< T >::m_sphere.

Here is the call graph for this function:

◆ moveSphereBodyBy()

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

References ASphereBodyInteractionGroup< T >::m_sphere, and CSphereBody::moveBy().

Here is the call graph for this function:

◆ resetDisplacement()

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

References ASphereBodyInteractionGroup< T >::m_sphere, and CSphereBody::resetDisplacement().

Here is the call graph for this function:

◆ setTimeStepSize()

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 >.

◆ setVelocity()

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

◆ zeroForce()

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

References ASphereBodyInteractionGroup< T >::m_sphere, and CSphereBody::zeroForce().

Here is the call graph for this function:

Member Data Documentation

◆ m_comm

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

MPI communicator.

◆ m_inner_count

template<class T >
int ASphereBodyInteractionGroup< T >::m_inner_count
protected

◆ m_sphere


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