ESyS-Particle  2.3.4
ShortBondedInteraction.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 __SHORTBONDEDINTERACTION_H
14 #define __SHORTBONDEDINTERACTION_H
15 
16 // -- project includes --
17 #include "Model/IGParam.h" // keep this one first - it drags in mpi.h
18 #include "Model/Interaction.h"
19 #include "Model/Particle.h"
20 #include "Model/BondedInteraction.h"
22 #include "Foundation/vec3.h"
23 
24 
34 {
35  public: // types
41 
42  typedef double (CShortBondedInteraction::* ScalarFieldFunction)() const;
43  typedef pair<bool,double> (CShortBondedInteraction::* CheckedScalarFieldFunction)() const;
45 
46  private:
47 
48  public:
51 
52  virtual ~CShortBondedInteraction();
53 
54  static ScalarFieldFunction getScalarFieldFunction(const string&);
56  static VectorFieldFunction getVectorFieldFunction(const string&);
57 
58  static string getType() {return "ShortBonded";};
59  double getEquiDist() const {return m_r0;};
60 
61  void saveCheckPointData(std::ostream &oStream);
62  void loadCheckPointData(std::istream &iStream);
63 
64  friend ostream& operator<<(ostream&,const CBondedInteraction&);
66 };
67 
68 
69 #endif // __SHORTBONDEDINTERACTION_H
CBondedInteraction::m_dist
double m_dist
current distance, cached from last calcForces()
Definition: BondedInteraction.h:80
CBondedInteraction::m_break
double m_break
breaking distance
Definition: BondedInteraction.h:81
CBondedInteraction::getTag
int getTag() const
Definition: BondedInteraction.h:109
CShortBondedInteraction::operator<<
friend ostream & operator<<(ostream &, const CBondedInteraction &)
Definition: BondedInteraction.cpp:314
TML_PackedMessageInterface
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:29
ShortBondedInteractionCpData
Definition: ShortBondedInteractionCpData.h:31
CShortBondedInteraction::ParameterType
CBondedIGP ParameterType
Definition: ShortBondedInteraction.h:36
CBondedInteraction
Elastic interaction between bonded particles.
Definition: BondedInteraction.h:65
CBondedInteraction::m_tag
int m_tag
Interaction tag;.
Definition: BondedInteraction.h:84
AInteraction::Count
double Count() const
Definition: Interaction.h:56
CShortBondedInteraction::getVectorFieldFunction
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:76
CBondedInteraction::getForce
Vec3 getForce() const
Definition: BondedInteraction.cpp:168
CBondedInteraction::setTag
void setTag(int tag)
Definition: BondedInteraction.h:110
console.h
CShortBondedInteraction::saveCheckPointData
void saveCheckPointData(std::ostream &oStream)
Definition: ShortBondedInteraction.cpp:90
BondedInteraction.h
CShortBondedInteraction::CShortBondedInteraction
CShortBondedInteraction()
Definition: ShortBondedInteraction.cpp:22
CShortBondedInteraction::getScalarFieldFunction
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:47
CBondedInteraction::m_k
double m_k
spring constant
Definition: BondedInteraction.h:78
CBondedInteraction::getPotentialEnergy
double getPotentialEnergy() const
Definition: BondedInteraction.cpp:147
TML_PackedMessageInterface::pop_int
virtual int pop_int()=0
Interaction.h
CShortBondedInteraction::getCheckedScalarFieldFunction
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:66
CBondedInteraction::m_force
Vec3 m_force
current force, cached for E_pot calculation
Definition: BondedInteraction.h:82
TML_PackedMessageInterface::pop_double
virtual double pop_double()=0
CShortBondedInteraction::CheckPointable
ShortBondedInteractionCpData CheckPointable
Definition: ShortBondedInteraction.h:40
CShortBondedInteraction::loadCheckPointData
void loadCheckPointData(std::istream &iStream)
Definition: ShortBondedInteraction.cpp:95
ShortBondedInteraction.h
CBondedInteraction::m_r0
double m_r0
equilibrium distance
Definition: BondedInteraction.h:79
CShortBondedInteraction::getEquiDist
double getEquiDist() const
Definition: ShortBondedInteraction.h:59
NULL
#define NULL
Definition: t_list.h:17
packed_message_interface.h
ShortBondedInteractionCpData::saveCheckPointData
virtual void saveCheckPointData(ostream &)
Definition: ShortBondedInteractionCpData.cpp:61
TML_PackedMessageInterface::append
virtual void append(int)=0
CBondedInteraction::getStrain
double getStrain() const
Definition: BondedInteraction.cpp:158
CShortBondedInteraction::getType
static string getType()
Definition: ShortBondedInteraction.h:58
Vec3
Definition: vec3.h:47
CShortBondedInteraction::~CShortBondedInteraction
virtual ~CShortBondedInteraction()
Definition: ShortBondedInteraction.cpp:44
vec3.h
ShortBondedInteractionCpData.h
CBondedIGP::tag
int tag
Definition: BondedInteraction.h:53
CBondedIGP::k
double k
Spring constant.
Definition: BondedInteraction.h:51
CShortBondedInteraction::CheckedScalarFieldFunction
pair< bool, double >(CShortBondedInteraction::* CheckedScalarFieldFunction)() const
Definition: ShortBondedInteraction.h:43
CBondedIGP::rbreak
double rbreak
Breaking strain.
Definition: BondedInteraction.h:52
CShortBondedInteraction
class for a "short" bonded interaction
Definition: ShortBondedInteraction.h:34
CBasicParticle::getPos
Vec3 getPos() const
Definition: BasicParticle.h:62
AInteraction::m_id
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39
CBondedIGP
Interaction parameters for bonded interaction.
Definition: BondedInteraction.h:40
CParticle
Class for a basic particle.
Definition: Particle.h:51
CShortBondedInteraction::VectorFieldFunction
Vec3(CShortBondedInteraction::* VectorFieldFunction)() const
Definition: ShortBondedInteraction.h:44
IGParam.h
CShortBondedInteraction::ScalarFieldFunction
double(CShortBondedInteraction::* ScalarFieldFunction)() const
Definition: ShortBondedInteraction.h:42
operator<<
ostream & operator<<(ostream &ost, const CShortBondedInteraction &BI)
Definition: ShortBondedInteraction.cpp:100
Particle.h