-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstructs.h
66 lines (57 loc) · 1.14 KB
/
structs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
typedef struct _pair {
int frozen;
int rd_excluded, es_excluded;
double lrc;
double charge;
double epsilon;
double sigma;
double r;
double d[3];
double rimg;
double dimg[3];
double r2;
double r2img;
struct _atom *atom;
struct _molecule *molecule;
struct _pair *next;
} pair_t;
typedef struct _atom {
int id;
char atomtype[MAXLINE];
int frozen, adiabatic;
double mass;
double charge;
double polarizability;
double epsilon;
double sigma;
double pos[3];
double ef_static[3];
double ef_induced[3];
double mu[3];
double old_mu[3];
double new_mu[3];
pair_t *pairs;
struct _atom *next;
} atom_t;
typedef struct _molecule {
int id;
char moleculetype[MAXLINE];
double mass;
int frozen, adiabatic;
double com[3];
atom_t *atoms;
struct _molecule *next;
} molecule_t;
typedef struct _pbc {
double basis[3][3]; /* unit cell lattice (A) */
double reciprocal_basis[3][3]; /* reciprocal space lattice (1/A) */
double cutoff; /* radial cutoff (A) */
double volume; /* unit cell volume (A^3) */
} pbc_t;
typedef struct _system {
double ewald_alpha;
int ewald_kmax;
char *pdb_input;
pbc_t *pbc;
molecule_t *molecules;
} system_t;