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

Comparing trunk/OOPSE-4/src/types/CubicBendType.hpp (file contents):
Revision 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC vs.
Revision 3173 by gezelter, Fri Jul 13 18:10:52 2007 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 52 | Line 52 | namespace oopse {
52   #include "types/BendType.hpp"
53  
54   namespace oopse {
55 < /**
56 < * @class CubicBendType
57 < * @todo document
58 < */
59 < class CubicBendType : public BendType {
55 >  /**
56 >   * @class CubicBendType
57 >   * @todo document
58 >   */
59 >  class CubicBendType : public BendType {
60 >    
61 >  public:
62  
63 <    public:
64 <
65 <        CubicBendType(double theta, double k3, double k2, double k1, double k0)
66 <            : BendType(theta),k3_(k3), k2_(k2),  k1_(k1), k0_(k0){
67 <        }
68 <
69 <        void setForceConstant(double k3, double k2, double k1, double k0) {
70 <            k3_ = k3;
71 <            k2_ = k2;
72 <            k1_ = k1;
73 <            k0_ = k0;
74 <        }
75 <
76 <        void getForceConstant(double& k3, double& k2, double& k1, double& k0) {
77 <            k3 = k3_;
78 <            k2  = k2_;
79 <            k1 = k1_;
80 <            k0 = k0_;
81 <        }
82 <
83 <        virtual void calcForce(double theta, double& V, double& dVdTheta) {
84 <            double delta =  theta- theta0_;
85 <            double delta2 = delta * delta;
86 <            double delta3 = delta2 * delta;
87 <
88 <            V =k0_ + k1_ * delta + k2_*delta2 + k3_*delta3;
89 <            dVdTheta = k1_ + 2.0*k2_ * delta + 3.0 * k3_*delta2;
90 <        }
91 <        
92 <    private:
93 <
94 <        double k3_;
95 <        double k2_;
96 <        double k1_;
97 <        double k0_;
98 <
99 < };
100 <
63 >    CubicBendType(RealType theta, RealType k3, RealType k2, RealType k1,
64 >                  RealType k0) : BendType(theta), k3_(k3), k2_(k2), k1_(k1),
65 >                                 k0_(k0){
66 >    }
67 >    
68 >    void setForceConstant(RealType k3, RealType k2, RealType k1, RealType k0) {
69 >      k3_ = k3;
70 >      k2_ = k2;
71 >      k1_ = k1;
72 >      k0_ = k0;
73 >    }
74 >    
75 >    void getForceConstant(RealType& k3, RealType& k2, RealType& k1,
76 >                          RealType& k0) {
77 >      k3 = k3_;
78 >      k2 = k2_;
79 >      k1 = k1_;
80 >      k0 = k0_;
81 >    }
82 >    
83 >    virtual void calcForce(RealType theta, RealType& V, RealType& dVdTheta) {
84 >      RealType delta =  theta- theta0_;
85 >      RealType delta2 = delta * delta;
86 >      RealType delta3 = delta2 * delta;
87 >      
88 >      V =k0_ + k1_ * delta + k2_*delta2 + k3_*delta3;
89 >      dVdTheta = k1_ + 2.0*k2_ * delta + 3.0 * k3_*delta2;
90 >    }
91 >    
92 >  private:
93 >    
94 >    RealType k3_;
95 >    RealType k2_;
96 >    RealType k1_;
97 >    RealType k0_;
98 >    
99 >  };
100 >  
101   }//end namespace oopse
102   #endif //TYPES_CUBICBENDTYPE_HPP
103  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines