Gromacs  2019
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Enumerations | Functions | Variables
md_enums.h File Reference
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for md_enums.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares enumerated types used throughout the code.

Author
David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se

Macros

#define ETCOUPLTYPE(e)   enum_name(e, etcNR, etcoupl_names)
 Macro for selecting t coupling string.
 
#define ETC_ANDERSEN(e)   (((e) == etcANDERSENMASSIVE) || ((e) == etcANDERSEN))
 Return whether this is andersen coupling.
 
#define EPCOUPLTYPE(e)   enum_name(e, epcNR, epcoupl_names)
 Macro to return the correct pcoupling string.
 
#define EREFSCALINGTYPE(e)   enum_name(e, erscNR, erefscaling_names)
 Macro to select correct coordinate scaling string.
 
#define EPCOUPLTYPETYPE(e)   enum_name(e, epctNR, epcoupltype_names)
 Macro to select the right string for pcoupl type.
 
#define ECUTSCHEME(e)   enum_name(e, ecutsNR, ecutscheme_names)
 Macro to select the right string for cutoff scheme.
 
#define INTMODIFIER(e)   enum_name(e, eintmodNR, eintmod_names)
 Macro to select the correct string for modifiers.
 
#define EELTYPE(e)   enum_name(e, eelNR, eel_names)
 Macro for correct string for Coulomb treatment.
 
#define EEL_RF(e)   ((e) == eelRF || (e) == eelGRF || (e) == eelRF_NEC_UNSUPPORTED || (e) == eelRF_ZERO )
 Macro telling us whether we use reaction field.
 
#define EEL_PME(e)   ((e) == eelPME || (e) == eelPMESWITCH || (e) == eelPMEUSER || (e) == eelPMEUSERSWITCH || (e) == eelP3M_AD)
 Macro telling us whether we use PME.
 
#define EEL_PME_EWALD(e)   (EEL_PME(e) || (e) == eelEWALD)
 Macro telling us whether we use PME or full Ewald.
 
#define EEL_FULL(e)   (EEL_PME_EWALD(e) || (e) == eelPOISSON)
 Macro telling us whether we use full electrostatics of any sort.
 
#define EEL_USER(e)   ((e) == eelUSER || (e) == eelPMEUSER || (e) == (eelPMEUSERSWITCH))
 Macro telling us whether we use user defined electrostatics.
 
#define EVDWTYPE(e)   enum_name(e, evdwNR, evdw_names)
 Macro for selecting correct string for VdW treatment.
 
#define ELJPMECOMBNAMES(e)   enum_name(e, eljpmeNR, eljpme_names)
 Macro for correct LJPME comb rule name.
 
#define EVDW_PME(e)   ((e) == evdwPME)
 Macro to tell us whether we use LJPME.
 
#define ENS(e)   enum_name(e, ensNR, ens_names)
 Macro for correct NS algorithm.
 
#define EI(e)   enum_name(e, eiNR, ei_names)
 Macro returning integrator string.
 
#define EI_MIMIC(e)   ((e) == eiMimic)
 Do we use MiMiC QM/MM?
 
#define EI_VV(e)   ((e) == eiVV || (e) == eiVVAK)
 Do we use velocity Verlet.
 
#define EI_MD(e)   ((e) == eiMD || EI_VV(e) || EI_MIMIC(e))
 Do we use molecular dynamics.
 
#define EI_SD(e)   ((e) == eiSD1)
 Do we use stochastic dynamics.
 
#define EI_RANDOM(e)   (EI_SD(e) || (e) == eiBD)
 Do we use any stochastic integrator.
 
#define EI_DYNAMICS(e)   (EI_MD(e) || EI_RANDOM(e))
 Do we use any type of dynamics.
 
#define EI_ENERGY_MINIMIZATION(e)   ((e) == eiSteep || (e) == eiCG || (e) == eiLBFGS)
 Or do we use minimization.
 
#define EI_TPI(e)   ((e) == eiTPI || (e) == eiTPIC)
 Do we apply test particle insertion.
 
#define EI_STATE_VELOCITY(e)   (EI_MD(e) || EI_SD(e))
 Do we deal with particle velocities.
 
#define ECONSTRTYPE(e)   enum_name(e, econtNR, econstr_names)
 Macro to select the correct string.
 
#define EDISRETYPE(e)   enum_name(e, edrNR, edisre_names)
 Macro to select the right disre algorithm string.
 
#define EDISREWEIGHTING(e)   enum_name(e, edrwNR, edisreweighting_names)
 Macro corresponding to dr weighting.
 
#define ECOMBNAME(e)   enum_name(e, eCOMB_NR, ecomb_names)
 Macro to select the comb rule string.
 
#define ENBFNAME(e)   enum_name(e, eNBF_NR, enbf_names)
 Macro for correct VdW potential string.
 
#define ESIMTEMP(e)   enum_name(e, esimtempNR, esimtemp_names)
 Macro for correct tempering string.
 
#define EFEPTYPE(e)   enum_name(e, efepNR, efep_names)
 Macro corresponding to FEP string.
 
#define ELAMSTATS_EXPANDED(e)   ((e) > elamstatsNO)
 Macro telling us whether we use expanded ensemble.
 
#define EWL(e)   ((e) == elamstatsWL || (e) == elamstatsWWL)
 Macro telling us whether we use some kind of Wang-Landau.
 
#define SEPDHDLFILETYPE(e)   enum_name(e, esepdhdlfileNR, separate_dhdl_file_names)
 Monster macro for DHDL file selection.
 
#define DHDLDERIVATIVESTYPE(e)   enum_name(e, edhdlderivativesNR, dhdl_derivatives_names)
 YAMM (Yet another monster macro)
 
#define ESOLTYPE(e)   enum_name(e, esolNR, esol_names)
 Macro lest we print the wrong solvent model string.
 
#define EDISPCORR(e)   enum_name(e, edispcNR, edispc_names)
 Macro for dispcorr string.
 
#define ECOM(e)   enum_name(e, ecmNR, ecm_names)
 Macro for COM removal string.
 
#define EANNEAL(e)   enum_name(e, eannNR, eann_names)
 And macro for simulated annealing string.
 
#define EWALLTYPE(e)   enum_name(e, ewtNR, ewt_names)
 Macro for wall type string.
 
#define EPULLTYPE(e)   enum_name(e, epullNR, epull_names)
 Macro for pulling string.
 
#define EPULLGEOM(e)   enum_name(e, epullgNR, epullg_names)
 Macro for pull group string.
 
#define EROTGEOM(e)   enum_name(e, erotgNR, erotg_names)
 Macro for rot group names.
 
#define EROTORIGIN(e)   enum_name(e, erotgOriginNR, erotg_originnames)
 Macro for rot group origin names.
 
#define EROTFIT(e)   enum_name(e, erotgFitNR, erotg_fitnames)
 Macro for rot group fit names.
 
#define ESWAPTYPE(e)   enum_name(e, eSwapTypesNR, eSwapTypes_names)
 Macro for swapping string.
 
#define EQMMETHOD(e)   enum_name(e, eQMmethodNR, eQMmethod_names)
 Macro to pick QMMM method name.
 
#define EQMBASIS(e)   enum_name(e, eQMbasisNR, eQMbasis_names)
 Macro to pick right basis function string.
 
#define EQMMMSCHEME(e)   enum_name(e, eQMMMschemeNR, eQMMMscheme_names)
 Macro to pick QMMMM scheme name.
 

Enumerations

enum  eCompartment { eCompA, eCompB, eCompNR }
 The two compartments for CompEL setups.
 
enum  eChannel { eChan0, eChan1, eChanNR }
 The channels that define with their COM the compartment boundaries in CompEL setups. More...
 
enum  {
  etcNO, etcBERENDSEN, etcNOSEHOOVER, etcYES,
  etcANDERSEN, etcANDERSENMASSIVE, etcVRESCALE, etcNR
}
 Temperature coupling type. More...
 
enum  {
  epcNO, epcBERENDSEN, epcPARRINELLORAHMAN, epcISOTROPIC,
  epcMTTK, epcNR
}
 Pressure coupling types. More...
 
enum  {
  efbposresZERO, efbposresSPHERE, efbposresCYLINDER, efbposresX,
  efbposresY, efbposresZ, efbposresCYLINDERX, efbposresCYLINDERY,
  efbposresCYLINDERZ, efbposresNR
}
 Flat-bottom posres geometries.
 
enum  { erscNO, erscALL, erscCOM, erscNR }
 Relative coordinate scaling type for position restraints.
 
enum  {
  etrtNONE, etrtNHC, etrtBAROV, etrtBARONHC,
  etrtNHC2, etrtBAROV2, etrtBARONHC2, etrtVELOCITY1,
  etrtVELOCITY2, etrtPOSITION, etrtSKIPALL, etrtNR
}
 Trotter decomposition extended variable parts.
 
enum  {
  ettTSEQ0, ettTSEQ1, ettTSEQ2, ettTSEQ3,
  ettTSEQ4, ettTSEQMAX
}
 Sequenced parts of the trotter decomposition.
 
enum  {
  epctISOTROPIC, epctSEMIISOTROPIC, epctANISOTROPIC, epctSURFACETENSION,
  epctNR
}
 Pressure coupling type.
 
enum  { ecutsVERLET, ecutsGROUP, ecutsNR }
 \brief Cutoff scheme
 
enum  eintmod {
  eintmodPOTSHIFT_VERLET, eintmodPOTSHIFT, eintmodNONE, eintmodPOTSWITCH,
  eintmodEXACTCUTOFF, eintmodFORCESWITCH, eintmodNR
}
 Coulomb / VdW interaction modifiers. More...
 
enum  {
  eelCUT, eelRF, eelGRF, eelPME,
  eelEWALD, eelP3M_AD, eelPOISSON, eelSWITCH,
  eelSHIFT, eelUSER, eelGB_NOTUSED, eelRF_NEC_UNSUPPORTED,
  eelENCADSHIFT, eelPMEUSER, eelPMESWITCH, eelPMEUSERSWITCH,
  eelRF_ZERO, eelNR
}
 Cut-off treatment for Coulomb.
 
enum  { eewg3D, eewg3DC, eewgNR }
 Ewald geometry.
 
enum  {
  evdwCUT, evdwSWITCH, evdwSHIFT, evdwUSER,
  evdwENCADSHIFT, evdwPME, evdwNR
}
 Van der Waals interaction treatment.
 
enum  { eljpmeGEOM, eljpmeLB, eljpmeNR }
 Type of long-range VdW treatment of combination rules.
 
enum  { ensGRID, ensSIMPLE, ensNR }
 Neighborsearching algorithm.
 
enum  {
  eiMD, eiSteep, eiCG, eiBD,
  eiSD2_REMOVED, eiNM, eiLBFGS, eiTPI,
  eiTPIC, eiSD1, eiVV, eiVVAK,
  eiMimic, eiNR
}
 Integrator algorithm. More...
 
enum  { econtLINCS, econtSHAKE, econtNR }
 Constraint algorithm.
 
enum  { edrNone, edrSimple, edrEnsemble, edrNR }
 Distance restraint refinement algorithm.
 
enum  { edrwConservative, edrwEqual, edrwNR }
 Distance restraints weighting type.
 
enum  {
  eCOMB_NONE, eCOMB_GEOMETRIC, eCOMB_ARITHMETIC, eCOMB_GEOM_SIG_EPS,
  eCOMB_NR
}
 Combination rule algorithm.
 
enum  { eNBF_NONE, eNBF_LJ, eNBF_BHAM, eNBF_NR }
 Van der Waals potential.
 
enum  { esimtempGEOMETRIC, esimtempEXPONENTIAL, esimtempLINEAR, esimtempNR }
 Simulated tempering methods.
 
enum  {
  efepNO, efepYES, efepSTATIC, efepSLOWGROWTH,
  efepEXPANDED, efepNR
}
 Free energy perturbation type. More...
 
enum  {
  efptFEP, efptMASS, efptCOUL, efptVDW,
  efptBONDED, efptRESTRAINT, efptTEMPERATURE, efptNR
}
 Free energy pertubation coupling types.
 
enum  {
  edHdLPrintEnergyNO, edHdLPrintEnergyTOTAL, edHdLPrintEnergyPOTENTIAL, edHdLPrintEnergyYES,
  edHdLPrintEnergyNR
}
 What to print for free energy calculations. More...
 
enum  {
  elamstatsNO, elamstatsMETROPOLIS, elamstatsBARKER, elamstatsMINVAR,
  elamstatsWL, elamstatsWWL, elamstatsNR
}
 How the lambda weights are calculated. More...
 
enum  {
  elmcmoveNO, elmcmoveMETROPOLIS, elmcmoveBARKER, elmcmoveGIBBS,
  elmcmoveMETGIBBS, elmcmoveNR
}
 How moves in lambda are calculated. More...
 
enum  {
  elmceqNO, elmceqYES, elmceqWLDELTA, elmceqNUMATLAM,
  elmceqSTEPS, elmceqSAMPLES, elmceqRATIO, elmceqNR
}
 How we decide whether weights have reached equilibrium. More...
 
enum  { esepdhdlfileYES, esepdhdlfileNO, esepdhdlfileNR }
 separate_dhdl_file selection More...
 
enum  { edhdlderivativesYES, edhdlderivativesNO, edhdlderivativesNR }
 dhdl_derivatives selection \ More...
 
enum  { esolNO, esolSPC, esolTIP4P, esolNR }
 Solvent model. More...
 
enum  {
  edispcNO, edispcEnerPres, edispcEner, edispcAllEnerPres,
  edispcAllEner, edispcNR
}
 Dispersion correction.
 
enum  {
  ecmLINEAR, ecmANGULAR, ecmNO, ecmLINEAR_ACCELERATION_CORRECTION,
  ecmNR
}
 Center of mass motion removal algorithm.
 
enum  { eannNO, eannSINGLE, eannPERIODIC, eannNR }
 Algorithm for simulated annealing.
 
enum  {
  ewt93, ewt104, ewtTABLE, ewt126,
  ewtNR
}
 Wall types.
 
enum  {
  epullUMBRELLA, epullCONSTRAINT, epullCONST_F, epullFLATBOTTOM,
  epullFLATBOTTOMHIGH, epullEXTERNAL, epullNR
}
 Pulling algorithm.
 
enum  {
  epullgDIST, epullgDIR, epullgCYL, epullgDIRPBC,
  epullgDIRRELATIVE, epullgANGLE, epullgDIHEDRAL, epullgANGLEAXIS,
  epullgNR
}
 Control of pull groups.
 
enum  {
  erotgISO, erotgISOPF, erotgPM, erotgPMPF,
  erotgRM, erotgRMPF, erotgRM2, erotgRM2PF,
  erotgFLEX, erotgFLEXT, erotgFLEX2, erotgFLEX2T,
  erotgNR
}
 Enforced rotation groups.
 
enum  { erotgFitRMSD, erotgFitNORM, erotgFitPOT, erotgFitNR }
 Rotation group fitting type.
 
enum  eSwaptype {
  eswapNO, eswapX, eswapY, eswapZ,
  eSwapTypesNR
}
 Direction along which ion/water swaps happen. More...
 
enum  { eGrpSplit0, eGrpSplit1, eGrpSolvent, eSwapFixedGrpNR }
 Swap group splitting type. More...
 
enum  {
  eQMmethodAM1, eQMmethodPM3, eQMmethodRHF, eQMmethodUHF,
  eQMmethodDFT, eQMmethodB3LYP, eQMmethodMP2, eQMmethodCASSCF,
  eQMmethodB3LYPLAN, eQMmethodDIRECT, eQMmethodNR
}
 QMMM methods.
 
enum  {
  eQMbasisSTO3G, eQMbasisSTO3G2, eQMbasis321G, eQMbasis321Gp,
  eQMbasis321dGp, eQMbasis621G, eQMbasis631G, eQMbasis631Gp,
  eQMbasis631dGp, eQMbasis6311G, eQMbasisNR
}
 QMMM basis function for QM part.
 
enum  { eQMMMschemenormal, eQMMMschemeoniom, eQMMMschemeNR }
 QMMM scheme.
 
enum  gmx_nblist_kernel_geometry {
  GMX_NBLIST_GEOMETRY_PARTICLE_PARTICLE, GMX_NBLIST_GEOMETRY_WATER3_PARTICLE, GMX_NBLIST_GEOMETRY_WATER3_WATER3, GMX_NBLIST_GEOMETRY_WATER4_PARTICLE,
  GMX_NBLIST_GEOMETRY_WATER4_WATER4, GMX_NBLIST_GEOMETRY_CG_CG, GMX_NBLIST_GEOMETRY_NR
}
 Neighborlist geometry type. More...
 
enum  gmx_nbkernel_elec {
  GMX_NBKERNEL_ELEC_NONE, GMX_NBKERNEL_ELEC_COULOMB, GMX_NBKERNEL_ELEC_REACTIONFIELD, GMX_NBKERNEL_ELEC_CUBICSPLINETABLE,
  GMX_NBKERNEL_ELEC_EWALD, GMX_NBKERNEL_ELEC_NR
}
 Types of electrostatics calculations. More...
 
enum  gmx_nbkernel_vdw {
  GMX_NBKERNEL_VDW_NONE, GMX_NBKERNEL_VDW_LENNARDJONES, GMX_NBKERNEL_VDW_BUCKINGHAM, GMX_NBKERNEL_VDW_CUBICSPLINETABLE,
  GMX_NBKERNEL_VDW_LJEWALD, GMX_NBKERNEL_VDW_NR
}
 Types of vdw calculations available. More...
 
enum  gmx_nblist_interaction_type { GMX_NBLIST_INTERACTION_STANDARD, GMX_NBLIST_INTERACTION_FREE_ENERGY, GMX_NBLIST_INTERACTION_NR }
 Types of interactions inside the neighborlist.
 
enum  GmxQmmmMode { GMX_QMMM_ORIGINAL, GMX_QMMM_MIMIC }
 QM/MM mode.
 

Functions

const char * enum_name (int index, int max_index, const char *names[])
 Return a string from a list of strings. More...
 

Variables

const char * yesno_names [2+1]
 Boolean strings no or yes.
 
const char * etcoupl_names [etcNR+1]
 Strings corresponding to temperatyre coupling types.
 
const char * epcoupl_names [epcNR+1]
 String corresponding to pressure coupling algorithm.
 
const char * erefscaling_names [erscNR+1]
 String corresponding to relativ coordinate scaling.
 
const char * epcoupltype_names [epctNR+1]
 String corresponding to pressure coupling type.
 
const char * ecutscheme_names [ecutsNR+1]
 String corresponding to cutoff scheme.
 
const char * eintmod_names [eintmodNR+1]
 String corresponding to interaction modifiers.
 
const char * eel_names [eelNR+1]
 String corresponding to Coulomb treatment.
 
const char * eewg_names [eewgNR+1]
 String corresponding to Ewald geometry.
 
const char * evdw_names [evdwNR+1]
 String corresponding to Van der Waals treatment.
 
const char * eljpme_names [eljpmeNR+1]
 String for LJPME combination rule treatment.
 
const char * ens_names [ensNR+1]
 String corresponding to neighborsearching.
 
const char * ei_names [eiNR+1]
 Name of the integrator algorithm.
 
const char * econstr_names [econtNR+1]
 String corresponding to constraint algorithm.
 
const char * edisre_names [edrNR+1]
 String corresponding to distance restraint algorithm.
 
const char * edisreweighting_names [edrwNR+1]
 String corresponding to distance restraint weighting.
 
const char * ecomb_names [eCOMB_NR+1]
 String for combination rule algorithm.
 
const char * enbf_names [eNBF_NR+1]
 String corresponding to Van der Waals potential.
 
const char * esimtemp_names [esimtempNR+1]
 String corresponding to simulated tempering.
 
const char * efep_names [efepNR+1]
 String corresponding to FEP type.
 
const char * efpt_names [efptNR+1]
 String for FEP coupling type.
 
const char * efpt_singular_names [efptNR+1]
 Long names for FEP coupling type.
 
const char * edHdLPrintEnergy_names [edHdLPrintEnergyNR+1]
 String corresponding to printing of free energy.
 
const char * elamstats_names [elamstatsNR+1]
 String corresponding to lambda weights.
 
const char * elmcmove_names [elmcmoveNR+1]
 String corresponding to lambda moves.
 
const char * elmceq_names [elmceqNR+1]
 String corresponding to equilibrium algorithm.
 
const char * separate_dhdl_file_names [esepdhdlfileNR+1]
 String corresponding to separate DHDL file selection.
 
const char * dhdl_derivatives_names [edhdlderivativesNR+1]
 String for DHDL derivatives.
 
const char * esol_names [esolNR+1]
 String corresponding to solvent type.
 
const char * edispc_names [edispcNR+1]
 String corresponding to dispersion corrections.
 
const char * ecm_names [ecmNR+1]
 String corresponding to COM removal.
 
const char * eann_names [eannNR+1]
 String for simulated annealing.
 
const char * ewt_names [ewtNR+1]
 String corresponding to wall type.
 
const char * epull_names [epullNR+1]
 String for pulling algorithm.
 
const char * epullg_names [epullgNR+1]
 String for pull groups.
 
const char * erotg_names [erotgNR+1]
 Rotation group names.
 
const char * erotg_originnames [erotgNR+1]
 String for rotation group origin names.
 
const char * erotg_fitnames [erotgFitNR+1]
 String corresponding to rotation group fitting.
 
const char * eSwapTypes_names [eSwapTypesNR+1]
 Names for swapping.
 
const char * eSwapFixedGrp_names [eSwapFixedGrpNR+1]
 String for swap group splitting.
 
const char * eQMmethod_names [eQMmethodNR+1]
 String corresponding to QMMM methods.
 
const char * eQMbasis_names [eQMbasisNR+1]
 Name for QMMM basis function.
 
const char * eQMMMscheme_names [eQMMMschemeNR+1]
 QMMMM scheme names.
 
const char * gmx_nblist_geometry_names [GMX_NBLIST_GEOMETRY_NR+1]
 String corresponding to nblist geometry names.
 
const char * gmx_nbkernel_elec_names [GMX_NBKERNEL_ELEC_NR+1]
 String corresponding to electrostatics kernels.
 
const char * gmx_nbkernel_vdw_names [GMX_NBKERNEL_VDW_NR+1]
 String corresponding to VdW kernels.
 
const char * gmx_nblist_interaction_names [GMX_NBLIST_INTERACTION_NR+1]
 String corresponding to interactions in neighborlist code.
 

Enumeration Type Documentation

anonymous enum

Free energy perturbation type.

efepNO, there are no evaluations at other states. efepYES, treated equivalently to efepSTATIC. efepSTATIC, then lambdas do not change during the simulation. efepSLOWGROWTH, then the states change monotonically throughout the simulation. efepEXPANDED, then expanded ensemble simulations are occuring.

anonymous enum

What to print for free energy calculations.

Printing the energy to the free energy dhdl file. YES is an alias to TOTAL, and will be converted in readir, so we never have to account for it in code.

anonymous enum

How the lambda weights are calculated.

elamstatsMETROPOLIS - using the metropolis criteria elamstatsBARKER - using the Barker critera for transition weights, also called unoptimized Bennett elamstatsMINVAR - using Barker + minimum variance for weights elamstatsWL - Wang-Landu (using visitation counts) elamstatsWWL - Weighted Wang-Landau (using optimized Gibbs weighted visitation counts)

anonymous enum

How moves in lambda are calculated.

elmovemcMETROPOLIS - using the Metropolis criteria, and 50% up and down elmovemcBARKER - using the Barker criteria, and 50% up and down elmovemcGIBBS - computing the transition using the marginalized probabilities of the lambdas elmovemcMETGIBBS - computing the transition using the metropolized version of Gibbs (Monte Carlo Strategies in Scientific computing, Liu, p. 134)

anonymous enum

How we decide whether weights have reached equilibrium.

elmceqNO - never stop, weights keep going elmceqYES - fix the weights from the beginning; no movement elmceqWLDELTA - stop when the WL-delta falls below a certain level elmceqNUMATLAM - stop when we have a certain number of samples at every step elmceqSTEPS - stop when we've run a certain total number of steps elmceqSAMPLES - stop when we've run a certain total number of samples elmceqRATIO - stop when the ratio of samples (lowest to highest) is sufficiently large

anonymous enum

separate_dhdl_file selection

NOTE: YES is the first one. Do NOT interpret this one as a gmx_bool

anonymous enum

dhdl_derivatives selection \

NOTE: YES is the first one. Do NOT interpret this one as a gmx_bool

anonymous enum

Solvent model.

Distinguishes classical water types with 3 or 4 particles

anonymous enum

Swap group splitting type.

These are just the fixed groups we need for any setup. In t_swap's grp entry after that follows the variable number of swap groups.

anonymous enum

Temperature coupling type.

yes is an alias for berendsen

anonymous enum

Pressure coupling types.

isotropic is an alias for berendsen

anonymous enum

Integrator algorithm.

eiSD2 has been removed, but we keep a renamed enum entry, so we can refuse to do MD with such .tpr files. 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 energy for temperature control

enum eChannel

The channels that define with their COM the compartment boundaries in CompEL setups.

In principle one could also use modified setups with more than two channels.

enum eintmod

Coulomb / VdW interaction modifiers.

grompp replaces eintmodPOTSHIFT_VERLET by eintmodPOTSHIFT or eintmodNONE. Exactcutoff is only used by Reaction-field-zero, and is not user-selectable.

enum eSwaptype

Direction along which ion/water swaps happen.

Part of "Computational Electrophysiology" (CompEL) setups

Types of electrostatics calculations.

Types of electrostatics calculations available inside nonbonded kernels. Note that these do NOT necessarily correspond to the user selections in the MDP file; many interactions for instance map to tabulated kernels.

Types of vdw calculations available.

Types of vdw calculations available inside nonbonded kernels. Note that these do NOT necessarily correspond to the user selections in the MDP file; many interactions for instance map to tabulated kernels.

Neighborlist geometry type.

Kernels will compute interactions between two particles, 3-center water, 4-center water or coarse-grained beads.

Function Documentation

const char* enum_name ( int  index,
int  max_index,
const char *  names[] 
)

Return a string from a list of strings.

If index if within 0 .. max_index-1 returns the corresponding string or "no name defined" otherwise, in other words this is a range-check that does not crash.

Parameters
[in]indexThe index in the array
[in]max_indexThe length of the array
[in]namesThe array
Returns
the correct string or "no name defined"