1GROMACS 2016.2 Release Notes
2----------------------------------------
3
4This version was released on February 7, 2016. These release notes
5document the changes that have taken place in GROMACS since version
62016.1 to fix known issues. It also incorporates all fixes made in
7version 5.1.4 and several since.
8
9Fixes where mdrun could behave incorrectly
10^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11
12Add grompp check for equipartition violation risk for decoupled modes
13""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
14When atoms involved in an angle with constrained bonds have very
15different masses, there can be very weakly coupled dynamics modes.
16Default mdp settings are often not sufficiently accurate to obtain
17equipartitioning. This change adds a grompp check for this issue.
18
19Part of :issue:`2071`
20
21Disallow overwriting of dihedral type 9
22""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
23It is no longer allowed to repeat blocks of parameter of multiple
24lines for dihedrals of type 9. It is also no longer allowed to
25override parameters or dihedrals of type 9. Both are too complex
26to properly check. It is still allowed to repeat parameters blocks
27consisting of a single line.
28Repeating a block with the same parameters would lead to incorrect
29dihedral potentials and forces.
30
31:issue:`2077`
32
33Fixed flat-bottom position restraints + DD + OpenMP
34""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
35A (re)allocation was missing, causing a crash.
36
37:issue:`2095`
38
39Fixed multi-domain reruns
40""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
41Old code cleanup led multi-domain rerun to crash because it failed to
42consider logic separated over two places.
43
44:issue:`2105`
45
46Fixes for mdrun performance issues
47^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
48
49Corrected CUDA sm_60 performance
50""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
51The kernel launch now suits the SM size of the GP100 architecture.
52
53Fixes for ``gmx`` tools
54^^^^^^^^^^^^^^^^^^^^^^^
55
56Fixed some FFT handling in cross-corrrelation calculations
57""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
58An array of complex number was created as an array of pointers and
59then passed to gmx_fft_1d. This does not work.
60
61:issue:`2109`
62
63Fixed gmx rmsf -q -oq
64""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
65This led to the PDB file containing B-factors using coordinates based
66on those from the -s file, rather than -q file. gmx rmsf -oq was
67otherwise fine.
68
69Fixed crash in gmx order
70""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
71gmx order used a cumbersome floating point method to compute
72a histogram, leading to an index value that could be negative.
73
74:issue:`2104`
75
76Fixed minor trjconv bug
77""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
78gmx trjconv -novel -f in.pdb -o out.pdb probably works better now.
79
80Fixed time label print in gmx vanhove
81""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
82
83Handled issuing warnings correctly in xpm2ps and membed
84""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
85The code should not (over)write the output file before checking for
86errors. For membed, it is useful to require the user to fix issues in
87their input file before we unilaterally over-write it.
88
89Corrected documentation about eigenvalue handling
90""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
91Some file format docs were out of step with the implementation in
92eigio.cpp.
93
94The behaviour of gmx anaeig -eig -eig2 was not properly documented.
95
96Made editconf B-factor attachment more useful in practice
97""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
98B-factor values will be added to residues unless an index is larger
99than the number of residues or an option is specified. Protein residue
100indices can start from any number and, in case they start from a large
101number, there is no way to add B-factor values to residues.
102
103This patch changes it to add B-factor values to residues unless the
104number of B-factor values is larger than the number of residues.
105
106Fixed possible memory error with long selections
107""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
108If a selection was more than 1000 characters long and there was a
109whitespace exactly at the 1000 point, a buffer overflow could occur.
110Replaced the buffer with std::string, simplifying the code
111significantly.
112
113:issue:`2086`
114
115Fixed use of position variables with plus/merge
116""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
117If a selection contained a position variable (e.g., 'com of ...') that
118was used more than once, and at least one of those uses was with
119plus/merge, there were out-of-bounds memory writes.  This was caused by
120the internal position structure not getting fully initialized.
121Incomplete initialization happens in all contexts with such variables,
122but only plus/merge (and possibly permute) actually use the values that
123remained uninitialized, which caused them to incorrectly compute the
124amount of memory required to store the result.
125
126:issue:`2086`
127
128Improved documentation
129^^^^^^^^^^^^^^^^^^^^^^
130
131Made several minor improvements to documentation and messages to users
132""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
133In particular, for selections:
134
135- Explained resindex and resnr keywords in selection help.
136- Explained how selection-enabled tools treat -s and -f input files.
137
138:issue:`2083`
139
140Clarified use of tau-p and pcoupltype
141""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
142grompp used to permit the erroneous "tau-p = 5 5". This does not
143reflect that only one time constant is permitted for pressure coupling
144(unlike group-based temperature coupling). The recent fix for
145:issue:`1893` leads to the user receiving a grompp warning, so this
146improves the docs to make clear that pressure coupling is different.
147
148:issue:`1893`
149
150Portability enhancements
151^^^^^^^^^^^^^^^^^^^^^^^^
152
153Fixed x86 conditional on IBM s390x
154""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
155The CpuInfoTest.SupportLevel test fails on IBM s390x because wrong
156condition was used.
157
158Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1390149
159
160:issue:`2072`
161
162Build system enhancements
163^^^^^^^^^^^^^^^^^^^^^^^^^
164
165Fixed compilation with CMAKE_CXX_FLAGS="-Wall -Werror"
166""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
167:issue:`2073`
168
169Stopped trying to use objdump --reloc in the build system on Mac
170""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
171Recent Xcode objdump does not support --reloc.
172
173The warning that is based on the output of running objdump was only
174implemented to work on Linux-like things, so should not spam the cmake
175output on other platforms.
176
177Improved the support for plugin loading in the build system
178""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
179The mdrun-only and prefer-static-libs builds set the default for
180BUILD_SHARED_LIBS to off, which silently disabled plugin support
181for things like VMD-based I/O handling.
182
183Converted GMX_LOAD_PLUGINS to tri-state ON/OFF/AUTO so that if the
184preconditions for support are not met we can have suitable behaviour
185in each case.
186
187:issue:`2082`
188
189Turn off hwloc support when static lib found
190""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
191Hwloc dependencies are not resolved at CMake time when static
192libwloc.a is detected and in most of these cases link-time
193errors will prevent building GROMACS. As it is hard for a user to know
194how to solve such cryptic errors and hwloc is not a required dependency,
195we turn off hwloc support when a static lib is detected. The user can
196override this on the cmake command line.
197
198:issue:`1919`
199
200Fixed build with GMX_EXTERNAL_TNG=ON
201""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
202
203House-keeping that reduces users' problems
204^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
205
206Mdrun prints invalid performance data less often
207""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
208If mdrun finished before a scheduled reset of the timing information
209(e.g. from mdrun -resetstep or mdrun -resethway), then misleading
210timing information should not be reported.
211
212Related, the default reset step for gmx tune_pme was increased to 1500.
213
214:issue:`2041`
215
216Added a runtime check for number of threads in bonded code
217""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
218Replaced a debug assertion on the number of OpenMP threads not being
219larger than GMX_OPENMP_MAX_THREADS by fatal error.
220But since the listed-forces reduction is actually not required with
221listed forces, these are now conditional and mdrun can run with more
222than GMX_OPENMP_MAX_THREADS threads.
223
224:issue:`2085`
225
226Fixed integer narrowing in TNG reading for long trajectories
227""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
228Reading of TNG trajectories with sufficiently large numbers of frames
229could truncate integers used for frame numbers. Fixed to use 64-bit
230integers as originally intended.
231
232Fixed logic of TRR reading
233""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
234When reading a trr file, reaching the end of the file was
235indistinguishable from a reading error or a magic-number error. This
236is now fixed, restoring the intended behaviour in each case.
237
238:issue:`1926`
239