added Verlet scheme and NxN non-bonded functionality
[gromacs.git] / include / types / nrnb.h
blobaca5408c27f661478a4341f52e67d5be0b034ce1
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.2.0
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
32 * And Hey:
33 * GRoups of Organic Molecules in ACtion for Science
35 #ifndef _types_nrnb_h
36 #define _types_nrnb_h
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
43 /* The nonbonded kernels are documented in gmxlib/nonbonded_kernels,
44 * but here's a lazy version of the numbering. The first position
45 * is the Coulomb interaction (0 for none), second is Van der Waals
46 * (again, 0 means no interaction), and the third is the water optimization
47 * (0 meaning no water optimization = standard atom-atom loop)
49 * value
50 * pos 1 2 3 4
51 * 1st Coul Normal,1/r Reaction-field Table Generalized born
52 * 2nd Vdw Lennard-Jones Buckingham Table n/a
53 * 3rd Water. opt SPC-other atom SPC-SPC TIP4p-other at. TIP4p-TIP4p
56 #define eNR_NBKERNEL_NONE -1
58 enum
60 eNR_NBKERNEL010, eNR_NBKERNEL020, eNR_NBKERNEL030,
61 eNR_NBKERNEL100, eNR_NBKERNEL101, eNR_NBKERNEL102, eNR_NBKERNEL103, eNR_NBKERNEL104,
62 eNR_NBKERNEL110, eNR_NBKERNEL111, eNR_NBKERNEL112, eNR_NBKERNEL113, eNR_NBKERNEL114,
63 eNR_NBKERNEL120, eNR_NBKERNEL121, eNR_NBKERNEL122, eNR_NBKERNEL123, eNR_NBKERNEL124,
64 eNR_NBKERNEL130, eNR_NBKERNEL131, eNR_NBKERNEL132, eNR_NBKERNEL133, eNR_NBKERNEL134,
65 eNR_NBKERNEL200, eNR_NBKERNEL201, eNR_NBKERNEL202, eNR_NBKERNEL203, eNR_NBKERNEL204,
66 eNR_NBKERNEL210, eNR_NBKERNEL211, eNR_NBKERNEL212, eNR_NBKERNEL213, eNR_NBKERNEL214,
67 eNR_NBKERNEL220, eNR_NBKERNEL221, eNR_NBKERNEL222, eNR_NBKERNEL223, eNR_NBKERNEL224,
68 eNR_NBKERNEL230, eNR_NBKERNEL231, eNR_NBKERNEL232, eNR_NBKERNEL233, eNR_NBKERNEL234,
69 eNR_NBKERNEL300, eNR_NBKERNEL301, eNR_NBKERNEL302, eNR_NBKERNEL303, eNR_NBKERNEL304,
70 eNR_NBKERNEL310, eNR_NBKERNEL311, eNR_NBKERNEL312, eNR_NBKERNEL313, eNR_NBKERNEL314,
71 eNR_NBKERNEL320, eNR_NBKERNEL321, eNR_NBKERNEL322, eNR_NBKERNEL323, eNR_NBKERNEL324,
72 eNR_NBKERNEL330, eNR_NBKERNEL331, eNR_NBKERNEL332, eNR_NBKERNEL333, eNR_NBKERNEL334,
73 eNR_NBKERNEL400, eNR_NBKERNEL410, eNR_NBKERNEL430,
74 eNR_NBKERNEL010NF, eNR_NBKERNEL020NF, eNR_NBKERNEL030NF,
75 eNR_NBKERNEL100NF, eNR_NBKERNEL101NF, eNR_NBKERNEL102NF, eNR_NBKERNEL103NF, eNR_NBKERNEL104NF,
76 eNR_NBKERNEL110NF, eNR_NBKERNEL111NF, eNR_NBKERNEL112NF, eNR_NBKERNEL113NF, eNR_NBKERNEL114NF,
77 eNR_NBKERNEL120NF, eNR_NBKERNEL121NF, eNR_NBKERNEL122NF, eNR_NBKERNEL123NF, eNR_NBKERNEL124NF,
78 eNR_NBKERNEL130NF, eNR_NBKERNEL131NF, eNR_NBKERNEL132NF, eNR_NBKERNEL133NF, eNR_NBKERNEL134NF,
79 eNR_NBKERNEL200NF, eNR_NBKERNEL201NF, eNR_NBKERNEL202NF, eNR_NBKERNEL203NF, eNR_NBKERNEL204NF,
80 eNR_NBKERNEL210NF, eNR_NBKERNEL211NF, eNR_NBKERNEL212NF, eNR_NBKERNEL213NF, eNR_NBKERNEL214NF,
81 eNR_NBKERNEL220NF, eNR_NBKERNEL221NF, eNR_NBKERNEL222NF, eNR_NBKERNEL223NF, eNR_NBKERNEL224NF,
82 eNR_NBKERNEL230NF, eNR_NBKERNEL231NF, eNR_NBKERNEL232NF, eNR_NBKERNEL233NF, eNR_NBKERNEL234NF,
83 eNR_NBKERNEL300NF, eNR_NBKERNEL301NF, eNR_NBKERNEL302NF, eNR_NBKERNEL303NF, eNR_NBKERNEL304NF,
84 eNR_NBKERNEL310NF, eNR_NBKERNEL311NF, eNR_NBKERNEL312NF, eNR_NBKERNEL313NF, eNR_NBKERNEL314NF,
85 eNR_NBKERNEL320NF, eNR_NBKERNEL321NF, eNR_NBKERNEL322NF, eNR_NBKERNEL323NF, eNR_NBKERNEL324NF,
86 eNR_NBKERNEL330NF, eNR_NBKERNEL331NF, eNR_NBKERNEL332NF, eNR_NBKERNEL333NF, eNR_NBKERNEL334NF,
87 eNR_NBKERNEL400NF, eNR_NBKERNEL410NF, eNR_NBKERNEL430NF,
88 eNR_NBKERNEL_NR,
89 eNR_NBKERNEL_FREE_ENERGY = eNR_NBKERNEL_NR,
90 eNR_NBKERNEL_ALLVSALL,
91 eNR_NBKERNEL_ALLVSALLGB,
92 eNR_NBKERNEL_OUTER,
93 eNR_NBNXN_DIST2,
94 eNR_NBNXN_LJ_RF, eNR_NBNXN_LJ_RF_E,
95 eNR_NBNXN_LJ_TAB, eNR_NBNXN_LJ_TAB_E,
96 eNR_NBNXN_LJ, eNR_NBNXN_LJ_E,
97 eNR_NBNXN_RF, eNR_NBNXN_RF_E,
98 eNR_NBNXN_TAB, eNR_NBNXN_TAB_E,
99 eNR_NB14,
100 eNR_BORN_RADII_STILL, eNR_BORN_RADII_HCT_OBC,
101 eNR_BORN_CHAINRULE,
102 eNR_BORN_AVA_RADII_STILL, eNR_BORN_AVA_RADII_HCT_OBC,
103 eNR_BORN_AVA_CHAINRULE,
104 eNR_WEIGHTS, eNR_SPREADQ, eNR_SPREADQBSP,
105 eNR_GATHERF, eNR_GATHERFBSP, eNR_FFT,
106 eNR_CONV, eNR_SOLVEPME,eNR_NS, eNR_RESETX,
107 eNR_SHIFTX, eNR_CGCM, eNR_FSUM,
108 eNR_BONDS, eNR_G96BONDS, eNR_FENEBONDS,
109 eNR_TABBONDS, eNR_RESTRBONDS, eNR_LINEAR_ANGLES,
110 eNR_ANGLES, eNR_G96ANGLES, eNR_QANGLES,
111 eNR_TABANGLES, eNR_PROPER, eNR_IMPROPER,
112 eNR_RB, eNR_FOURDIH, eNR_TABDIHS,
113 eNR_DISRES, eNR_ORIRES, eNR_DIHRES,
114 eNR_POSRES, eNR_ANGRES, eNR_ANGRESZ,
115 eNR_MORSE, eNR_CUBICBONDS, eNR_WALLS,
116 eNR_POLARIZE, eNR_ANHARM_POL,
117 eNR_WPOL, eNR_THOLE, eNR_VIRIAL,
118 eNR_UPDATE, eNR_EXTUPDATE, eNR_STOPCM,
119 eNR_PCOUPL, eNR_EKIN, eNR_LINCS,
120 eNR_LINCSMAT, eNR_SHAKE, eNR_CONSTR_V,
121 eNR_SHAKE_RIJ, eNR_CONSTR_VIR, eNR_SETTLE,
122 eNR_VSITE2, eNR_VSITE3, eNR_VSITE3FD,
123 eNR_VSITE3FAD, eNR_VSITE3OUT, eNR_VSITE4FD,
124 eNR_VSITE4FDN, eNR_VSITEN, eNR_GB,
125 eNR_CMAP,
126 eNRNB
130 typedef struct {
131 double n[eNRNB];
132 } t_nrnb;
135 typedef struct gmx_wallcycle *gmx_wallcycle_t;
137 #ifdef __cplusplus
139 #endif
141 #endif