19 |
|
|
20 |
|
public: |
21 |
|
|
22 |
< |
MorseBondType(double myD, double myBeta, double myR0) : BondType() { |
23 |
< |
De = myD; |
24 |
< |
beta = myBeta; |
25 |
< |
r0 = myR0; |
22 |
> |
MorseBondType( double myR0, double myD, double myBeta) |
23 |
> |
: BondType(myR0), De(myD), beta(myBeta) { |
24 |
|
} |
25 |
|
|
26 |
|
void setWellDepth(double myD) { De = myD;} |
27 |
< |
void setEquilibriumBondLength(double r) { r0 = r; } |
27 |
> |
|
28 |
|
void setBeta(double myBeta) { beta = myBeta; } |
29 |
+ |
|
30 |
|
void setWellDepthAndForceConstant(double myD, double myK) { |
31 |
|
De = myD; |
32 |
|
beta = sqrt(myK/(2.0*De)); |
33 |
|
} |
34 |
|
|
35 |
|
double getWellDepth() {return De;} |
36 |
< |
double getEquilibriumBondLength() {return r0;} |
36 |
> |
|
37 |
|
double getBeta() {return beta;} |
38 |
+ |
|
39 |
|
double getForceConstant() {return 2.0*De*beta*beta;} |
40 |
|
|
41 |
|
void calcForce(double r, double& V, double& dVdr) { |
53 |
|
|
54 |
|
double De; |
55 |
|
double beta; |
56 |
– |
double r0; |
56 |
|
|
57 |
|
}; |
58 |
|
} |