ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/types/HarmonicBondType.hpp
Revision: 1743
Committed: Tue Nov 16 22:04:26 2004 UTC (19 years, 9 months ago) by gezelter
File size: 822 byte(s)
Log Message:
added some new stuff

File Contents

# User Rev Content
1 gezelter 1743 #ifndef TYPES_HARMONICBONDTYPE_HPP
2     #define TYPES_HARMONICBONDTYPE_HPP
3    
4     #include "types/BondType.hpp"
5    
6     namespace oopse {
7     /**
8     * @class HarmonicBondType
9     *
10     * HarmonicBondType is the basic OOPSE bond type.
11     */
12     class HarmonicBondType : public BondType {
13    
14     public:
15    
16     HarmonicBondType(double myR0, double myK) : BondType() {
17     r0 = myR0;
18     k = myK;
19     }
20    
21     void setEquilibriumBondLength(double r) { r0 = r; }
22     void setForceConstant(double myK) {k = myK; }
23    
24     double getEquilibriumBondLength() {return r0;}
25     double getForceConstant() {return k;}
26    
27     void calcForce(double r, double& V, double& dVdr) {
28     double dr;
29    
30     dr = r - r0;
31    
32     V = 0.5 * k * dr * dr;
33     dVdr = k * dr;
34     }
35    
36     private:
37    
38     double r0;
39     double k;
40    
41     };
42     }
43     #endif