From cf10dc633a61c8b336347be9d504c87ab119a8cb Mon Sep 17 00:00:00 2001 From: ejjordan Date: Thu, 19 Sep 2019 12:01:00 +0200 Subject: [PATCH] Remove or update comments containing 'group scheme' Change-Id: Ic2dea073b7cb2a9e3ed6dbb4fbeb14dfedd5cac3 --- src/gromacs/domdec/domdec_internal.h | 2 +- src/gromacs/domdec/domdec_topology.cpp | 2 + src/gromacs/domdec/utility.cpp | 4 +- .../gmxlib/nonbonded/nb_free_energy.cpp | 1 - src/gromacs/gmxpreprocess/tests/readir.cpp | 9 - .../GetIrTest_HandlesOnlyCutoffScheme.xml | 322 ------------------ src/gromacs/mdlib/mdatoms.h | 8 +- src/gromacs/nbnxm/kerneldispatch.cpp | 1 - src/gromacs/nbnxm/pairlist.cpp | 2 +- .../taskassignment/resourcedivision.cpp | 4 +- src/programs/mdrun/tests/grompp.cpp | 4 +- src/programs/mdrun/tests/moduletest.cpp | 3 +- .../tests/tabulated_bonded_interactions.cpp | 6 +- 13 files changed, 16 insertions(+), 352 deletions(-) delete mode 100644 src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml diff --git a/src/gromacs/domdec/domdec_internal.h b/src/gromacs/domdec/domdec_internal.h index 4471228d4b..8b707f3977 100644 --- a/src/gromacs/domdec/domdec_internal.h +++ b/src/gromacs/domdec/domdec_internal.h @@ -767,7 +767,7 @@ struct gmx_domdec_comm_t // NOLINT (clang-analyzer-optin.performance.Padding) * * Zone permutation from the Cartesian x-major/z-minor order to an order * that leads to consecutive charge groups for neighbor searching. - * TODO: remove when the group scheme is removed + * TODO: It should be possible to remove this now that the group scheme is removed */ static const int zone_perm[3][4] = { {0, 0, 0, 0}, {1, 0, 0, 0}, {3, 0, 1, 2} }; diff --git a/src/gromacs/domdec/domdec_topology.cpp b/src/gromacs/domdec/domdec_topology.cpp index 5acc05c167..15b923f992 100644 --- a/src/gromacs/domdec/domdec_topology.cpp +++ b/src/gromacs/domdec/domdec_topology.cpp @@ -1459,6 +1459,8 @@ static void set_no_exclusions_zone(const gmx_domdec_zones_t *zones, * This is a legacy version for the group scheme of the same routine below. * Here charge groups and distance checks to ensure unique exclusions * are supported. + * + * todo It should be possible to remove this now that group scheme is removed */ static int make_exclusions_zone_cg(gmx_domdec_t *dd, gmx_domdec_zones_t *zones, const std::vector &moltype, diff --git a/src/gromacs/domdec/utility.cpp b/src/gromacs/domdec/utility.cpp index 60ece098a8..04db3df952 100644 --- a/src/gromacs/domdec/utility.cpp +++ b/src/gromacs/domdec/utility.cpp @@ -122,8 +122,10 @@ void dd_resize_state(t_state *state, } } -/*! \brief Enrsure fr, state and f, if != nullptr, can hold numChargeGroups +/*! \brief Ensure fr, state and f, if != nullptr, can hold numChargeGroups * atoms for the Verlet scheme and charge groups for the group scheme. + * + * todo refactor this now that group scheme is removed */ void dd_check_alloc_ncg(t_forcerec *fr, t_state *state, diff --git a/src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp b/src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp index 7b1c8453eb..abe21c1a59 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp +++ b/src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp @@ -683,7 +683,6 @@ nb_free_energy_kernel(const t_nblist * gmx_restrict nlist, { /* For excluded pairs, which are only in this pair list when * using the Verlet scheme, we don't use soft-core. - * The group scheme also doesn't soft-core for these. * As there is no singularity, there is no need for soft-core. */ const real FF = -two*krf; diff --git a/src/gromacs/gmxpreprocess/tests/readir.cpp b/src/gromacs/gmxpreprocess/tests/readir.cpp index ada2329827..6f4b9e2966 100644 --- a/src/gromacs/gmxpreprocess/tests/readir.cpp +++ b/src/gromacs/gmxpreprocess/tests/readir.cpp @@ -138,15 +138,6 @@ TEST_F(GetIrTest, HandlesDifferentKindsOfMdpLines) runTest(joinStrings(inputMdpFile, "\n")); } -// This case is used often by SimulationRunner::useEmptyMdpFile (see -// comments there for explanation). When we remove the group scheme, -// that usage will have to disappear, and so can this test. -TEST_F(GetIrTest, HandlesOnlyCutoffScheme) -{ - const char *inputMdpFile = "cutoff-scheme = Group\n"; - runTest(inputMdpFile); -} - TEST_F(GetIrTest, RejectsNonCommentLineWithNoEquals) { const char *inputMdpFile = "title simulation"; diff --git a/src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml b/src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml deleted file mode 100644 index 676e87abc7..0000000000 --- a/src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml +++ /dev/null @@ -1,322 +0,0 @@ - - - - false - -; VARIOUS PREPROCESSING OPTIONS -; Preprocessor information: use cpp syntax. -; e.g.: -I/home/joe/doe -I/home/mary/roe -include = -; e.g.: -DPOSRES -DFLEXIBLE (note these variable names are case sensitive) -define = - -; RUN CONTROL PARAMETERS -integrator = md -; Start time and timestep in ps -tinit = 0 -dt = 0.001 -nsteps = 0 -; For exact run continuation or redoing part of a run -init-step = 0 -; Part index is updated automatically on checkpointing (keeps files separate) -simulation-part = 1 -; mode for center of mass motion removal -comm-mode = Linear -; number of steps for center of mass motion removal -nstcomm = 100 -; group(s) for center of mass motion removal -comm-grps = - -; LANGEVIN DYNAMICS OPTIONS -; Friction coefficient (amu/ps) and random seed -bd-fric = 0 -ld-seed = -1 - -; ENERGY MINIMIZATION OPTIONS -; Force tolerance and initial step-size -emtol = 10 -emstep = 0.01 -; Max number of iterations in relax-shells -niter = 20 -; Step size (ps^2) for minimization of flexible constraints -fcstep = 0 -; Frequency of steepest descents steps when doing CG -nstcgsteep = 1000 -nbfgscorr = 10 - -; TEST PARTICLE INSERTION OPTIONS -rtpi = 0.05 - -; OUTPUT CONTROL OPTIONS -; Output frequency for coords (x), velocities (v) and forces (f) -nstxout = 0 -nstvout = 0 -nstfout = 0 -; Output frequency for energies to log file and energy file -nstlog = 1000 -nstcalcenergy = 100 -nstenergy = 1000 -; Output frequency and precision for .xtc file -nstxout-compressed = 0 -compressed-x-precision = 1000 -; This selects the subset of atoms for the compressed -; trajectory file. You can select multiple groups. By -; default, all atoms will be written. -compressed-x-grps = -; Selection of energy groups -energygrps = - -; NEIGHBORSEARCHING PARAMETERS -; cut-off scheme (Verlet: particle based cut-offs, group: using charge groups) -cutoff-scheme = Group -; nblist update frequency -nstlist = 10 -; Periodic boundary conditions: xyz, no, xy -pbc = xyz -periodic-molecules = no -; Allowed energy error due to the Verlet buffer in kJ/mol/ps per atom, -; a value of -1 means: use rlist -verlet-buffer-tolerance = 0.005 -; nblist cut-off -rlist = 1 -; long-range cut-off for switched potentials - -; OPTIONS FOR ELECTROSTATICS AND VDW -; Method for doing electrostatics -coulombtype = Cut-off -coulomb-modifier = Potential-shift-Verlet -rcoulomb-switch = 0 -rcoulomb = 1 -; Relative dielectric constant for the medium and the reaction field -epsilon-r = 1 -epsilon-rf = 0 -; Method for doing Van der Waals -vdw-type = Cut-off -vdw-modifier = Potential-shift-Verlet -; cut-off lengths -rvdw-switch = 0 -rvdw = 1 -; Apply long range dispersion corrections for Energy and Pressure -DispCorr = No -; Extension of the potential lookup tables beyond the cut-off -table-extension = 1 -; Separate tables between energy group pairs -energygrp-table = -; Spacing for the PME/PPPM FFT grid -fourierspacing = 0.12 -; FFT grid size, when a value is 0 fourierspacing will be used -fourier-nx = 0 -fourier-ny = 0 -fourier-nz = 0 -; EWALD/PME/PPPM parameters -pme-order = 4 -ewald-rtol = 1e-05 -ewald-rtol-lj = 0.001 -lj-pme-comb-rule = Geometric -ewald-geometry = 3d -epsilon-surface = 0 -implicit-solvent = no - -; OPTIONS FOR WEAK COUPLING ALGORITHMS -; Temperature coupling -tcoupl = No -nsttcouple = -1 -nh-chain-length = 10 -print-nose-hoover-chain-variables = no -; Groups to couple separately -tc-grps = -; Time constant (ps) and reference temperature (K) -tau-t = -ref-t = -; pressure coupling -pcoupl = No -pcoupltype = Isotropic -nstpcouple = -1 -; Time constant (ps), compressibility (1/bar) and reference P (bar) -tau-p = 1 -compressibility = -ref-p = -; Scaling of reference coordinates, No, All or COM -refcoord-scaling = No - -; OPTIONS FOR QMMM calculations -QMMM = no -; Groups treated Quantum Mechanically -QMMM-grps = -; QM method -QMmethod = -; QMMM scheme -QMMMscheme = normal -; QM basisset -QMbasis = -; QM charge -QMcharge = -; QM multiplicity -QMmult = -; Surface Hopping -SH = -; CAS space options -CASorbitals = -CASelectrons = -SAon = -SAoff = -SAsteps = -; Scale factor for MM charges -MMChargeScaleFactor = 1 - -; SIMULATED ANNEALING -; Type of annealing for each temperature group (no/single/periodic) -annealing = -; Number of time points to use for specifying annealing in each group -annealing-npoints = -; List of times at the annealing points for each group -annealing-time = -; Temp. at each annealing point, for each group. -annealing-temp = - -; GENERATE VELOCITIES FOR STARTUP RUN -gen-vel = no -gen-temp = 300 -gen-seed = -1 - -; OPTIONS FOR BONDS -constraints = none -; Type of constraint algorithm -constraint-algorithm = Lincs -; Do not constrain the start configuration -continuation = no -; Use successive overrelaxation to reduce the number of shake iterations -Shake-SOR = no -; Relative tolerance of shake -shake-tol = 0.0001 -; Highest order in the expansion of the constraint coupling matrix -lincs-order = 4 -; Number of iterations in the final step of LINCS. 1 is fine for -; normal simulations, but use 2 to conserve energy in NVE runs. -; For energy minimization with constraints it should be 4 to 8. -lincs-iter = 1 -; Lincs will write a warning to the stderr if in one step a bond -; rotates over more degrees than -lincs-warnangle = 30 -; Convert harmonic bonds to morse potentials -morse = no - -; ENERGY GROUP EXCLUSIONS -; Pairs of energy groups for which all non-bonded interactions are excluded -energygrp-excl = - -; WALLS -; Number of walls, type, atom types, densities and box-z scale factor for Ewald -nwall = 0 -wall-type = 9-3 -wall-r-linpot = -1 -wall-atomtype = -wall-density = -wall-ewald-zfac = 3 - -; COM PULLING -pull = no - -; AWH biasing -awh = no - -; ENFORCED ROTATION -; Enforced rotation: No or Yes -rotation = no - -; Group to display and/or manipulate in interactive MD session -IMD-group = - -; NMR refinement stuff -; Distance restraints type: No, Simple or Ensemble -disre = No -; Force weighting of pairs in one distance restraint: Conservative or Equal -disre-weighting = Conservative -; Use sqrt of the time averaged times the instantaneous violation -disre-mixed = no -disre-fc = 1000 -disre-tau = 0 -; Output frequency for pair distances to energy file -nstdisreout = 100 -; Orientation restraints: No or Yes -orire = no -; Orientation restraints force constant and tau for time averaging -orire-fc = 0 -orire-tau = 0 -orire-fitgrp = -; Output frequency for trace(SD) and S to energy file -nstorireout = 100 - -; Free energy variables -free-energy = no -couple-moltype = -couple-lambda0 = vdw-q -couple-lambda1 = vdw-q -couple-intramol = no -init-lambda = -1 -init-lambda-state = -1 -delta-lambda = 0 -nstdhdl = 50 -fep-lambdas = -mass-lambdas = -coul-lambdas = -vdw-lambdas = -bonded-lambdas = -restraint-lambdas = -temperature-lambdas = -calc-lambda-neighbors = 1 -init-lambda-weights = -dhdl-print-energy = no -sc-alpha = 0 -sc-power = 1 -sc-r-power = 6 -sc-sigma = 0.3 -sc-coul = no -separate-dhdl-file = yes -dhdl-derivatives = yes -dh_hist_size = 0 -dh_hist_spacing = 0.1 - -; Non-equilibrium MD stuff -acc-grps = -accelerate = -freezegrps = -freezedim = -cos-acceleration = 0 -deform = - -; simulated tempering variables -simulated-tempering = no -simulated-tempering-scaling = geometric -sim-temp-low = 300 -sim-temp-high = 300 - -; Ion/water position swapping for computational electrophysiology setups -; Swap positions along direction: no, X, Y, Z -swapcoords = no -adress = no - -; User defined thingies -user1-grps = -user2-grps = -userint1 = 0 -userint2 = 0 -userint3 = 0 -userint4 = 0 -userreal1 = 0 -userreal2 = 0 -userreal3 = 0 -userreal4 = 0 -; Electric fields -; Format for electric-field-x, etc. is: four real variables: -; amplitude (V/nm), frequency omega (1/ps), time for the pulse peak (ps), -; and sigma (ps) width of the pulse. Omega = 0 means static field, -; sigma = 0 means no pulse, leaving the field to be a cosine function. -electric-field-x = 0 0 0 0 -electric-field-y = 0 0 0 0 -electric-field-z = 0 0 0 0 - -; Density guided simulation -density-guided-simulation-active = false - - diff --git a/src/gromacs/mdlib/mdatoms.h b/src/gromacs/mdlib/mdatoms.h index e95ac2a2d4..946223ecdf 100644 --- a/src/gromacs/mdlib/mdatoms.h +++ b/src/gromacs/mdlib/mdatoms.h @@ -58,12 +58,10 @@ namespace gmx * \brief Contains a C-style t_mdatoms while managing some of its * memory with C++ vectors with allocators. * - * The group-scheme kernels need to use a plain C-style t_mdatoms, so + * \todo The group-scheme kernels needed a plain C-style t_mdatoms, so * this type combines that with the memory management needed for - * efficient PME on GPU transfers. - * - * \todo Refactor this class and rename MDAtoms once the group scheme - * is removed. */ + * efficient PME on GPU transfers. The mdatoms_ member should be + * removed. */ class MDAtoms { //! C-style mdatoms struct. diff --git a/src/gromacs/nbnxm/kerneldispatch.cpp b/src/gromacs/nbnxm/kerneldispatch.cpp index 24d693b47a..f108413439 100644 --- a/src/gromacs/nbnxm/kerneldispatch.cpp +++ b/src/gromacs/nbnxm/kerneldispatch.cpp @@ -540,7 +540,6 @@ nonbonded_verlet_t::dispatchFreeEnergyKernel(Nbnxm::InteractionLocality iLocali /* Add short-range interactions */ donb_flags |= GMX_NONBONDED_DO_SR; - /* Currently all group scheme kernels always calculate (shift-)forces */ if (stepWork.computeForces) { donb_flags |= GMX_NONBONDED_DO_FORCE; diff --git a/src/gromacs/nbnxm/pairlist.cpp b/src/gromacs/nbnxm/pairlist.cpp index 85bb369207..9474185f07 100644 --- a/src/gromacs/nbnxm/pairlist.cpp +++ b/src/gromacs/nbnxm/pairlist.cpp @@ -2243,7 +2243,7 @@ static void clear_pairlist(NbnxnPairlistGpu *nbl) nbl->nci_tot = 0; } -/* Clears a group scheme pair list */ +/* Clears an atom-atom-style pair list */ static void clear_pairlist_fep(t_nblist *nl) { nl->nri = 0; diff --git a/src/gromacs/taskassignment/resourcedivision.cpp b/src/gromacs/taskassignment/resourcedivision.cpp index a7e7b0a995..5be972ce93 100644 --- a/src/gromacs/taskassignment/resourcedivision.cpp +++ b/src/gromacs/taskassignment/resourcedivision.cpp @@ -422,8 +422,8 @@ int get_nthreads_mpi(const gmx_hw_info_t *hwinfo, nthreads_tot_max = nthreads_hw; } - /* nonbondedOnGpu might be false e.g. because this simulation uses - * the group scheme, or is a rerun with energy groups. */ + /* nonbondedOnGpu might be false e.g. because this simulation + * is a rerun with energy groups. */ ngpu = (nonbondedOnGpu ? gmx::ssize(gpuIdsToUse) : 0); nrank = diff --git a/src/programs/mdrun/tests/grompp.cpp b/src/programs/mdrun/tests/grompp.cpp index c81c1ee8c6..ae14fa5326 100644 --- a/src/programs/mdrun/tests/grompp.cpp +++ b/src/programs/mdrun/tests/grompp.cpp @@ -69,9 +69,7 @@ class GromppTest : /* This test ensures that an empty .mdp file (ie. all default values) works. */ TEST_F(GromppTest, EmptyMdpFileWorks) { - /* TODO Now that Verlet is the default, change the implementation - of useEmptyMdpFile() to do that. */ - runner_.useStringAsMdpFile(""); + runner_.useEmptyMdpFile(); runTest(); } diff --git a/src/programs/mdrun/tests/moduletest.cpp b/src/programs/mdrun/tests/moduletest.cpp index 303e510daa..c4a59ca751 100644 --- a/src/programs/mdrun/tests/moduletest.cpp +++ b/src/programs/mdrun/tests/moduletest.cpp @@ -119,8 +119,7 @@ SimulationRunner::SimulationRunner(TestFileManager *fileManager) : void SimulationRunner::useEmptyMdpFile() { - useStringAsMdpFile(R"(cutoff-scheme = Verlet - verlet-buffer-tolerance = 0.005)"); + useStringAsMdpFile(""); } void diff --git a/src/programs/mdrun/tests/tabulated_bonded_interactions.cpp b/src/programs/mdrun/tests/tabulated_bonded_interactions.cpp index 3bd8ec8e75..d57ee7b017 100644 --- a/src/programs/mdrun/tests/tabulated_bonded_interactions.cpp +++ b/src/programs/mdrun/tests/tabulated_bonded_interactions.cpp @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2016,2018, by the GROMACS development team, led by + * Copyright (c) 2016,2018,2019, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -100,9 +100,7 @@ class BondedInteractionsTest : public gmx::test::MdrunTestFixture TextWriter::writeFileFromString(runner_.topFileName_, formatString(g_butaneTopFileFormatString, interaction)); runner_.groFileName_ = gmx::test::TestFileManager::getInputFilePath("butane1.gro"); runner_.ndxFileName_ = gmx::test::TestFileManager::getInputFilePath("butane1.ndx"); - /* TODO Now that Verlet is the default, change the implementation - of useEmptyMdpFile() to do that. */ - runner_.useStringAsMdpFile(""); + runner_.useEmptyMdpFile(); } //! Prepare an mdrun caller CommandLine setupMdrun() -- 2.22.0