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 bool bBonded
,bool bGenPairs
,real fudgeQQ
,
94 bool bZero
,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
,
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
,
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 */