minor fixes in ditribution files
[gromacs/qmmm-gamess-us.git] / include / types / genborn.h
blobd5b5be3471b1d179e5cb90f6fa14ed557e4bf623
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 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
10 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
11 * Copyright (c) 2001-2008, The GROMACS development team,
12 * check out http://www.gromacs.org for more information.
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * If you want to redistribute modifications, please consider that
20 * scientific software is very special. Version control is crucial -
21 * bugs must be traceable. We will be happy to consider code for
22 * inclusion in the official distribution, but derived work must not
23 * be called official GROMACS. Details are found in the README & COPYING
24 * files - if they are missing, get the official version at www.gromacs.org.
26 * To help us fund GROMACS development, we humbly ask that you cite
27 * the papers on the package - you can find them in the top README file.
29 * For more info, check our website at http://www.gromacs.org
31 * And Hey:
32 * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
35 #ifdef HAVE_CONFIG_H
36 #include <config.h>
37 #endif
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
43 typedef struct
45 int nbonds;
46 int bond[10];
47 real length[10];
48 } genborn_bonds_t;
50 typedef struct gbtmpnbls *gbtmpnbls_t;
52 /* Struct to hold all the information for GB */
53 typedef struct
55 int nr; /* number of atoms, length of arrays below */
56 int n12; /* number of 1-2 (bond) interactions */
57 int n13; /* number of 1-3 (angle) terms */
58 int n14; /* number of 1-4 (torsion) terms */
59 int nlocal; /* Length of local arrays (with DD) */
61 /* Arrays below that end with _globalindex are used for setting up initial values of
62 * all gb parameters and values. They all have length natoms, which for DD is the
63 * global atom number.
64 * Values are then taken from these arrays to local copies, that have names without
65 * _globalindex, in the routine make_local_gb(), which is called once for single
66 * node runs, and for DD at every call to dd_partition_system
69 real *gpol; /* Atomic polarisation energies */
70 real *gpol_globalindex; /* */
71 real *gpol_still_work; /* Work array for Still model */
72 real *gpol_hct_work; /* Work array for HCT/OBC models */
73 real *bRad; /* Atomic Born radii */
74 real *vsolv; /* Atomic solvation volumes */
75 real *vsolv_globalindex; /* */
76 real *gb_radius; /* Radius info, copied from atomtypes */
77 real *gb_radius_globalindex;
79 int *use; /* Array that till if this atom does GB */
80 int *use_globalindex; /* Global array for parallelization */
82 real es; /* Solvation energy and derivatives */
83 real *asurf; /* Atomic surface area */
84 rvec *dasurf; /* Surface area derivatives */
85 real as; /* Total surface area */
87 real *drobc; /* Parameters for OBC chain rule calculation */
88 real *param; /* Precomputed factor rai*atype->S_hct for HCT/OBC */
89 real *param_globalindex; /* */
91 real *log_table; /* Table for logarithm lookup */
93 real obc_alpha; /* OBC parameters */
94 real obc_beta; /* OBC parameters */
95 real obc_gamma; /* OBC parameters */
96 real gb_doffset; /* Dielectric offset for Still/HCT/OBC */
97 real gb_epsilon_solvent; /* */
98 real epsilon_r; /* Used for inner dielectric */
100 real *work; /* Used for parallel summation and in the chain rule, length natoms */
101 real *buf; /* Used for parallel summation and in the chain rule, length natoms */
102 real *dd_work; /* Used for domain decomposition parallel runs, length natoms */
103 int *count; /* Used for setting up the special gb nblist, length natoms */
104 gbtmpnbls_t nblist_work; /* Used for setting up the special gb nblist, dim natoms*nblist_work_nalloc */
105 int nblist_work_nalloc; /* Length of second dimension of nblist_work */
107 gmx_genborn_t;
109 #ifdef __cplusplus
111 #endif