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

Comparing branches/new_design/OOPSE-4/src/types/QuadraticBondType.hpp (file contents):
Revision 1755 by tim, Thu Nov 18 04:04:19 2004 UTC vs.
Revision 1756 by tim, Thu Nov 18 23:26:27 2004 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines