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
, epcNR
56 }; /* isotropic is an alias for berendsen */
59 epctISOTROPIC
, epctSEMIISOTROPIC
, epctANISOTROPIC
,
60 epctSURFACETENSION
, epctNR
64 erscNO
, erscALL
, erscCOM
, erscNR
68 * eelNOTUSED1 used to be GB, but to enable generalized born with different
69 * forms of electrostatics (RF, switch, etc.) in the future it is now selected
70 * separately (through the implicit_solvent option).
73 eelCUT
, eelRF
, eelGRF
, eelPME
, eelEWALD
, eelPPPM
,
74 eelPOISSON
, eelSWITCH
, eelSHIFT
, eelUSER
, eelGB_NOTUSED
, eelRF_NEC
, eelENCADSHIFT
,
75 eelPMEUSER
, eelPMESWITCH
, eelPMEUSERSWITCH
, eelRF_ZERO
, eelNR
80 eewg3D
, eewg3DC
, eewgNR
83 #define EEL_RF(e) ((e) == eelRF || (e) == eelGRF || (e) == eelRF_NEC || (e) == eelRF_ZERO )
85 #define EEL_PME(e) ((e) == eelPME || (e) == eelPMESWITCH || (e) == eelPMEUSER || (e) == eelPMEUSERSWITCH)
86 #define EEL_FULL(e) (EEL_PME(e) || (e) == eelPPPM || (e) == eelPOISSON || (e) == eelEWALD)
88 #define EEL_SWITCHED(e) ((e) == eelSWITCH || (e) == eelSHIFT || (e) == eelENCADSHIFT || (e) == eelPMESWITCH || (e) == eelPMEUSERSWITCH)
90 #define EEL_ZERO_AT_CUTOFF(e) (EEL_SWITCHED(e) || (e) == eelRF_ZERO || (e) == eelUSER || (e) == eelPMEUSER)
93 evdwCUT
, evdwSWITCH
, evdwSHIFT
, evdwUSER
, evdwENCADSHIFT
, evdwNR
96 #define EVDW_SWITCHED(e) ((e) == evdwSWITCH || (e) == evdwSHIFT || (e) == evdwENCADSHIFT)
98 #define EVDW_ZERO_AT_CUTOFF(e) (EVDW_SWITCHED(e) || (e) == evdwUSER)
101 ensGRID
, ensSIMPLE
, ensNR
105 eiMD
, eiSteep
, eiCG
, eiBD
, eiSD2
, eiNM
, eiLBFGS
, eiTPI
, eiTPIC
, eiSD1
, eiNR
108 #define EI_SD(e) ((e) == eiSD1 || (e) == eiSD2)
109 #define EI_RANDOM(e) (EI_SD(e) || (e) == eiBD)
110 /*above integrators may not conserve momenta*/
111 #define EI_DYNAMICS(e) ((e) == eiMD || EI_SD(e) || (e) == eiBD)
112 #define EI_ENERGY_MINIMIZATION(e) ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
113 #define EI_TPI(e) ((e) == eiTPI || (e) == eiTPIC)
115 #define EI_STATE_VELOCITY(e) ((e) == eiMD || EI_SD(e))
118 econtLINCS
, econtSHAKE
, econtNR
122 edrNone
, edrSimple
, edrEnsemble
, edrNR
126 edrwConservative
, edrwEqual
, edrwNR
129 /* Combination rule things */
131 eCOMB_NONE
, eCOMB_GEOMETRIC
, eCOMB_ARITHMETIC
, eCOMB_GEOM_SIG_EPS
, eCOMB_NR
136 eNBF_NONE
, eNBF_LJ
, eNBF_BHAM
, eNBF_NR
141 efepNO
, efepYES
, efepNR
146 esolNO
, esolSPC
, esolTIP4P
, esolNR
149 /* Dispersion correction */
151 edispcNO
, edispcEnerPres
, edispcEner
, edispcAllEnerPres
, edispcAllEner
, edispcNR
154 /* Shell types, for completion stuff */
156 eshellCSH
, eshellBASH
, eshellZSH
, eshellNR
159 /* Center of mass motion selection */
161 ecmLINEAR
, ecmANGULAR
, ecmNO
, ecmNR
164 /* New version of simulated annealing */
166 eannNO
, eannSINGLE
, eannPERIODIC
, eannNR
169 /* Implicit solvent algorithms */
171 eisNO
, eisGBSA
, eisNR
174 /* Algorithms for calculating GB radii */
176 egbSTILL
, egbHCT
, egbOBC
, egbNR
180 esaNO
, esaAPPROX
, esaSTILL
, esaNR
185 ewt93
, ewt104
, ewtTABLE
, ewtNR
190 epullNO
, epullUMBRELLA
, epullCONSTRAINT
, epullCONST_F
, epullNR
194 epullgDIST
, epullgDIR
, epullgCYL
, epullgPOS
, epullgDIRPBC
, epullgNR
197 #define PULL_CYL(pull) ((pull)->eGeom == epullgCYL)
199 /* Enforced rotation */
201 erotgFIXED
, erotgFIXED_PLANE
, erotgFOLLOW_PLANE
, erotgFLEX1
, erotgFLEX2
, erotgNR
205 erotgFitRMSD
, erotgFitNORM
, erotgFitNR
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