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
40 /* note: these enums should correspond to the names in gmxlib/names.c */
43 epbcXYZ
, epbcNONE
, epbcXY
, epbcSCREW
, epbcNR
47 etcNO
, etcBERENDSEN
, etcNOSEHOOVER
, etcYES
, etcANDERSEN
, etcANDERSENINTERVAL
, etcVRESCALE
, etcNR
48 }; /* yes is an alias for berendsen */
51 epcNO
, epcBERENDSEN
, epcPARRINELLORAHMAN
, epcISOTROPIC
, epcMTTK
, epcNR
52 }; /* isotropic is an alias for berendsen */
54 /* trotter decomposition extended variable parts */
56 etrtNONE
, etrtNHC
, etrtBAROV
, etrtBARONHC
, etrtNHC2
, etrtBAROV2
, etrtBARONHC2
,
57 etrtVELOCITY1
, etrtVELOCITY2
, etrtPOSITION
, etrtSKIPALL
, etrtNR
60 /* sequenced parts of the trotter decomposition */
62 ettTSEQ0
, ettTSEQ1
, ettTSEQ2
, ettTSEQ3
, ettTSEQ4
, ettTSEQMAX
66 epctISOTROPIC
, epctSEMIISOTROPIC
, epctANISOTROPIC
,
67 epctSURFACETENSION
, epctNR
71 erscNO
, erscALL
, erscCOM
, erscNR
75 * eelNOTUSED1 used to be GB, but to enable generalized born with different
76 * forms of electrostatics (RF, switch, etc.) in the future it is now selected
77 * separately (through the implicit_solvent option).
80 eelCUT
, eelRF
, eelGRF
, eelPME
, eelEWALD
, eelPPPM
,
81 eelPOISSON
, eelSWITCH
, eelSHIFT
, eelUSER
, eelGB_NOTUSED
, eelRF_NEC
, eelENCADSHIFT
,
82 eelPMEUSER
, eelPMESWITCH
, eelPMEUSERSWITCH
, eelRF_ZERO
, eelNR
87 eewg3D
, eewg3DC
, eewgNR
90 #define EEL_RF(e) ((e) == eelRF || (e) == eelGRF || (e) == eelRF_NEC || (e) == eelRF_ZERO )
92 #define EEL_PME(e) ((e) == eelPME || (e) == eelPMESWITCH || (e) == eelPMEUSER || (e) == eelPMEUSERSWITCH)
93 #define EEL_FULL(e) (EEL_PME(e) || (e) == eelPPPM || (e) == eelPOISSON || (e) == eelEWALD)
95 #define EEL_SWITCHED(e) ((e) == eelSWITCH || (e) == eelSHIFT || (e) == eelENCADSHIFT || (e) == eelPMESWITCH || (e) == eelPMEUSERSWITCH)
97 #define EEL_IS_ZERO_AT_CUTOFF(e) (EEL_SWITCHED(e) || (e) == eelRF_ZERO)
99 #define EEL_MIGHT_BE_ZERO_AT_CUTOFF(e) (EEL_IS_ZERO_AT_CUTOFF(e) || (e) == eelUSER || (e) == eelPMEUSER)
102 evdwCUT
, evdwSWITCH
, evdwSHIFT
, evdwUSER
, evdwENCADSHIFT
, evdwNR
105 #define EVDW_SWITCHED(e) ((e) == evdwSWITCH || (e) == evdwSHIFT || (e) == evdwENCADSHIFT)
107 #define EVDW_IS_ZERO_AT_CUTOFF(e) EVDW_SWITCHED(e)
109 #define EVDW_MIGHT_BE_ZERO_AT_CUTOFF(e) (EVDW_IS_ZERO_AT_CUTOFF(e) || (e) == evdwUSER)
112 ensGRID
, ensSIMPLE
, ensNR
115 /* 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
116 energy for temperature control */
119 eiMD
, eiSteep
, eiCG
, eiBD
, eiSD2
, eiNM
, eiLBFGS
, eiTPI
, eiTPIC
, eiSD1
, eiVV
, eiVVAK
, eiNR
121 #define EI_VV(e) ((e) == eiVV || (e) == eiVVAK)
122 #define EI_SD(e) ((e) == eiSD1 || (e) == eiSD2)
123 #define EI_RANDOM(e) (EI_SD(e) || (e) == eiBD)
124 /*above integrators may not conserve momenta*/
125 #define EI_DYNAMICS(e) ((e) == eiMD || EI_SD(e) || (e) == eiBD || EI_VV(e))
126 #define EI_ENERGY_MINIMIZATION(e) ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
127 #define EI_TPI(e) ((e) == eiTPI || (e) == eiTPIC)
129 #define EI_STATE_VELOCITY(e) ((e) == eiMD || EI_VV(e) || EI_SD(e))
132 econtLINCS
, econtSHAKE
, econtNR
136 edrNone
, edrSimple
, edrEnsemble
, edrNR
140 edrwConservative
, edrwEqual
, edrwNR
143 /* Combination rule things */
145 eCOMB_NONE
, eCOMB_GEOMETRIC
, eCOMB_ARITHMETIC
, eCOMB_GEOM_SIG_EPS
, eCOMB_NR
150 eNBF_NONE
, eNBF_LJ
, eNBF_BHAM
, eNBF_NR
155 efepNO
, efepYES
, efepNR
158 /* separate_dhdl_file selection */
161 /* NOTE: YES is the first one. Do NOT interpret this one as a gmx_bool */
162 sepdhdlfileYES
, sepdhdlfileNO
, sepdhdlfileNR
165 /* dhdl_derivatives selection */
168 /* NOTE: YES is the first one. Do NOT interpret this one as a gmx_bool */
169 dhdlderivativesYES
, dhdlderivativesNO
, dhdlderivativesNR
174 esolNO
, esolSPC
, esolTIP4P
, esolNR
177 /* Dispersion correction */
179 edispcNO
, edispcEnerPres
, edispcEner
, edispcAllEnerPres
, edispcAllEner
, edispcNR
182 /* Shell types, for completion stuff */
184 eshellCSH
, eshellBASH
, eshellZSH
, eshellNR
187 /* Center of mass motion selection */
189 ecmLINEAR
, ecmANGULAR
, ecmNO
, ecmNR
192 /* New version of simulated annealing */
194 eannNO
, eannSINGLE
, eannPERIODIC
, eannNR
197 /* Implicit solvent algorithms */
199 eisNO
, eisGBSA
, eisNR
202 /* Algorithms for calculating GB radii */
204 egbSTILL
, egbHCT
, egbOBC
, egbNR
208 esaAPPROX
, esaNO
, esaSTILL
, esaNR
213 ewt93
, ewt104
, ewtTABLE
, ewt126
, ewtNR
218 epullNO
, epullUMBRELLA
, epullCONSTRAINT
, epullCONST_F
, epullNR
222 epullgDIST
, epullgDIR
, epullgCYL
, epullgPOS
, epullgDIRPBC
, epullgNR
225 #define PULL_CYL(pull) ((pull)->eGeom == epullgCYL)
227 /* Enforced rotation groups */
229 erotgISO
, erotgISOPF
,
230 erotgPM
, erotgPMPF
,
231 erotgRM
, erotgRMPF
,
232 erotgRM2
, erotgRM2PF
,
233 erotgFLEX
, erotgFLEXT
,
234 erotgFLEX2
, erotgFLEX2T
,
239 erotgFitRMSD
, erotgFitNORM
, erotgFitNR
244 eQMmethodAM1
, eQMmethodPM3
, eQMmethodRHF
,
245 eQMmethodUHF
, eQMmethodDFT
, eQMmethodB3LYP
, eQMmethodMP2
, eQMmethodCASSCF
, eQMmethodB3LYPLAN
,
246 eQMmethodDIRECT
, eQMmethodNR
250 eQMbasisSTO3G
, eQMbasisSTO3G2
, eQMbasis321G
,
251 eQMbasis321Gp
, eQMbasis321dGp
, eQMbasis621G
,
252 eQMbasis631G
, eQMbasis631Gp
, eQMbasis631dGp
,
253 eQMbasis6311G
, eQMbasisNR
257 eQMMMschemenormal
,eQMMMschemeoniom
,eQMMMschemeNR
261 eMultentOptName
, eMultentOptNo
, eMultentOptLast
, eMultentOptNR
265 eAdressOff
,eAdressConst
, eAdressXSplit
, eAdressSphere
, eAdressNR
269 eAdressICOff
, eAdressICThermoForce
, eAdressICNR
273 eAdressSITEcom
,eAdressSITEcog
, eAdressSITEatom
, eAdressSITEatomatom
, eAdressSITENR