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 * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
41 #include "gpp_atomtype.h"
42 #include "gpp_bond_atomtype.h"
46 int nr; /* The number of entries in the list */
47 int nra2; /* The total number of entries in a */
48 atom_id *nra; /* The number of entries in each a array (dim nr) */
49 atom_id **a; /* The atom numbers (dim nr) the length of each element */
53 extern void generate_nbparams(int comb, int funct, t_params plist[],
57 extern void push_at (t_symtab *symtab, gpp_atomtype_t at,
58 t_bond_atomtype bat, char *line, int nb_funct,
59 t_nbparam ***nbparam, t_nbparam ***pair,
62 extern void push_bt(directive d, t_params bt[], int nral,
63 gpp_atomtype_t at, t_bond_atomtype bat, char *line,
66 extern void push_dihedraltype(directive d, t_params bt[],
67 t_bond_atomtype bat, char *line,
70 extern void push_cmaptype(directive d, t_params bt[], int nral, gpp_atomtype_t at,
71 t_bond_atomtype bat, char *line,
74 extern void push_nbt(directive d, t_nbparam **nbt, gpp_atomtype_t atype,
75 char *plines, int nb_funct,
79 push_gb_params(gpp_atomtype_t atype,
83 extern void push_atom(t_symtab *symtab,
91 extern void push_bond(directive d, t_params bondtype[], t_params bond[],
92 t_atoms *at, gpp_atomtype_t atype, char *line,
93 gmx_bool bBonded, gmx_bool bGenPairs, real fudgeQQ,
94 gmx_bool bZero, gmx_bool *bWarn_copy_A_B,
97 extern void push_cmap(directive d, t_params bondtype[], t_params bond[],
98 t_atoms *at, gpp_atomtype_t atype, char *line,
99 gmx_bool *bWarn_copy_A_B,
102 extern void push_vsitesn(directive d, t_params bondtype[], t_params bond[],
103 t_atoms *at, gpp_atomtype_t atype, char *line,
106 extern void push_mol(int nrmols, t_molinfo mols[], char *pline,
107 int *whichmol, int *nrcopies,
110 extern void push_molt(t_symtab *symtab, int *nmol, t_molinfo **mol, char *line,
113 extern void init_block2(t_block2 *b2, int natom);
115 extern void done_block2(t_block2 *b2);
117 extern void push_excl(char *line, t_block2 *b2);
119 extern void merge_excl(t_blocka *excl, t_block2 *b2);
121 extern void b_to_b2(t_blocka *b, t_block2 *b2);
123 extern void b2_to_b(t_block2 *b2, t_blocka *b);
125 extern int add_atomtype_decoupled(t_symtab *symtab, gpp_atomtype_t at,
126 t_nbparam ***nbparam, t_nbparam ***pair);
127 /* Add an atom type with all parameters set to zero (no interactions).
128 * Returns the atom type number.
131 extern void convert_moltype_couple(t_molinfo *mol, int atomtype_decouple,
133 int couple_lam0, int couple_lam1,
134 gmx_bool bCoupleIntra,
135 int nb_funct, t_params *nbp);
136 /* Setup mol such that the B-state has no interaction with the rest
137 * of the system, but full interaction with itself.
140 #endif /* _toppush_h */