ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-2.0/src/types/CubicBondType.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-2.0/src/types/CubicBondType.hpp (file contents):
Revision 1755 by tim, Wed Nov 17 21:47:42 2004 UTC vs.
Revision 1756 by tim, Thu Nov 18 23:26:27 2004 UTC

# Line 44 | Line 44 | class CubicBondType : public BondType {
44  
45      public:
46  
47 <        CubicBondType(double r0, double k2, double k3) : BondType(r0), k2_(k2), k3_(k3) {
47 >        CubicBondType(double r0, double k3, double k2, double k1, double k0)
48 >            : BondType(r0), k3_(k3), k2_(k2),  k1_(k1), k0_(k0){
49          }
50  
51 <        void setForceConstant(double k2, double k3) {
51 <            k2_ = k2;
51 >        void setForceConstant(double k3, double k2, double k1, double k0) {
52              k3_ = k3;
53 +            k2_ = k2;
54 +            k1_ = k1;
55 +            k0_ = k0;
56 +
57          }
58  
59 <        void getForceConstant(double& k2, double& k3) {
56 <            k2  = k2_;
59 >        void getForceConstant(double& k3, double& k2, double& k1, double& k0) {
60              k3 = k3_;
61 +            k2  = k2_;
62 +            k1 = k1_;
63 +            k0 = k0_
64          }
65  
66          virtual void calcForce(double r, double& V, double& dVdr) {
67              double dr =  r- r0;
68              double dr2 = dr * dr;
69              double dr3 = dr2 * dr;
70 <
71 <            V = 0.5 * (k2_*dr2 + k3_*dr3);
72 <            dVdr = k2_ * dr + 1.5 * k3_*dr2;
70 >            
71 >            V =k0_ + k1_ * dr + k2_*dr2 + k3_*dr3;
72 >            dVdr = k1_ + 2.0*k2_ * dr + 3.0 * k3_*dr2;            
73          }
74          
75      private:
76  
71        double k2_;
77          double k3_;
78 +        double k2_;
79 +        double k1_;
80 +        double k0_;
81  
82   };
83  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines