ESyS-Particle
2.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
ElasticInteractionGroup.h
Go to the documentation of this file.
1
// //
3
// Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
10
// //
12
13
#ifndef __ELASTICINTERACTIONGROUP_H
14
#define __ELASTICINTERACTIONGROUP_H
15
16
#include "
Model/InteractionGroup.h
"
17
#include "
Model/ElasticInteraction.h
"
18
#include "
Model/IGParam.h
"
19
20
//--- IO includes ---
21
#include <iostream>
22
using
std::ostream;
23
using
std::endl;
24
25
29
template
<
class
T>
30
class
CElasticInteractionGroup
:
public
APairInteractionGroup
<T>
31
{
32
protected
:
33
vector<CElasticInteraction>
m_interactions
;
34
AParallelInteractionStorage
*
m_exIG
;
//<! if an interaction is in m_exIG, it can't be in m_interactions
35
double
m_k
;
//<! spring constant
36
37
public
:
38
CElasticInteractionGroup
();
39
CElasticInteractionGroup
(
const
CElasticIGP
*);
40
virtual
~CElasticInteractionGroup
(){};
41
42
virtual
void
setExIG
(
AParallelInteractionStorage
* eg){m_exIG=eg;};
43
void
setParam
(
const
CElasticIGP
*);
44
45
virtual
void
calcForces
();
46
50
virtual
void
setTimeStepSize
(
double
dt)
51
{
52
}
53
54
virtual
void
Update
(
ParallelParticleArray<T>
*);
55
friend
ostream& operator<< <>(ostream&,
const
CElasticInteractionGroup<T>
&);
56
};
57
58
#include "
Model/ElasticInteractionGroup.hpp
"
59
60
#endif //__ELASTICINTERACTIONGROUP_H
CElasticInteractionGroup::CElasticInteractionGroup
CElasticInteractionGroup()
Definition:
ElasticInteractionGroup.hpp:20
CElasticInteractionGroup
Class for a group of unbonded,elastic interactions.
Definition:
ElasticInteractionGroup.h:30
CElasticInteractionGroup::calcForces
virtual void calcForces()
Definition:
ElasticInteractionGroup.hpp:41
CElasticInteractionGroup::~CElasticInteractionGroup
virtual ~CElasticInteractionGroup()
Definition:
ElasticInteractionGroup.h:40
CElasticInteractionGroup::setExIG
virtual void setExIG(AParallelInteractionStorage *eg)
Definition:
ElasticInteractionGroup.h:42
ParallelParticleArray
parrallel particle storage array with neighborsearch and variable exchange
Definition:
SubLattice.h:61
CElasticInteractionGroup::setTimeStepSize
virtual void setTimeStepSize(double dt)
Definition:
ElasticInteractionGroup.h:50
InteractionGroup.h
CElasticInteractionGroup::m_interactions
vector< CElasticInteraction > m_interactions
Definition:
ElasticInteractionGroup.h:33
CElasticInteractionGroup::Update
virtual void Update(ParallelParticleArray< T > *)
Definition:
ElasticInteractionGroup.hpp:55
CElasticIGP
Interaction group parameters for CElasticInteractionGroups.
Definition:
ElasticInteraction.h:24
AParallelInteractionStorage
abstract base class for parallel interaction storage array
Definition:
pi_storage.h:44
CElasticInteractionGroup::setParam
void setParam(const CElasticIGP *)
Definition:
ElasticInteractionGroup.hpp:35
IGParam.h
APairInteractionGroup
Abstract base class for a group of pair interactions.
Definition:
InteractionGroup.h:54
ElasticInteractionGroup.hpp
ElasticInteraction.h
CElasticInteractionGroup::m_exIG
AParallelInteractionStorage * m_exIG
Definition:
ElasticInteractionGroup.h:34
CElasticInteractionGroup::m_k
double m_k
Definition:
ElasticInteractionGroup.h:35
Model
ElasticInteractionGroup.h
Generated on Mon Sep 15 2014 16:24:07 for ESyS-Particle by
1.8.8