1 |
|
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 |
|