ESyS-Particle
4.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
Model
RotThermElasticInteractionGroup.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 __ROTTHERMELASTICINTERACTIONGROUP_H
14
#define __ROTTHERMELASTICINTERACTIONGROUP_H
15
16
#include "Foundation/console.h"
17
#include "InteractionGroup.h"
18
#include "RotThermElasticInteraction.h"
19
#include "IGParam.h"
20
21
//--- IO includes ---
22
#include <iostream>
23
using
std::ostream;
24
using
std::endl;
25
26
30
template
<
class
T>
31
class
CRotThermElasticInteractionGroup
:
public
APairInteractionGroup
<T>
32
{
33
protected
:
34
vector<CRotThermElasticInteraction> m_interactions;
35
AParallelInteractionStorage
* m_exIG;
//<! if an interaction is in m_exIG, it can't be in m_interactions
36
double
m_k;
//<! spring constant
37
double
m_diffusivity ;
38
39
public
:
40
CRotThermElasticInteractionGroup
();
41
CRotThermElasticInteractionGroup
(
const
CRotThermElasticIGP
*);
42
virtual
~
CRotThermElasticInteractionGroup
(){};
43
44
virtual
void
setExIG(
AParallelInteractionStorage
* eg){m_exIG=eg;};
45
void
setParam(
const
CRotThermElasticIGP
*);
46
47
virtual
void
calcForces();
48
virtual
void
Update
(
ParallelParticleArray<T>
*);
49
friend
ostream& operator<< <>(ostream&,
const
CRotThermElasticInteractionGroup<T>
&);
50
};
51
52
#include "RotThermElasticInteractionGroup.hpp"
53
54
#endif //__ELASTICINTERACTIONGROUP_H
Generated on Mon Jun 4 2012 22:48:33 for ESyS-Particle by
1.8.1