13 #ifndef __ROTBONDEDINTERACTION_H
14 #define __ROTBONDEDINTERACTION_H
17 #include "Model/RotPairInteraction.h"
18 #include "Model/RotParticle.h"
19 #include "Model/BondedInteractionCpData.h"
20 #include "Model/IGParam.h"
21 #include "Foundation/vec3.h"
35 double calc_angle(
double ,
double ) ;
42 const std::string &name,
56 const std::string &name,
64 virtual std::string getTypeString()
const
70 double max_nForce, max_shForce,max_tMoment, max_bMoment;
107 double m_max_shForce ;
108 double m_max_tMoment ;
109 double m_max_bMoment ;
134 static string getType(){
return "RotBonded";};
137 void setTag(
int tag);
143 double getPotentialEnergy()
const;
144 double getNormalPotentialEnergy()
const;
145 double getShearPotentialEnergy()
const;
146 double getTwistPotentialEnergy()
const;
147 double getBendPotentialEnergy()
const;
148 double getCriterion()
const;
149 Vec3 getForce()
const;
150 virtual Vec3 getPos()
const {
return m_cpos;};
152 Vec3 getCentrePtDiff()
const;
153 Vec3 getInitialCentrePtDiff()
const;
154 Vec3 getInitialMidPoint()
const;
156 Vec3 getP2ShearForcePt()
const;
157 Vec3 getP1ShearForcePt()
const;
158 Vec3 getContactPoint()
const;
160 Vec3 getShearDiff()
const;
165 virtual void saveCheckPointData(std::ostream &oStream);
167 virtual void loadCheckPointData(std::istream &iStream);
174 #endif //__BONDEDINTERACTION_H