ESyS-Particle  2.3.4
SphereBodyInteraction.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __SPHEREINTERACTION_H
14 #define __SPHEREINTERACTION_H
15 
16 #include "SphereBody.h"
17 #include "Interaction.h"
18 #include "Particle.h"
19 
28 template <class T>
30 {
31  protected:
32  T *m_p;
39 
40  public:
41  ASphereBodyInteraction(T*,CSphereBody*,bool iflag=true);
43 
44  virtual bool hasTag(int,int) const;
45  virtual Vec3 getPosFirst() const {return m_p->getPos();};
46 
47  inline bool isInner(){return m_inner_flag;};
48  virtual void calcForces()=0;
49  virtual double getStiffness(){return 0.0;};
50 };
51 
53 
54 #endif // __SPHEREINTERACTION_H
SphereBodyInteraction.hpp
ASphereBodyInteraction::getStiffness
virtual double getStiffness()
Definition: SphereBodyInteraction.h:49
ASphereBodyInteraction::m_sphere
CSphereBody * m_sphere
Definition: SphereBodyInteraction.h:33
AInteraction
Abstract base class for interactions.
Definition: Interaction.h:37
Interaction.h
ASphereBodyInteraction::ASphereBodyInteraction
ASphereBodyInteraction(T *, CSphereBody *, bool iflag=true)
Definition: SphereBodyInteraction.hpp:17
CSphereBody
base class for spherical non-inertial bodies (similar to simple walls)
Definition: SphereBody.h:40
ASphereBodyInteraction
Abstract base for all interactions between a particle and a sphere body.
Definition: SphereBodyInteraction.h:30
ASphereBodyInteraction::isInner
bool isInner()
Definition: SphereBodyInteraction.h:47
Vec3
Definition: vec3.h:47
ASphereBodyInteraction::getPosFirst
virtual Vec3 getPosFirst() const
Definition: SphereBodyInteraction.h:45
ASphereBodyInteraction::m_p
T * m_p
Definition: SphereBodyInteraction.h:32
ASphereBodyInteraction::~ASphereBodyInteraction
virtual ~ASphereBodyInteraction()
Definition: SphereBodyInteraction.h:42
ASphereBodyInteraction::m_inner_flag
bool m_inner_flag
Definition: SphereBodyInteraction.h:38
ASphereBodyInteraction::calcForces
virtual void calcForces()=0
SphereBody.h
Particle.h
ASphereBodyInteraction::hasTag
virtual bool hasTag(int, int) const
Definition: SphereBodyInteraction.hpp:32