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

Comparing branches/new_design/OOPSE-4/src/types/QuadraticBendType.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 QuadraticBendType : public BendType {
44  
45      public:
46          
47 <        QuadraticBendType(double theta, double k2, double k3, double k4)
48 <            : BendType(theta), k2_(k2), k3_(k3) {
47 >        QuadraticBendType(double r0, double k4, double k3, double k2, double k1, double k0)
48 >            : BendType(r0), k4_(k4), k3_(k3), k2_(k2),  k1_(k1), k0_(k0){
49          }
50  
51 <        void setForceConstant(double k2, double k3, double k4) {
52 <            k2_ = k2;
53 <            k3_ = k3;
51 >        void setForceConstant(double k4, double k3, double k2, double k1, double k0) {
52              k4_ = k4;
53 +            k3_ = k3;
54 +            k2_ = k2;
55 +            k1_ = k1;
56 +            k0_ = k0;
57 +
58          }
59  
60 <        void getForceConstant(double& k2, double& k3, double& k4) {
58 <            k2  = k2_;
59 <            k3 = k3_;
60 >        void getForceConstant(double& k4, double& k3, double& k2, double& k1, double& k0) {
61              k4 = k4_;
62 +            k3 = k3_;
63 +            k2  = k2_;
64 +            k1 = k1_;
65 +            k0 = k0_
66          }
67  
68          virtual void calcForce(double theta, double& V, double& dVdTheta) {
# Line 66 | Line 71 | class QuadraticBendType : public BendType {
71              double delta3 = delta2 * delta;
72              double delta4 = delta3 * delta;
73              
74 <            V = 0.5 * (k2_*delta2 + k3_*delta3 + k4_*delta4);
75 <            dVdTheta = k2_ * delta + 1.5 * k3_*delta2 + 2.0 * k4_ *delta3;
76 <        }
74 >            V =k0_ + k1_ * delta + k2_*delta2 + k3_*delta3 + k4_*delta4;
75 >            dVdTheta = k1_ + 2.0*k2_ * delta + 3.0 * k3_*delta2 + 4.0*k4_*delta3;            
76 >        }    
77          
78      private:
79  
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