3 * This source code is part of
7 * GROningen MAchine for Chemical Simulations
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2004, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
33 * Gromacs Runs On Most of All Computer Systems
54 bool bSet
; /* Has this combination been set */
55 real c
[4]; /* The non-bonded parameters */
57 /* The t_nbparam struct is used to temporary store the explicit
58 * non-bonded parameter combinations, which will be copied to t_params.
62 atom_id a
[MAXATOMLIST
]; /* The atom list (eg. bonds: particle */
63 /* i = a[0] (AI), j = a[1] (AJ)) */
64 real c
[MAXFORCEPARAM
]; /* Force parameters (eg. b0 = c[0]) */
65 char s
[MAXSLEN
]; /* A string (instead of parameters), *
66 * read from the .rtp file in pdb2gmx */
70 int nr
; /* The number of bonds in this record */
71 int maxnr
; /* The amount of elements in the array */
72 t_param
*param
; /* Array of parameters (dim: nr) */
74 /* CMAP tmp data, there are probably better places for this */
75 int grid_spacing
; /* Cmap grid spacing */
76 int nc
; /* Number of cmap angles */
78 real
*cmap
; /* Temporary storage of the raw cmap grid data */
79 int ncmap
; /* Number of allocated elements in cmap grid*/
81 int *cmap_types
; /* Store the five atomtypes followed by a number that identifies the type */
82 int nct
; /* Number of allocated elements in cmap_types */
87 int nr
; /* The number of exclusions */
88 atom_id
*e
; /* The excluded atoms */
93 int nrexcl
; /* Number of exclusions per atom */
94 bool excl_set
; /* Have exclusions been generated? */
95 bool bProcessed
; /* Has the mol been processed */
96 t_atoms atoms
; /* Atoms */
97 t_block cgs
; /* Charge groups */
98 t_block mols
; /* Molecules */
99 t_blocka excls
; /* Exclusions */
100 t_params plist
[F_NRE
]; /* Parameters in old style */
108 #include "gpp_atomtype.h"
110 extern void choose_ff(char *ff
,int maxlen
);
111 /* Strange place for this function... */
113 extern bool is_int(double x
);
114 /* Returns TRUE when x is integer */
116 extern void print_top_comment(FILE *out
,const char *filename
,const char *title
,bool bITP
);
118 extern void print_top_header(FILE *out
,const char *filename
,const char *title
,bool bITP
,
119 const char *ff
,real mHmult
);
121 extern void print_top_mols(FILE *out
, const char *title
, const char *water
,
122 int nincl
, char **incls
,
123 int nmol
, t_mols
*mols
);
125 extern void write_top(FILE *out
, char *pr
,char *molname
,
126 t_atoms
*at
,int bts
[],t_params plist
[],t_excls excls
[],
127 gpp_atomtype_t atype
,int *cgnr
, int nrexcl
);
128 /* NOTE: nrexcl is not the size of *excl! */
139 d_implicit_genborn_params
,
140 d_implicit_surface_params
,
157 d_water_polarization
,
158 d_thole_polarization
,
161 d_position_restraints
,
163 d_angle_restraints_z
,
164 d_distance_restraints
,
165 d_orientation_restraints
,
166 d_dihedral_restraints
,
173 static const char *ds
[d_maxdir
+1] = {
182 "implicit_genborn_params",
183 "implicit_surface_params",
185 /* All the directives above can not appear after moleculetype */
201 "water_polarization",
202 "thole_polarization",
205 "position_restraints",
207 "angle_restraints_z",
208 "distance_restraints",
209 "orientation_restraints",
210 "dihedral_restraints",
219 #endif /* _grompp_h */