changed reading hint
[gromacs/adressmacs.git] / include / grompp.h
blobf0e5433861e0e27703a0fde0458360b19d125271
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 2.0
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * Please refer to:
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
23 * or e-mail to:
24 * gromacs@chem.rug.nl
26 * And Hey:
27 * Good ROcking Metal Altar for Chronical Sinners
30 #ifndef _grompp_h
31 #define _grompp_h
33 static char *SRCID_grompp_h = "$Id$";
35 #ifdef HAVE_IDENT
36 #ident "@(#) grompp.h 1.37 2/2/97"
37 #endif /* HAVE_IDENT */
39 #include <stdio.h>
40 #include "typedefs.h"
41 #include "macros.h"
43 typedef struct {
44 atom_id a[MAXATOMLIST]; /* The atom list (eg. bonds: particle */
45 /* i = a[0] (AI), j = a[1] (AJ)) */
46 real c[MAXFORCEPARAM]; /* Force parameters (eg. b0 = c[0]) */
47 char *s; /* A string (instead of parameters), *
48 * read from the .rtp file in pdb2gmx */
49 } t_param;
51 typedef struct {
52 int nr; /* The number of bonds in this record */
53 t_param *param; /* Array of parameters (dim: nr) */
54 } t_params;
56 typedef struct {
57 char **name;
58 int nrexcl; /* Number of exclusions per atom */
59 bool excl_set; /* Have exclusions been generated? */
60 bool bProcessed; /* Has the mol been processed */
61 t_atoms atoms; /* Atoms */
62 t_block cgs; /* Charge groups */
63 t_block mols; /* Molecules */
64 t_params plist[F_NRE]; /* Parameters in old style */
65 } t_molinfo;
67 typedef struct {
68 int nr; /* The number of atomtypes */
69 t_atom *atom; /* Array of atoms */
70 char ***atomname; /* Names of the atomtypes */
71 t_param *nb; /* Nonbonded force default params */
72 } t_atomtype;
74 typedef enum {
75 d_defaults,
76 d_atomtypes,
77 d_bondtypes,
78 d_constrainttypes,
79 d_pairtypes,
80 d_angletypes,
81 d_dihedraltypes,
82 d_nonbond_params,
83 d_blocktype,
84 d_moleculetype,
85 d_atoms,
86 d_dum2,
87 d_dum3,
88 d_dum4,
89 d_bonds,
90 d_exclusions,
91 d_pairs,
92 d_angles,
93 d_dihedrals,
94 d_constraints,
95 d_settles,
96 d_system,
97 d_molecules,
98 d_position_restraints,
99 d_angle_restraints,
100 d_angle_restraints_z,
101 d_distance_restraints,
102 d_maxdir,
103 d_invalid,
104 d_none
105 } directive;
107 static char *ds[d_maxdir+1] = {
108 "defaults",
109 "atomtypes",
110 "bondtypes",
111 "constrainttypes",
112 "pairtypes",
113 "angletypes",
114 "dihedraltypes",
115 "nonbond_params",
116 "blocktype",
117 "moleculetype",
118 "atoms",
119 "dummies2",
120 "dummies3",
121 "dummies4",
122 "bonds",
123 "exclusions",
124 "pairs",
125 "angles",
126 "dihedrals",
127 "constraints",
128 "settles",
129 "system",
130 "molecules",
131 "position_restraints",
132 "angle_restraints",
133 "angle_restraints_z",
134 "distance_restraints",
135 "invalid"
138 extern void convert_harmonics(int nrmols,t_molinfo mols[],t_atomtype *atype);
140 #endif /* _grompp_h */