ESyS-Particle  2.3.4
WallInteraction.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 __WALLINTERACTION_H
14 #define __WALLINTERACTION_H
15 
16 #include "Wall.h"
17 #include "Interaction.h"
18 #include "Particle.h"
19 
28 template <class T>
30 {
31 protected:
32  T *m_p;
38  bool m_inner_flag;
39 
40 public:
41 
42  AWallInteraction(T*,CWall*,bool iflag=true);
43 
44  virtual ~AWallInteraction(){};
45 
46  virtual bool hasTag(int,int) const;
47  virtual Vec3 getPosFirst() const {return m_p->getPos();};
48 
49  inline bool isInner(){return m_inner_flag;};
50  virtual void calcForces()=0;
51  virtual double getStiffness(){return 0.0;};
52 };
53 
54 #include "WallInteraction.hpp"
55 
56 #endif //__WALLINTERACTION_H
CWall
base class for all walls
Definition: Wall.h:40
AWallInteraction::calcForces
virtual void calcForces()=0
AWallInteraction::hasTag
virtual bool hasTag(int, int) const
Definition: WallInteraction.hpp:32
AWallInteraction::m_inner_flag
bool m_inner_flag
Definition: WallInteraction.h:38
AInteraction
Abstract base class for interactions.
Definition: Interaction.h:37
Interaction.h
AWallInteraction::getStiffness
virtual double getStiffness()
Definition: WallInteraction.h:51
AWallInteraction
Abstract base for all interactions between a particle and a wall.
Definition: WallInteraction.h:30
AWallInteraction::getPosFirst
virtual Vec3 getPosFirst() const
Definition: WallInteraction.h:47
Wall.h
AWallInteraction::AWallInteraction
AWallInteraction(T *, CWall *, bool iflag=true)
Definition: WallInteraction.hpp:17
AWallInteraction::m_wall
CWall * m_wall
Definition: WallInteraction.h:33
AWallInteraction::~AWallInteraction
virtual ~AWallInteraction()
Definition: WallInteraction.h:44
WallInteraction.h
Vec3
Definition: vec3.h:47
WallInteraction.hpp
AWallInteraction::m_p
T * m_p
Definition: WallInteraction.h:32
AWallInteraction::isInner
bool isInner()
Definition: WallInteraction.h:49
Particle.h