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 * GRoups of Organic Molecules in ACtion for Science
44 /* note: these enums should correspond to the names in gmxlib/names.c */
47 epbcXYZ
, epbcNONE
, epbcXY
, epbcSCREW
, epbcNR
51 etcNO
, etcBERENDSEN
, etcNOSEHOOVER
, etcYES
, etcANDERSEN
, etcANDERSENINTERVAL
, etcVRESCALE
, etcNR
52 }; /* yes is an alias for berendsen */
55 epcNO
, epcBERENDSEN
, epcPARRINELLORAHMAN
, epcISOTROPIC
, epcMTTK
, epcNR
56 }; /* isotropic is an alias for berendsen */
58 /* trotter decomposition extended variable parts */
60 etrtNONE
, etrtNHC
, etrtBAROV
, etrtBARONHC
, etrtNHC2
, etrtBAROV2
, etrtBARONHC2
,
61 etrtVELOCITY
, etrtPOSITION
, etrtSKIPALL
, etrtNR
65 epctISOTROPIC
, epctSEMIISOTROPIC
, epctANISOTROPIC
,
66 epctSURFACETENSION
, epctNR
70 erscNO
, erscALL
, erscCOM
, erscNR
74 * eelNOTUSED1 used to be GB, but to enable generalized born with different
75 * forms of electrostatics (RF, switch, etc.) in the future it is now selected
76 * separately (through the implicit_solvent option).
79 eelCUT
, eelRF
, eelGRF
, eelPME
, eelEWALD
, eelPPPM
,
80 eelPOISSON
, eelSWITCH
, eelSHIFT
, eelUSER
, eelGB_NOTUSED
, eelRF_NEC
, eelENCADSHIFT
,
81 eelPMEUSER
, eelPMESWITCH
, eelPMEUSERSWITCH
, eelRF_ZERO
, eelNR
86 eewg3D
, eewg3DC
, eewgNR
89 #define EEL_RF(e) ((e) == eelRF || (e) == eelGRF || (e) == eelRF_NEC || (e) == eelRF_ZERO )
91 #define EEL_PME(e) ((e) == eelPME || (e) == eelPMESWITCH || (e) == eelPMEUSER || (e) == eelPMEUSERSWITCH)
92 #define EEL_FULL(e) (EEL_PME(e) || (e) == eelPPPM || (e) == eelPOISSON || (e) == eelEWALD)
94 #define EEL_SWITCHED(e) ((e) == eelSWITCH || (e) == eelSHIFT || (e) == eelENCADSHIFT || (e) == eelPMESWITCH || (e) == eelPMEUSERSWITCH)
96 #define EEL_IS_ZERO_AT_CUTOFF(e) (EEL_SWITCHED(e) || (e) == eelRF_ZERO)
98 #define EEL_MIGHT_BE_ZERO_AT_CUTOFF(e) (EEL_IS_ZERO_AT_CUTOFF(e) || (e) == eelUSER || (e) == eelPMEUSER)
101 evdwCUT
, evdwSWITCH
, evdwSHIFT
, evdwUSER
, evdwENCADSHIFT
, evdwNR
104 #define EVDW_SWITCHED(e) ((e) == evdwSWITCH || (e) == evdwSHIFT || (e) == evdwENCADSHIFT)
106 #define EVDW_IS_ZERO_AT_CUTOFF(e) EVDW_SWITCHED(e)
108 #define EVDW_MIGHT_BE_ZERO_AT_CUTOFF(e) (EVDW_IS_ZERO_AT_CUTOFF(e) || (e) == evdwUSER)
111 ensGRID
, ensSIMPLE
, ensNR
114 /* eiVV is normal velocity verlet -- eiVVAK uses 1/2*(KE(t-dt/2)+KE(t+dt/2)) as the kinetic energy, and the half step kinetic
115 energy for temperature control */
118 eiMD
, eiSteep
, eiCG
, eiBD
, eiSD2
, eiNM
, eiLBFGS
, eiTPI
, eiTPIC
, eiSD1
, eiVV
, eiVVAK
, eiNR
120 #define EI_VV(e) ((e) == eiVV || (e) == eiVVAK)
121 #define EI_SD(e) ((e) == eiSD1 || (e) == eiSD2)
122 #define EI_RANDOM(e) (EI_SD(e) || (e) == eiBD)
123 /*above integrators may not conserve momenta*/
124 #define EI_DYNAMICS(e) ((e) == eiMD || EI_SD(e) || (e) == eiBD || EI_VV(e))
125 #define EI_ENERGY_MINIMIZATION(e) ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
126 #define EI_TPI(e) ((e) == eiTPI || (e) == eiTPIC)
128 #define EI_STATE_VELOCITY(e) ((e) == eiMD || EI_VV(e) || EI_SD(e))
131 econtLINCS
, econtSHAKE
, econtNR
135 edrNone
, edrSimple
, edrEnsemble
, edrNR
139 edrwConservative
, edrwEqual
, edrwNR
142 /* Combination rule things */
144 eCOMB_NONE
, eCOMB_GEOMETRIC
, eCOMB_ARITHMETIC
, eCOMB_GEOM_SIG_EPS
, eCOMB_NR
149 eNBF_NONE
, eNBF_LJ
, eNBF_BHAM
, eNBF_NR
154 efepNO
, efepYES
, efepNR
159 esolNO
, esolSPC
, esolTIP4P
, esolNR
162 /* Dispersion correction */
164 edispcNO
, edispcEnerPres
, edispcEner
, edispcAllEnerPres
, edispcAllEner
, edispcNR
167 /* Shell types, for completion stuff */
169 eshellCSH
, eshellBASH
, eshellZSH
, eshellNR
172 /* Center of mass motion selection */
174 ecmLINEAR
, ecmANGULAR
, ecmNO
, ecmNR
177 /* New version of simulated annealing */
179 eannNO
, eannSINGLE
, eannPERIODIC
, eannNR
182 /* Implicit solvent algorithms */
184 eisNO
, eisGBSA
, eisNR
187 /* Algorithms for calculating GB radii */
189 egbSTILL
, egbHCT
, egbOBC
, egbNR
193 esaNO
, esaAPPROX
, esaSTILL
, esaNR
198 ewt93
, ewt104
, ewtTABLE
, ewtNR
203 epullNO
, epullUMBRELLA
, epullCONSTRAINT
, epullCONST_F
, epullNR
207 epullgDIST
, epullgDIR
, epullgCYL
, epullgPOS
, epullgDIRPBC
, epullgNR
210 #define PULL_CYL(pull) ((pull)->eGeom == epullgCYL)
214 eQMmethodAM1
, eQMmethodPM3
, eQMmethodRHF
,
215 eQMmethodUHF
, eQMmethodDFT
, eQMmethodB3LYP
, eQMmethodMP2
, eQMmethodCASSCF
, eQMmethodB3LYPLAN
,
216 eQMmethodDIRECT
, eQMmethodNR
220 eQMbasisSTO3G
, eQMbasisSTO3G2
, eQMbasis321G
,
221 eQMbasis321Gp
, eQMbasis321dGp
, eQMbasis621G
,
222 eQMbasis631G
, eQMbasis631Gp
, eQMbasis631dGp
,
223 eQMbasis6311G
, eQMbasisNR
227 eQMMMschemenormal
,eQMMMschemeoniom
,eQMMMschemeNR
231 eMultentOptName
, eMultentOptNo
, eMultentOptLast
, eMultentOptNR