ESyS-Particle  2.3
ShortBondedInteraction.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 __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
double m_r0
equilibrium distance
Definition: BondedInteraction.h:79
friend ostream & operator<<(ostream &, const CBondedInteraction &)
Definition: BondedInteraction.cpp:314
Definition: vec3.h:46
Interaction parameters for bonded interaction.
Definition: BondedInteraction.h:39
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:76
void saveCheckPointData(std::ostream &oStream)
Definition: ShortBondedInteraction.cpp:90
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:47
CBondedIGP ParameterType
Definition: ShortBondedInteraction.h:36
void loadCheckPointData(std::istream &iStream)
Definition: ShortBondedInteraction.cpp:95
pair< bool, double >(CShortBondedInteraction::* CheckedScalarFieldFunction)() const
Definition: ShortBondedInteraction.h:43
ShortBondedInteractionCpData CheckPointable
Definition: ShortBondedInteraction.h:40
Elastic interaction between bonded particles.
Definition: BondedInteraction.h:64
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: ShortBondedInteraction.cpp:66
CShortBondedInteraction()
Definition: ShortBondedInteraction.cpp:22
Vec3(CShortBondedInteraction::* VectorFieldFunction)() const
Definition: ShortBondedInteraction.h:44
Definition: ShortBondedInteractionCpData.h:30
class for a "short" bonded interaction
Definition: ShortBondedInteraction.h:33
static string getType()
Definition: ShortBondedInteraction.h:58
virtual ~CShortBondedInteraction()
Definition: ShortBondedInteraction.cpp:44
double getEquiDist() const
Definition: ShortBondedInteraction.h:59
Class for a basic particle.
Definition: Particle.h:50
double(CShortBondedInteraction::* ScalarFieldFunction)() const
Definition: ShortBondedInteraction.h:42
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:28