| 28 |
|
Bond(); |
| 29 |
|
virtual ~Bond(); |
| 30 |
|
|
| 31 |
< |
void calc_forces(); |
| 31 |
> |
virtual void calc_forces(); |
| 32 |
|
int is_constrained() {return c_is_constrained;} |
| 33 |
|
Constraint *get_constraint() {return c_constraint;} |
| 34 |
|
void constrain(double bond_distance); |
| 135 |
|
double theta0; |
| 136 |
|
}; |
| 137 |
|
|
| 138 |
+ |
class GhostBend : public Bend{ |
| 139 |
+ |
|
| 140 |
+ |
public: |
| 141 |
+ |
GhostBend( Atom &a, Atom &b ); |
| 142 |
+ |
~GhostBend(){} |
| 143 |
+ |
|
| 144 |
+ |
void calc_forces( void ); |
| 145 |
+ |
|
| 146 |
+ |
void setConstants( double the_c1, double the_c2, double the_c3, |
| 147 |
+ |
double the_Th0 ); |
| 148 |
+ |
void printMe( void ){ |
| 149 |
+ |
std::cerr << c_p_a->getType() << " - " << c_p_b->getType() |
| 150 |
+ |
<< " : " |
| 151 |
+ |
<< c_p_a->getIndex() << " - " << c_p_b->getIndex() << " - " |
| 152 |
+ |
<<", k1 = " << c1 << "; k2 = " << c2 |
| 153 |
+ |
<< "; k3 = " << c3 << "; theta0 =" << theta0 << "\n"; |
| 154 |
+ |
} |
| 155 |
+ |
|
| 156 |
+ |
private: |
| 157 |
+ |
double bend_force( double theta ); |
| 158 |
+ |
|
| 159 |
+ |
double c1, c2, c3; |
| 160 |
+ |
double theta0; |
| 161 |
+ |
|
| 162 |
+ |
DirectionalAtom* atomB; |
| 163 |
+ |
}; |
| 164 |
+ |
|
| 165 |
|
class CubicTorsion : public Torsion{ |
| 166 |
|
|
| 167 |
|
public: |