4 Fixed multiple time stepping with Parrinello-Rahman and Nose-Hoover.
5 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
6 These now work in correct Trotter style, applied once and scaled by
7 the correct number of steps.
12 Applied Berendsen pressure coupling only at nstpcouple steps
13 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
14 Berendsen pressure coupling was mistakenly applied on successive
15 steps. Since there is no need for this, this is changed to act only on
16 nstpcouple steps. Note that this change prevents continuation from old
17 checkpoint files for Berendsen pressuring-coupling runs, since the
18 previous-step pressure is no longer stored.
20 Added missing Ewald correction for PME-User
21 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
22 With :mdp-value:`coulombtype=PME-User`, the Ewald mesh energy was not subtracted
23 leading to (very) incorrect Coulomb energies and forces.
27 Fixed incorrect dV/dlambda for walls
28 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
29 The free-energy derivative dV/dlambda for walls, which can be
30 perturbed by changing atom types of non-wall atoms, only contained the
35 Supported OpenMP for orientation restraints
36 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
37 Previously this was broken, but has been fixed and is now tested and
40 Fixed orientation restraint reference
41 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
42 The resetting of the COM of the molecule with orientation restraints
43 for fitting to the reference structure was done with the COM of the
44 reference structure instead of the instantaneous structure. This does
45 not affect the restraining (unless ensemble averaging is used), only
46 the printed orientation tensor.
50 Used graph with orientation restraints
51 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
52 With the Verlet cut-off scheme by default molecules are not made whole.
53 Now they are made whole when orientation restraints are used.
54 Added checks and assertions for correct PBC treatment with orientation
59 Fixed Ekin at step 0 with COM removal
60 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
61 The kinetic energy at step 0 was computed from the velocities without
62 the center of mass velocity removed. This could cause a relatively
63 large jump in kinetic energy, especially for small systems.
64 Now compute_globals is called twice with COM removal so we get
65 the correct kinetic energy.
67 Fixed :ref:`gmx grompp` with Andersen massive and no COM removal
68 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
69 Fixed a floating point exception leading to a segv.
70 Also fixed possible different rounding for the interval for
71 Andersen massive in :ref:`gmx grompp` in mdrun for the common case where tau-t
72 is a multiple of delta-t.
76 Improved Verlet buffer constraint estimate
77 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
78 The displacement estimate for a constrained atom (typically H)
79 rotating around the COM with a partner atom is now derived and
80 documented correctly. Note that we (still) use a Gaussian with
81 matched variance, which results in a much larger buffer than
82 necessary, since the tail of the displacement distribution sets the
83 buffer size and the Gaussian has a long tail whereas the actual
84 distribution has no tail.
86 Fixed virtual site generation for water oxygens not named OW
87 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
88 :ref:`gmx pdb2gmx` would break when generating virtual sites if water oxygens
89 were not named OW. Now checking for the atomnumber instead.
93 Fixed thread-MPI rank choice for orientation restraints
94 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
95 Only a single rank is supported, so that must be what the thread-MPI
96 code will choose. There's another check later on that catches the
99 Fixed some incorrect behavior with :ref:`gmx solvate`
100 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
101 :ref:`gmx solvate` cannot replicate non-rectangular solvent boxes correctly
102 (there are several different places that assume a diagonal box matrix),
103 so give a fatal error if that is attempted. To support some uses with
104 triclinic boxes, skip the replication step if the solvent and target box
105 sizes are already equal.
107 Support for general triclinic boxes can be added separately, and the
108 check introduced here can be valuable even in that case: it keeps a
109 pre-equilibrated solvent box intact if the target box size is the same.
111 Related to fix of :issue:`2148`
113 Fixed DD exact continuation in reproducible node
114 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
115 With domain decomposition, the local atom density, used for setting
116 the search grid for sorting particles, was based on the local atom
117 count including atoms/charge groups that would be moved to neighboring
118 cells. This lead to a different density value, which in turn could
119 result in a different number of search grid cells and thus a different
120 summation order during a run compared with continuing that run from a
121 checkpoint, when no atoms would be moved. That difference violated
122 the intention of ``mdrun -reprod``, and is now fixed.
124 Refs Fixes :issue:`2318`
126 Made mdrun only stop at nstlist steps with mdrun -reprod
127 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
128 Stopping mdrun with two INT or TERM signals (e.g. from Ctrl-C from the
129 terminal shell) would always happen right after the first global
130 communication step. But this breaks exact continuation. Now with
131 ``mdrun -reprod`` a second signal will still stop at a pair-list
132 generation step, like with the first signal, so we can still have
137 Added check for GPU detection support before detecting GPU devices
138 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
139 When a CUDA-enabled binary was run on a node with no CUDA driver
140 available, a note was issued that the version of the CUDA driver is
141 insufficient, which was wrong and now fixed.
145 Removed duplicated lines from OPLS ffbonded.itp
146 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
147 Identical lines have been removed, as identified with uniq.
151 mdrun no longer warns about NVML clocks that are at max
152 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
153 If the clocks are already maxed out there is no point in echoing
154 warnings about not being able to set them.
158 Used reduced default tolerances for tpx comparison
159 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
160 The tolerances for gmx check are mainly intended for handling slight
161 statistical deviations, but they can hide differences between tpr
162 files, when the user likely wants exact checks on small quantities
163 like Lennard-Jones parameters. This changes changes the default
164 relative tolerance to 0.000001 and the absolute tolerance to zero, so
165 that we only allow for any minor differences due to compiler
170 Fixed return values of frame-reading functions
171 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
172 This function was based on read_first_x that returned the number of
173 atoms, and was documented to do the same, but has always returned a
174 logical boolean about whether a frame has been read. This led to
175 aspects of ``gmx spatial`` and ``gmx trjcat -demux`` being broken.
177 Fixed by returning a proper bool, and fixing the remaining logic that
178 used the return value in a non-boolean sense.
182 Removed PBC before generating TPR with group scheme
183 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
184 Ensure that all molecules have been made whole before generating the
185 run input file when using the group scheme, to avoid error messages
186 for large charge groups when molecules are broken over PBC boundaries.
190 Fixed PBC error in gmx_spatial
191 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
195 Documented power spectrum options of gmx velacc
196 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
199 Changed to require .tpr file for gmx cluster
200 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
201 The program could crash without it, so it wasn't optional.
205 Disallowed ascii formats for gmx trjcat
206 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
207 Since gmx trjcat (deliberately) does not use any .tpr file, the tool
208 can't handle trajectory formats such as .gro or .pdb where
209 atom/residue names are needed.
213 Improved grompp missing-parameters error message
214 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
215 If an interaction entry had parameters but not the function type, then
216 the error message has been confusing. Note that even when only one
217 function type is implemented, the field is still required, which makes
218 for ready extensibility.
222 Checked for large energy at first step
223 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
224 Also added step number to fatal error message.
228 Disallowed combination of PME-user and verlet cutoff
229 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
232 Avoided confusing message at end of non-dynamical runs
233 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
234 Energy minimization, test-particle insertion, normal-mode analysis,
235 etc. are not targets for performance optimization so we will not
236 write performance reports. This commit fixes an oversight whereby we
237 would warn a user when the lack of performance report is normal and
242 Changed to require ``-ntmpi`` when setting ``-ntomp`` and using GPUs
243 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
244 With GPUs and thread-MPI, setting only ``gmx mdrun -ntomp`` could lead
245 to oversubscription of the hardware threads. Now, with GPUs and
246 thread-MPI the user is required to set ``-ntmpi`` when using
247 ``-ntomp``. Here we chose that to also require ``-ntmpi`` when the
248 user specified both ``-nt`` and ``-ntomp``; here we could infer the
249 number of ranks, but it's safer to ask the user to explicity set
250 ``-ntmpi``. Note that specifying both ``-ntmpi`` and ``-nt`` has
251 always worked correctly.