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_ZERO_AT_CUTOFF(e) (EEL_SWITCHED(e) || (e) == eelRF_ZERO || (e) == eelUSER || (e) == eelPMEUSER)
99 evdwCUT
, evdwSWITCH
, evdwSHIFT
, evdwUSER
, evdwENCADSHIFT
, evdwNR
102 #define EVDW_SWITCHED(e) ((e) == evdwSWITCH || (e) == evdwSHIFT || (e) == evdwENCADSHIFT)
104 #define EVDW_ZERO_AT_CUTOFF(e) (EVDW_SWITCHED(e) || (e) == evdwUSER)
107 ensGRID
, ensSIMPLE
, ensNR
110 /* 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
111 energy for temperature control */
114 eiMD
, eiSteep
, eiCG
, eiBD
, eiSD2
, eiNM
, eiLBFGS
, eiTPI
, eiTPIC
, eiSD1
, eiVV
, eiVVAK
, eiNR
116 #define EI_VV(e) ((e) == eiVV || (e) == eiVVAK)
117 #define EI_SD(e) ((e) == eiSD1 || (e) == eiSD2)
118 #define EI_RANDOM(e) (EI_SD(e) || (e) == eiBD)
119 /*above integrators may not conserve momenta*/
120 #define EI_DYNAMICS(e) ((e) == eiMD || EI_SD(e) || (e) == eiBD || EI_VV(e))
121 #define EI_ENERGY_MINIMIZATION(e) ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
122 #define EI_TPI(e) ((e) == eiTPI || (e) == eiTPIC)
124 #define EI_STATE_VELOCITY(e) ((e) == eiMD || EI_VV(e) || EI_SD(e))
127 econtLINCS
, econtSHAKE
, econtNR
131 edrNone
, edrSimple
, edrEnsemble
, edrNR
135 edrwConservative
, edrwEqual
, edrwNR
138 /* Combination rule things */
140 eCOMB_NONE
, eCOMB_GEOMETRIC
, eCOMB_ARITHMETIC
, eCOMB_GEOM_SIG_EPS
, eCOMB_NR
145 eNBF_NONE
, eNBF_LJ
, eNBF_BHAM
, eNBF_NR
150 efepNO
, efepYES
, efepNR
155 esolNO
, esolSPC
, esolTIP4P
, esolNR
158 /* Dispersion correction */
160 edispcNO
, edispcEnerPres
, edispcEner
, edispcAllEnerPres
, edispcAllEner
, edispcNR
163 /* Shell types, for completion stuff */
165 eshellCSH
, eshellBASH
, eshellZSH
, eshellNR
168 /* Center of mass motion selection */
170 ecmLINEAR
, ecmANGULAR
, ecmNO
, ecmNR
173 /* New version of simulated annealing */
175 eannNO
, eannSINGLE
, eannPERIODIC
, eannNR
178 /* Implicit solvent algorithms */
180 eisNO
, eisGBSA
, eisNR
183 /* Algorithms for calculating GB radii */
185 egbSTILL
, egbHCT
, egbOBC
, egbNR
189 esaNO
, esaAPPROX
, esaSTILL
, esaNR
194 ewt93
, ewt104
, ewtTABLE
, ewtNR
199 epullNO
, epullUMBRELLA
, epullCONSTRAINT
, epullCONST_F
, epullNR
203 epullgDIST
, epullgDIR
, epullgCYL
, epullgPOS
, epullgDIRPBC
, epullgNR
206 #define PULL_CYL(pull) ((pull)->eGeom == epullgCYL)
210 eQMmethodAM1
, eQMmethodPM3
, eQMmethodRHF
,
211 eQMmethodUHF
, eQMmethodDFT
, eQMmethodB3LYP
, eQMmethodMP2
, eQMmethodCASSCF
, eQMmethodB3LYPLAN
,
212 eQMmethodDIRECT
, eQMmethodNR
216 eQMbasisSTO3G
, eQMbasisSTO3G2
, eQMbasis321G
,
217 eQMbasis321Gp
, eQMbasis321dGp
, eQMbasis621G
,
218 eQMbasis631G
, eQMbasis631Gp
, eQMbasis631dGp
,
219 eQMbasis6311G
, eQMbasisNR
223 eQMMMschemenormal
,eQMMMschemeoniom
,eQMMMschemeNR
227 eMultentOptName
, eMultentOptNo
, eMultentOptLast
, eMultentOptNR
231 eAdressOff
,eAdressConst
, eAdressXSplit
, eAdressSphere
, eAdressNR
235 eAdressICOff
,eAdressICInterpolate
, eAdressICThermoForce
, eAdressICNR
239 eAdressSITEcom
,eAdressSITEcog
, eAdressSITEatom
, eAdressSITENR