ESyS-Particle  2.3.4
RotThermPairInteraction.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 __ROTTHERMPAIRINTERCTION_H
14 #define __ROTTHERMPAIRINTERCTION_H
15 
16 // -- project includes --
17 #include "Model/RotThermParticle.h"
18 #include "Model/Interaction.h"
19 
24 {
25  protected:
27 
28  public:
29  // functions
32  virtual ~ARotThermPairInteraction();
33 
34  inline const CRotThermParticle* first()const {return m_p1;};
35  inline const CRotThermParticle* second()const {return m_p2;};
36  inline CRotThermParticle* first() {return m_p1;};
37  inline CRotThermParticle* second() {return m_p2;};
38  inline pair<int,int> getPairID() const {return make_pair(m_p1->getID(),m_p2->getID());}
39  virtual Vec3 getPos() const = 0;
40  virtual void calcForces()=0 ;
41  virtual void calcHeatFrict(){} ;
42  virtual void calcHeatTrans(){} ;
43  void checkIDs();
44  virtual bool hasTag(int,int) const;
45  virtual Vec3 getPosFirst() const {return m_p1->getPos();}
46  virtual Vec3 getPosSecond() const {return m_p2->getPos();}
48  void setPP(const vector<CRotThermParticle*>);
49 
51  {
52  return
54  m_p1->getPos(),
55  m_p1->getRad(),
56  m_p2->getPos(),
57  m_p2->getRad(),
58  getPos()
59  );
60  }
61 
62 };
63 
64 #endif // __ROTTHERMPAIRINTERCTION_H
ARotThermPairInteraction::second
const CRotThermParticle * second() const
Definition: RotThermPairInteraction.h:35
ARotThermPairInteraction::getRaw2Data
esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3 > getRaw2Data() const
Definition: RotThermPairInteraction.h:50
ARotThermPairInteraction::calcHeatFrict
virtual void calcHeatFrict()
Definition: RotThermPairInteraction.h:41
ARotThermPairInteraction::second
CRotThermParticle * second()
Definition: RotThermPairInteraction.h:37
ARotThermPairInteraction::setPP
void setPP(CRotThermParticle *, CRotThermParticle *)
Definition: RotThermPairInteraction.cpp:34
ARotThermPairInteraction::calcForces
virtual void calcForces()=0
AInteraction
Abstract base class for interactions.
Definition: Interaction.h:37
ARotThermPairInteraction::~ARotThermPairInteraction
virtual ~ARotThermPairInteraction()
Definition: RotThermPairInteraction.cpp:16
ARotThermPairInteraction::ARotThermPairInteraction
ARotThermPairInteraction()
Definition: RotThermPairInteraction.cpp:20
AInteraction::m_init
bool m_init
Definition: Interaction.h:41
ARotThermPairInteraction::checkIDs
void checkIDs()
Definition: RotThermPairInteraction.cpp:48
Interaction.h
ARotThermPairInteraction::first
CRotThermParticle * first()
Definition: RotThermPairInteraction.h:36
RotThermParticle.h
ARotThermPairInteraction::calcHeatTrans
virtual void calcHeatTrans()
Definition: RotThermPairInteraction.h:42
ARotThermPairInteraction
Definition: RotThermPairInteraction.h:24
CBasicParticle::getTag
int getTag() const
Definition: BasicParticle.h:74
NULL
#define NULL
Definition: t_list.h:17
ARotThermPairInteraction::hasTag
virtual bool hasTag(int, int) const
Definition: RotThermPairInteraction.cpp:64
ARotThermPairInteraction::getPosSecond
virtual Vec3 getPosSecond() const
Definition: RotThermPairInteraction.h:46
CRotThermParticle
Definition: RotThermParticle.h:55
ARotThermPairInteraction::getPairID
pair< int, int > getPairID() const
Definition: RotThermPairInteraction.h:38
ARotThermPairInteraction::m_p1
CRotThermParticle * m_p1
Definition: RotThermPairInteraction.h:26
Vec3
Definition: vec3.h:47
ARotThermPairInteraction::m_p2
CRotThermParticle * m_p2
Definition: RotThermPairInteraction.h:26
ARotThermPairInteraction::first
const CRotThermParticle * first() const
Definition: RotThermPairInteraction.h:34
ARotThermPairInteraction::getPos
virtual Vec3 getPos() const =0
ARotThermPairInteraction::getPosFirst
virtual Vec3 getPosFirst() const
Definition: RotThermPairInteraction.h:45
CBasicParticle::getID
int getID() const
Definition: BasicParticle.h:65
CBasicParticle::getRad
double getRad() const
Definition: BasicParticle.h:64
CBasicParticle::getPos
Vec3 getPos() const
Definition: BasicParticle.h:62
esys::lsm::quintuple
Definition: quintuple.h:25
RotThermPairInteraction.h
AInteraction::m_id
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39