Remove or update comments containing 'group scheme'
authorejjordan <e.jjordan12@gmail.com>
Thu, 19 Sep 2019 10:01:00 +0000 (12:01 +0200)
committerJoe Jordan <e.jjordan12@gmail.com>
Thu, 19 Sep 2019 14:43:09 +0000 (16:43 +0200)
Change-Id: Ic2dea073b7cb2a9e3ed6dbb4fbeb14dfedd5cac3

13 files changed:
src/gromacs/domdec/domdec_internal.h
src/gromacs/domdec/domdec_topology.cpp
src/gromacs/domdec/utility.cpp
src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp
src/gromacs/gmxpreprocess/tests/readir.cpp
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesOnlyCutoffScheme.xml [deleted file]
src/gromacs/mdlib/mdatoms.h
src/gromacs/nbnxm/kerneldispatch.cpp
src/gromacs/nbnxm/pairlist.cpp
src/gromacs/taskassignment/resourcedivision.cpp
src/programs/mdrun/tests/grompp.cpp
src/programs/mdrun/tests/moduletest.cpp
src/programs/mdrun/tests/tabulated_bonded_interactions.cpp

index 4471228d4b2c1fa22f263fecf8c9bd746dd3a772..8b707f39779de6afbe20b0baa17907f70091639a 100644 (file)
@@ -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} };
 
index 5acc05c167ce8cfd88c777605b19f6c30edf633e..15b923f992b8cc234bd78533db405c7797f3a152 100644 (file)
@@ -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<gmx_moltype_t> &moltype,
index 60ece098a849671f21922276257db487ace97f23..04db3df952575104bb0cc8bd6bc1920dec911edb 100644 (file)
@@ -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,
index 7b1c8453ebd15ebae718cd78009e0e28df4887e4..abe21c1a59b51dc865f68ec6e0d6fa55fbd26e7a 100644 (file)
@@ -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;
index ada23298276cec401f91e8567e7b2967fb076e6b..6f4b9e2966cf2bc026b369e2f8ac0eb43d62a02f 100644 (file)
@@ -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 (file)
index 676e87a..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
-<ReferenceData>
-  <Bool Name="Error parsing mdp file">false</Bool>
-  <String Name="OutputMdpFile">
-; 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
-</String>
-</ReferenceData>
index e95ac2a2d4dc029965e3a3b6978eae4b867e6975..946223ecdf5bcbc3ed5d001eaf78d72af94d1bff 100644 (file)
@@ -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.
index 24d693b47a88576ca2148c3023a234ed4c1f13c3..f1084134393629b8e843edaa73e70f5f7d928223 100644 (file)
@@ -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;
index 85bb36920722141eb4d891593c036262103862fc..9474185f072e18ddb93e1a6b8670794ce8b21f34 100644 (file)
@@ -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;
index a7e7b0a9956764e74f2c3d1c5414b53323572e9c..5be972ce93f9ee9a6ce225e7840a1e06cb34f86f 100644 (file)
@@ -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 =
index c81c1ee8c68386430c7cdb037948769d8a398574..ae14fa5326428245e3f6cd3788df784af1e0148e 100644 (file)
@@ -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();
 }
 
index 303e510daa051871dc2d4c772ae5301acffc501d..c4a59ca751a4b1f2365d7e522e2d3cfa7edcadd5 100644 (file)
@@ -119,8 +119,7 @@ SimulationRunner::SimulationRunner(TestFileManager *fileManager) :
 void
 SimulationRunner::useEmptyMdpFile()
 {
-    useStringAsMdpFile(R"(cutoff-scheme = Verlet
-                          verlet-buffer-tolerance = 0.005)");
+    useStringAsMdpFile("");
 }
 
 void
index 3bd8ec8e75d2c4aba6cd44113d345d919d67c1ad..d57ee7b01730af817368315db6006a9a8947b2e6 100644 (file)
@@ -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()