1 |
wdelano |
58 |
|
2 |
|
|
// need
|
3 |
|
|
// define MAXFIX
|
4 |
|
|
#define MAXFIX 1000
|
5 |
|
|
// fixed atom data
|
6 |
|
|
// use inactive atoms to fix
|
7 |
|
|
//
|
8 |
|
|
EXTERN struct fx_atom {
|
9 |
|
|
int natom_fix;
|
10 |
|
|
int katom_fix[MAXFIX];
|
11 |
|
|
} fx_atom;
|
12 |
|
|
// fixed distance
|
13 |
|
|
// ndfix - number of fixed distances
|
14 |
|
|
// kdfix = atom number of fixed dist
|
15 |
|
|
// dfix = force constant and distance range
|
16 |
|
|
//
|
17 |
|
|
// restrained atoms - use harmonic restraint to fix atoms
|
18 |
|
|
EXTERN struct restrain_atom {
|
19 |
|
|
int natom_restrain;
|
20 |
|
|
int katom_restrain[MAXFIX];
|
21 |
|
|
float restrain_const[MAXFIX], restrain_max[MAXFIX],restrain_position[MAXFIX][3];
|
22 |
|
|
} restrain_atom;
|
23 |
|
|
//
|
24 |
|
|
EXTERN struct fx_dist {
|
25 |
|
|
int ndfix;
|
26 |
|
|
int kdfix[MAXFIX][2];
|
27 |
|
|
float fdconst[MAXFIX],min_dist[MAXFIX],max_dist[MAXFIX];
|
28 |
|
|
} fx_dist;
|
29 |
|
|
//
|
30 |
|
|
// fixed angle
|
31 |
|
|
// nafix = number of fixed angles
|
32 |
|
|
// kafix = atom numbers
|
33 |
|
|
// afix = force constant and angle range
|
34 |
|
|
EXTERN struct fx_angle {
|
35 |
|
|
int nafix;
|
36 |
|
|
int kafix[MAXFIX][3];
|
37 |
|
|
float faconst[MAXFIX],min_ang[MAXFIX],max_ang[MAXFIX];
|
38 |
|
|
} fx_angle;
|
39 |
|
|
//
|
40 |
|
|
// fixed torsion
|
41 |
|
|
// ntfix = number of fixed torsions
|
42 |
|
|
// ktfix = atom numbers
|
43 |
|
|
// tfix = force constant and torsion range
|
44 |
|
|
EXTERN struct fx_torsion {
|
45 |
|
|
int ntfix;
|
46 |
|
|
int ktfix[MAXFIX][4];
|
47 |
|
|
float ftconst[MAXFIX],min_tor[MAXFIX],max_tor[MAXFIX];
|
48 |
|
|
} fx_torsion;
|
49 |
|
|
|