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
39 /* note: these enums should correspond to the names in gmxlib/names.c */
42 epbcXYZ
, epbcNONE
, epbcXY
, epbcSCREW
, epbcNR
46 etcNO
, etcBERENDSEN
, etcNOSEHOOVER
, etcYES
, etcANDERSEN
, etcANDERSENINTERVAL
,
47 etcVRESCALE
, etcTROTTER
, etcTROTTEREKINH
, etcNR
48 }; /* yes is an alias for berendsen */
51 epcNO
, epcBERENDSEN
, epcPARRINELLORAHMAN
, epcISOTROPIC
, epcTROTTER
, epcNR
52 }; /* isotropic is an alias for berendsen */
55 epctISOTROPIC
, epctSEMIISOTROPIC
, epctANISOTROPIC
,
56 epctSURFACETENSION
, epctNR
60 erscNO
, erscALL
, erscCOM
, erscNR
64 * eelNOTUSED1 used to be GB, but to enable generalized born with different
65 * forms of electrostatics (RF, switch, etc.) in the future it is now selected
66 * separately (through the implicit_solvent option).
69 eelCUT
, eelRF
, eelGRF
, eelPME
, eelEWALD
, eelPPPM
,
70 eelPOISSON
, eelSWITCH
, eelSHIFT
, eelUSER
, eelGB_NOTUSED
, eelRF_NEC
, eelENCADSHIFT
,
71 eelPMEUSER
, eelPMESWITCH
, eelPMEUSERSWITCH
, eelRF_ZERO
, eelNR
76 eewg3D
, eewg3DC
, eewgNR
79 #define EEL_RF(e) ((e) == eelRF || (e) == eelGRF || (e) == eelRF_NEC || (e) == eelRF_ZERO )
81 #define EEL_PME(e) ((e) == eelPME || (e) == eelPMESWITCH || (e) == eelPMEUSER || (e) == eelPMEUSERSWITCH)
82 #define EEL_FULL(e) (EEL_PME(e) || (e) == eelPPPM || (e) == eelPOISSON || (e) == eelEWALD)
84 #define EEL_SWITCHED(e) ((e) == eelSWITCH || (e) == eelSHIFT || (e) == eelENCADSHIFT || (e) == eelPMESWITCH || (e) == eelPMEUSERSWITCH)
86 #define EEL_ZERO_AT_CUTOFF(e) (EEL_SWITCHED(e) || (e) == eelRF_ZERO || (e) == eelUSER || (e) == eelPMEUSER)
89 evdwCUT
, evdwSWITCH
, evdwSHIFT
, evdwUSER
, evdwENCADSHIFT
, evdwNR
92 #define EVDW_SWITCHED(e) ((e) == evdwSWITCH || (e) == evdwSHIFT || (e) == evdwENCADSHIFT)
94 #define EVDW_ZERO_AT_CUTOFF(e) (EVDW_SWITCHED(e) || (e) == evdwUSER)
97 ensGRID
, ensSIMPLE
, ensNR
101 eiMD
, eiSteep
, eiCG
, eiBD
, eiSD2
, eiNM
, eiLBFGS
, eiTPI
, eiTPIC
, eiSD1
, eiVV
, eiNR
104 #define EI_SD(e) ((e) == eiSD1 || (e) == eiSD2)
105 #define EI_RANDOM(e) (EI_SD(e) || (e) == eiBD)
106 /*above integrators may not conserve momenta*/
107 #define EI_DYNAMICS(e) ((e) == eiMD || EI_SD(e) || (e) == eiBD || (e) == eiVV)
108 #define EI_ENERGY_MINIMIZATION(e) ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
109 #define EI_TPI(e) ((e) == eiTPI || (e) == eiTPIC)
111 #define EI_STATE_VELOCITY(e) ((e) == eiMD || (e) == eiVV || EI_SD(e))
114 econtLINCS
, econtSHAKE
, econtNR
118 edrNone
, edrSimple
, edrEnsemble
, edrNR
122 edrwConservative
, edrwEqual
, edrwNR
125 /* Combination rule things */
127 eCOMB_NONE
, eCOMB_GEOMETRIC
, eCOMB_ARITHMETIC
, eCOMB_GEOM_SIG_EPS
, eCOMB_NR
132 eNBF_NONE
, eNBF_LJ
, eNBF_BHAM
, eNBF_NR
137 efepNO
, efepYES
, efepNR
142 esolNO
, esolSPC
, esolTIP4P
, esolNR
145 /* Dispersion correction */
147 edispcNO
, edispcEnerPres
, edispcEner
, edispcAllEnerPres
, edispcAllEner
, edispcNR
150 /* Shell types, for completion stuff */
152 eshellCSH
, eshellBASH
, eshellZSH
, eshellNR
155 /* Center of mass motion selection */
157 ecmLINEAR
, ecmANGULAR
, ecmNO
, ecmNR
160 /* New version of simulated annealing */
162 eannNO
, eannSINGLE
, eannPERIODIC
, eannNR
165 /* Implicit solvent algorithms */
167 eisNO
, eisGBSA
, eisNR
170 /* Algorithms for calculating GB radii */
172 egbSTILL
, egbHCT
, egbOBC
, egbNR
176 esaNO
, esaAPPROX
, esaSTILL
, esaNR
181 ewt93
, ewt104
, ewtTABLE
, ewtNR
186 epullNO
, epullUMBRELLA
, epullCONSTRAINT
, epullCONST_F
, epullNR
190 epullgDIST
, epullgDIR
, epullgCYL
, epullgPOS
, epullgNR
193 #define PULL_CYL(pull) ((pull)->eGeom == epullgCYL)
197 eQMmethodAM1
, eQMmethodPM3
, eQMmethodRHF
,
198 eQMmethodUHF
, eQMmethodDFT
, eQMmethodB3LYP
, eQMmethodMP2
, eQMmethodCASSCF
, eQMmethodB3LYPLAN
,
199 eQMmethodDIRECT
, eQMmethodNR
203 eQMbasisSTO3G
, eQMbasisSTO3G2
, eQMbasis321G
,
204 eQMbasis321Gp
, eQMbasis321dGp
, eQMbasis621G
,
205 eQMbasis631G
, eQMbasis631Gp
, eQMbasis631dGp
,
206 eQMbasis6311G
, eQMbasisNR
210 eQMMMschemenormal
,eQMMMschemeoniom
,eQMMMschemeNR
214 eMultentOptName
, eMultentOptNo
, eMultentOptLast
, eMultentOptNR