b808e4d872be4567bc43fa1b171600394f8ab246
[alexxy/gromacs.git] / src / programs / gmx / nm2type.h
1 /*
2  *
3  *                This source code is part of
4  *
5  *                 G   R   O   M   A   C   S
6  *
7  *          GROningen MAchine for Chemical Simulations
8  *
9  *                        VERSION 3.3.3
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-2008, The GROMACS development team,
13  * check out http://www.gromacs.org for more information.
14
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.
19  *
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.
26  *
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.
29  *
30  * For more info, check our website at http://www.gromacs.org
31  *
32  * And Hey:
33  * Groningen Machine for Chemical Simulation
34  */
35 #ifndef GMX_GMX_NM2TYPE_H
36 #define GMX_GMX_NM2TYPE_H
37
38 #include <stdio.h>
39
40 typedef struct {
41     char    *elem, *type;
42     double   q, m;
43     int      nbonds;
44     char   **bond;
45     double  *blen;
46 } t_nm2type;
47
48 extern t_nm2type *rd_nm2type(const char *ffdir, int *nnm);
49 /* Read the name 2 type database. nnm is the number of entries
50  * ff is the force field.
51  */
52
53 extern void dump_nm2type(FILE *fp, int nnm, t_nm2type nm2t[]);
54 /* Dump the database for debugging. Can be reread by the program */
55
56 extern int nm2type(int nnm, t_nm2type nm2t[], t_symtab *tab, t_atoms *atoms,
57                    gpp_atomtype_t atype, int *nbonds, t_params *bond);
58 /* Try to determine the atomtype (force field dependent) for the atoms
59  * with help of the bond list
60  */
61
62 #endif