ESyS-Particle
4.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
Model
RotThermPairInteraction.h
1
2
// //
3
// Copyright (c) 2003-2011 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
6
// //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.opensource.org/licenses/osl-3.0.php //
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
23
class
ARotThermPairInteraction
:
public
AInteraction
24
{
25
protected
:
26
CRotThermParticle
*m_p1,*m_p2;
27
28
public
:
29
// functions
30
ARotThermPairInteraction
();
31
ARotThermPairInteraction
(
CRotThermParticle
*,
CRotThermParticle
*);
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();}
47
void
setPP(
CRotThermParticle
*,
CRotThermParticle
*);
48
void
setPP(
const
vector<CRotThermParticle*>);
49
50
esys::lsm::quintuple<Vec3,double,Vec3,double,Vec3>
getRaw2Data()
const
51
{
52
return
53
esys::lsm::quintuple<Vec3,double,Vec3,double,Vec3>
(
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
Generated on Wed Jun 6 2012 00:05:00 for ESyS-Particle by
1.8.1