alexxy/gromacs.git
4 years agoVersion 2019.6
Paul Bauer [Mon, 24 Feb 2020 14:54:18 +0000 (15:54 +0100)]
Version 2019.6

Set DOI strings.
Updated regressiontest hash.

Change-Id: If7c04fbd26756275daea1c252ef977a367669b42

4 years agoAvoid mdrun terminate due to GPU sanity check errors
Szilárd Páll [Fri, 25 Oct 2019 23:24:23 +0000 (01:24 +0200)]
Avoid mdrun terminate due to GPU sanity check errors

When a GPU is a exclusive or prohibited mode, early detection calls can
fail and as a result an mdrun run abort with an error, even if all GPU
offload is explicitly disabled by the user.
This change adds a status code to handle the case of devices being
unavailable.

Additionally, other errors may be encountered during the dummy kernel
sanity check (e.g. out of memory), but since the change that switches
to using launchGpuKernel() wrapper did not handle the exception in the
sanity checking, this can also abort a run even if the GPU in question
is not selected to be used.
This change adds code to catch the exception this and report the error
and avoid abort the run.

Fixes #3178 #3399

Change-Id: I0cdedbc02769084c172e4a42fe5c1af192007cec

4 years agoFix calculation of reciprocal terms in rerun
Pascal Merz [Tue, 25 Feb 2020 23:58:02 +0000 (16:58 -0700)]
Fix calculation of reciprocal terms in rerun

This at least temporarily fixes #3400.

Change-Id: I04d67d9bb3edbd66049573de71940e4bb7fa1ad4

4 years agoFixed bug in gmx disre due to inconsistency in input.
David van der Spoel [Mon, 17 Feb 2020 22:20:24 +0000 (23:20 +0100)]
Fixed bug in gmx disre due to inconsistency in input.

The gmx disre program used the labels in the distance restraint entries
(see manual) as an index in internal arrays. This might lead to either
memory errors or the program stopping due to uninitialized variables.

Fixes #3384

Change-Id: Ic2d77c3fd81547e030bf7ce21860a71e3adbb2b3

4 years agoFixed bug in orires code that was checking too strict.
David van der Spoel [Wed, 12 Feb 2020 13:53:33 +0000 (14:53 +0100)]
Fixed bug in orires code that was checking too strict.

Fixes #3375

Change-Id: I0f64b386477b9a72f18c95fd977ac8cf5dbeeccd

4 years agoActually fix PME forces with FE without perturbed q/LJ
Berk Hess [Mon, 3 Feb 2020 10:26:50 +0000 (11:26 +0100)]
Actually fix PME forces with FE without perturbed q/LJ

PME would incorrectly ignore the mesh forces on perturbed atoms when
no charges or LJ atom types were actually perturbed.
This is because the "fix" in commit 12f01f79 incorrectly changed the
lambda value used for the PME forces from the actual lambda value
to 1 instead of to 0 as it should have been.

Fixes #2640
Fixes #3359

Change-Id: Ib19565bf017ddbd2fddc66c52be0ff9efc7e707c

4 years agoWorkaround for ICC 19u5 and 20initial
Roland Schulz [Tue, 7 Jan 2020 01:51:48 +0000 (17:51 -0800)]
Workaround for ICC 19u5 and 20initial

Change-Id: I34f4215f2112579b1a92c87aca28b270b4aca09e

4 years agoPrepare for GROMACS 2019.6
Paul Bauer [Mon, 16 Dec 2019 11:39:33 +0000 (12:39 +0100)]
Prepare for GROMACS 2019.6

Reset doi strings

Change-Id: I38fa39c52cde5d967525770ec2a6381b7fcee33a

4 years agoGROMACS version 2019.5
Paul Bauer [Mon, 16 Dec 2019 11:36:38 +0000 (12:36 +0100)]
GROMACS version 2019.5

Added doi strings
Updated regressiontest hash.

Change-Id: If6c34638caf40f562fd8a744af767be4941ff73b

4 years agoRevert "Fix that tests intended for multiple ranks run that way"
Paul Bauer [Sun, 22 Dec 2019 16:04:37 +0000 (17:04 +0100)]
Revert "Fix that tests intended for multiple ranks run that way"

This reverts commit 1ebc7b0bff4a32ce957fd79a1d1bd20b535ea518.

Reason for revert: The parallel running of tests doesn't work the way we want here and the effort for fixing things in a soon to be critical fixes only branch is not worth it in my opinion

Change-Id: I59fb6f9daf7019592de7e8db202ccd050c133610

4 years agoRemove problematic output of gmx angle
Christian Blau [Mon, 25 Nov 2019 15:42:25 +0000 (16:42 +0100)]
Remove problematic output of gmx angle

It could happen that the calculation of the standard deviation
for angles caused a divide by zero error for empty populations.
Because this standard deviation of per frame averages over all
frames was anyhow meaningless, it has been removed.

Refs #3206

Change-Id: Icf541a8b3bef502da9a22b55a8e8154b2d4fc8f8

4 years agoFix formatting error
Paul Bauer [Mon, 16 Dec 2019 12:51:02 +0000 (13:51 +0100)]
Fix formatting error

Fix originally proposed by Boris Timofeev.

Refs #3225

Change-Id: Ie742f2c751473d17fc8f69e9ed79faacdd6fc56c

4 years agoFix that tests intended for multiple ranks run that way
Mark Abraham [Sat, 28 Sep 2019 08:25:41 +0000 (10:25 +0200)]
Fix that tests intended for multiple ranks run that way

Added the flag that triggers ctest to use the flags that will produce
multiple ranks in both thread-MPI and real MPI cases.

Change-Id: I4ef3af4fd1750ab7cc231a29191fc4042385c309

4 years agoFix the GPU bonded stream with 1 PP + 1 PME rank
Szilárd Páll [Sat, 14 Dec 2019 22:15:44 +0000 (23:15 +0100)]
Fix the GPU bonded stream with 1 PP + 1 PME rank

WIth 1 PP + 1 PME rank the GpuBonded constructor gets passed the
non-local nonbonded stream which is nullptr and as a result the bonded
kernel launch happens in the default stream blocking concurrent
kernel execution.
This change makes sure that only when there is PP domain decomposition
is the GpuBonded constructor passed the nonlocal stream.

Fixes #3241

Change-Id: I858401b78c620adc3bea176e40e6fa179e583483

4 years agoFix torsion angle calculation
Paul Bauer [Fri, 6 Dec 2019 11:18:23 +0000 (12:18 +0100)]
Fix torsion angle calculation

Fix originally contributed by Boris Timofeev.

Fixes #3225

Change-Id: I4862679e4aeae514736df53f0eff44bf3b85f928

4 years agoCheck for using correct hwloc headers and runtime
Paul Bauer [Wed, 27 Nov 2019 15:35:16 +0000 (16:35 +0100)]
Check for using correct hwloc headers and runtime

Also add assertion in the code to prevent errors from linking
against the wrong library while running.

Fixes #3200

Change-Id: Ib2f2861702e111f67c38b0c9d65ccbe4c81a0ccd

4 years agoSimplify gmxapi RPATH handling
Mark Abraham [Wed, 31 Oct 2018 13:44:55 +0000 (14:44 +0100)]
Simplify gmxapi RPATH handling

Fixes #2722

Change-Id: Ic697f596285acdb5c7728b7ebc995ea44c82f3ac

4 years agoChange arbitrary units to counts in RMSD distance distribution output
Christian Blau [Fri, 29 Nov 2019 16:31:00 +0000 (17:31 +0100)]
Change arbitrary units to counts in RMSD distance distribution output

Users were confused by the "a.u." label in the RMSD distance
distribution output. This patch changes the label to "counts"
to better state that this is the number of events captured in the
histogram column.

Change-Id: I6c082147ae9f1647ec743275af6b72564401de8d

4 years agoRemove assertion failure in AWH without initial stage
Berk Hess [Thu, 28 Nov 2019 10:58:48 +0000 (11:58 +0100)]
Remove assertion failure in AWH without initial stage

When not using the initial stage in AWH, we should not check
for coverage and histogram anomalies at step 0.

Fixes #3217

Change-Id: Iee19c4740c02ce56c0b43ad89efb6e37f4ad1a0d

4 years agoFix issues with AWH with periodic pulling
Berk Hess [Mon, 25 Nov 2019 14:43:05 +0000 (15:43 +0100)]
Fix issues with AWH with periodic pulling

Removed fatal error with AWH with periodic pull-geometry 'direction'
when the distance was within 2% of half the box size.
Changed an assertion failure when the AWH interval was larger than
the box size to a fatal error.
Clarified the documentation for pull geometry 'direction-periodic'.

Refs #2946

Change-Id: I447a9a490a5883139afc268fd367b8b249591fbc

4 years agoFix duplicate CONNECT records in pdb files
Christian Blau [Mon, 25 Nov 2019 15:18:40 +0000 (16:18 +0100)]
Fix duplicate CONNECT records in pdb files

When adding connect records in pdb files, it was not checked if records
already existed and were thus duplicated in output. This patch fixes
this behavior.

Fix originally provided by Boris Timofeev.

refs #3206

Change-Id: I5850f4b6279b37df07282acc4416f433099d90c8

4 years agoFix intermolecular interactions with DD
Berk Hess [Mon, 18 Nov 2019 15:33:29 +0000 (16:33 +0100)]
Fix intermolecular interactions with DD

The links for atoms with intermolecular interactions would use
incorrect atom indices. This meant that mdrun could exit with
a missing interactions errors when using domain decompostion
with intermolecular interactions at distance larger than the cutoff.

Fixes #3204

Change-Id: I0c78810204f116f028b18c83bc6b51859ed7245a

4 years agoFix .gro large box writing
Berk Hess [Tue, 5 Nov 2019 08:41:02 +0000 (09:41 +0100)]
Fix .gro large box writing

Contrary to the format specification in the manual, the box components
in the .gro file were not separated by whitespace when components
(except for the first one) were >= 1000 or <= -100. Now a space is
always printed. This might not match the original GROMOS format,
but most codes reading .gro file assume space separation.
Note formatting of boxes that did have spacing is not changed.

Fixes #3176

Change-Id: I8cfcde98b46550b16b9f6bc299dc0b67454b2437

4 years agoWork around broken Apple compilers in Mac OS 10.15
Erik Lindahl [Wed, 6 Nov 2019 13:00:37 +0000 (14:00 +0100)]
Work around broken Apple compilers in Mac OS 10.15

The Xcode compiler in Mac OS Catalina checks and enforces
stack alignment by default, but embarrasingly enough the
C library provided by Apple fails to adhere to the
aligned stack for AVX despite bug reports being filed during
their beta cycle. We work around this sloppiness by removing
the check, since AVX does not require the alignment.

Fixes #3199.

Change-Id: I9c16b156cc5b3a5d9fc542335cbf63a6caf6fb1b

4 years agoFix illegal memory access in FE calculations
Berk Hess [Wed, 23 Oct 2019 09:50:02 +0000 (11:50 +0200)]
Fix illegal memory access in FE calculations

With free-energy calculations not using lambda states, an output
buffer would be accessed one element beyond it's allocated size.

Note that this code should be completely refactored, but not
in a release branch.

Fixes #3173

Change-Id: I677e602ba96c9f64fbf79a626e43c9e590c18bea

4 years agoIncrease spc minimization test tolerance
Berk Hess [Sun, 29 Sep 2019 20:21:15 +0000 (22:21 +0200)]
Increase spc minimization test tolerance

This is needed because of larger differences when running
this test on multiple ranks.

Change-Id: I3056ae5933800e30e274791e8d27e2b8e79f6e04

4 years agoFix harmless OpenMP write race
Berk Hess [Wed, 2 Oct 2019 12:20:25 +0000 (14:20 +0200)]
Fix harmless OpenMP write race

Change-Id: I77e014ec2005e5289a0bd13ec608c73641928b54

4 years agoFix GPU atom data init timer issue
Berk Hess [Wed, 2 Oct 2019 09:28:06 +0000 (11:28 +0200)]
Fix GPU atom data init timer issue

The GPU atom data init timer was read conditionally on the timing
of the local pairlist transfer. But the local pairlist transfer
is not timed with an empty list, leading to an inconsistent timer
state.

Change-Id: Ifc2a63c7273ae65ae66708c6a8b0fb526041ee38

4 years agoFix random energy and virial with PME on GPU on a PME-only rank
Berk Hess [Fri, 4 Oct 2019 07:43:19 +0000 (09:43 +0200)]
Fix random energy and virial with PME on GPU on a PME-only rank

Missing zero initialization of never computed LJ PME energy and virial
terms with PME on the GPU could lead to random energy, virial and
pressure numbers.

The effect of this bug was that the potential and total energy could
be off (not the Coulomb mesh energy). This didn't affect sampling.
The pressure could be off, which would affect sampling when pressure
coupling is used, but likely the simulation would explode after
a few steps.

Fixes #3120

Change-Id: I309dde958f1b73e7f71f87f4f5ad016d16f8d16b

4 years agoUpdate the www link to the Doxygen documentation in the dev guide
Carsten Kutzner [Wed, 2 Oct 2019 14:09:45 +0000 (16:09 +0200)]
Update the www link to the Doxygen documentation in the dev guide

The doxygen manual seems to have been relocated from
http://www.stack.nl/~dimitri/doxygen/manual/index.html
to http://www.doxygen.nl/manual/

Change-Id: I321072065576c52a104a119abb5e05dc90eece3a

4 years agoPrepare for 2019.5
Paul Bauer [Wed, 2 Oct 2019 05:19:24 +0000 (07:19 +0200)]
Prepare for 2019.5

Reset DOI strings

Change-Id: I259bcc910b6676a9443090197f9209a399061a4b

4 years agoGROMACS version 2019.4
Paul Bauer [Wed, 25 Sep 2019 09:47:18 +0000 (11:47 +0200)]
GROMACS version 2019.4

Set DOI strings.
Updated regressiontest hash

Change-Id: Ic63b9942083b122a3d5ce509da51a29a65aa89a6

4 years agoFix chain ID handling in make_ndx
Paul Bauer [Wed, 25 Sep 2019 14:36:01 +0000 (16:36 +0200)]
Fix chain ID handling in make_ndx

The tool was still using the oldest possible way to read in structure
files, leading to issues with the chain IDs being overwritten and
replaced with the default id.

Fixes #3070
Refs #3113

Change-Id: I25112103a043d0266fe64c7619fe8e4abc56ffa5

4 years agoAlways output correct kinetic at last step
Berk Hess [Mon, 30 Sep 2019 09:19:23 +0000 (11:19 +0200)]
Always output correct kinetic at last step

When the last step did not coincide with an energy calculation step,
the kinetic energy and temperature written to the energy and log
file were incorrect when using the leap frog integrator.

Fixes #2950

Change-Id: I9a0bc2280235f233a37cd3b2cd03d9d5067bd4f9

4 years agoActually fix gmx wham with angle geometries
Berk Hess [Mon, 30 Sep 2019 07:38:44 +0000 (09:38 +0200)]
Actually fix gmx wham with angle geometries

A previous fix for converting the force constant in gmx wham
for angle and dihedral geometry applied an incorrect conversion
factor.

Fixes #2609 and #3094

Change-Id: I0aa9b848c7fa62306ccf15b327a650b1ad88e03f

4 years agoFix gro file output with index groups
Mark Abraham [Thu, 26 Sep 2019 17:54:20 +0000 (19:54 +0200)]
Fix gro file output with index groups

The bug was found with editconf, but the issue was present in writing
of any gro file for which index groups were used (not just index
groups supplied by the user).

Fixes #3107

Change-Id: I3fc586c69066a354b3210d9616125ef666f1ce26

4 years agoLimit Zen nbnxm kernel choice to Zen 1
Berk Hess [Mon, 23 Sep 2019 11:33:21 +0000 (13:33 +0200)]
Limit Zen nbnxm kernel choice to Zen 1

Changed the Zen flag in gmx_hw_info_t to a Zen1 flag, so Zen 2,
and newer, is treated as a generic x86 AVX2 architecture.

Change-Id: I5a0fd73973416bbd8cd46422a6f22f1ad95d9924

4 years agoworkaround for rhel bug #1749463, cmake bug #18349
Christoph Junghans [Thu, 19 Sep 2019 22:54:41 +0000 (16:54 -0600)]
workaround for rhel bug #1749463, cmake bug #18349

MPI_C_COMPILE_FLAGS is a list instead of a string
see: https://gitlab.kitware.com/cmake/cmake/issues/18349
We mainly want to workaround this issue as RHEL 8 triggers it:
https://bugzilla.redhat.com/show_bug.cgi?id=1749463

This issue is fixed in cmake-3.12.3

Change-Id: I14c1c0a4f33f26b128d55baa1b0455f8a463a999

4 years agoFix incorrect shift forces for CMAP
Berk Hess [Sat, 21 Sep 2019 09:36:32 +0000 (11:36 +0200)]
Fix incorrect shift forces for CMAP

The shift force indices were inverted for the second and third
atom in the CMAP term, leading to incorrect virial and pressure
contributions when these atoms resided in different periodic images.

Fixes #2845 and #2867

Change-Id: I1946a1d375d6c62e4e6d23ee25b92b42a3d4a6f7

4 years agoFix CPU detection and SIMD on modern Mac/cmake combos
Erik Lindahl [Fri, 30 Aug 2019 19:39:21 +0000 (21:39 +0200)]
Fix CPU detection and SIMD on modern Mac/cmake combos

With recent versions of cmake on Mac, the CPU detection
program failed to compile since it was very fragile (buggy)
with respect to how compiler flags were defined - and that
in turn will mean losing all SIMD support.
This will fix the build, and it also adds a more vocal warning
if the CPU detection code cannot be compiled at all.

Change-Id: Idcdc8b59a4252b3faf8572311d2ca63a4d2a1bc0

4 years agoFix incorrect rvdw on GPU with rvdw<rcoulomb
Berk Hess [Mon, 19 Aug 2019 15:50:20 +0000 (17:50 +0200)]
Fix incorrect rvdw on GPU with rvdw<rcoulomb

When rvdw < rcoulomb was set in the mdp file, rvdw would initially
be set to rcoulomb on the GPU. With default mdrun settings,
the correct rvdw would be set after 2*nstlist steps by PME tuning.

TODO: Add an mdrun test case with rvdw<rcoulomb, refs #3062

Fixes #3056

Change-Id: I7243f27e75e46adedd668822dcd6b9045ef98a3f

4 years agoFix grompp constraints=all-angles with constraints
Berk Hess [Mon, 26 Aug 2019 14:46:00 +0000 (16:46 +0200)]
Fix grompp constraints=all-angles with constraints

When using the mdp option constraints=all-angles, angles involving
bonds supplied as constraints in the topology would be removed,
but not replaced by angle constraints.

Fixes #3067

Change-Id: I7db390785a23c67abb30ae98e12272f88f5d5af7

4 years agoDefault to AVX2_256 SIMD for Zen2
Erik Lindahl [Thu, 22 Aug 2019 21:42:15 +0000 (23:42 +0200)]
Default to AVX2_256 SIMD for Zen2

From Zen2, we should no longer use the previous
hack with 128-bit AVX2 since the microarchitecture
can now execute two full-width AVX2 instructions
per cycle. Rather than specializing for Zen2, the
logic has been changed so we only apply the 128-bit
optimization for the chips where we know it helps
(Zen and Zen+, based on the model numbers), while
we default to full-width AVX2 for all other AMD
CPUs - which for now is only Zen2.

Fixes #3061.

Change-Id: I66017b200cd627bb9792f53ee39dd80d8e05965a

4 years agoFix missing bonded forces with CUDA GPUs and DD
Berk Hess [Tue, 20 Aug 2019 06:56:43 +0000 (08:56 +0200)]
Fix missing bonded forces with CUDA GPUs and DD

Fixes issue #3063

Change-Id: Ibce7fa741a7d2171f61968f22a758b40f79a8759

4 years agoFix for MSVC+CUDA
Mark Abraham [Tue, 23 Jul 2019 19:46:51 +0000 (21:46 +0200)]
Fix for MSVC+CUDA

MSVC finds it hard to deal with template parameter packs in a few
situations. We don't test with MSVC+CUDA, but a user reports this works in that case.

Change-Id: Id576482facaaf40972ba4fd55b2afcba3113d0e8

4 years agoMade gmx disre work with non-consecutively labeled restraints
Berk Hess [Tue, 14 May 2019 14:17:21 +0000 (16:17 +0200)]
Made gmx disre work with non-consecutively labeled restraints

gmx disre assumed restraint were consecutively labeled starting at 0.

Refs #2953

Change-Id: I7d9c14d43854c88cb1cdec89fc297c64cbea8783

4 years agoSolve issue with demux.pl
yongwangCPH [Tue, 9 Jul 2019 13:57:59 +0000 (15:57 +0200)]
Solve issue with demux.pl

Changes printout format to resolve discontinuous trajectories
after 100ns simulation length when exchange stride is not a multiple
of 1 ps.

Change-Id: If6bd4d578ba08f9d4fd814b80e69896caf9079eb

4 years agoFix segmentation fault with cosine pulling
Berk Hess [Mon, 29 Jul 2019 11:45:34 +0000 (13:45 +0200)]
Fix segmentation fault with cosine pulling

Both grompp and mdrun would fail with a segmentation fault when
using cosine-weighted COM pulling.

Fixes #3023

Change-Id: I6342a579251d21ba07a42d23ce578ae1e20c3286

4 years agoFixed small bug in gmx anaeig
David van der Spoel [Mon, 8 Jul 2019 08:24:29 +0000 (09:24 +0100)]
Fixed small bug in gmx anaeig

Poor use of variable names led to a small bug.

Fixes #2972
Change-Id: I244eac13dbaeeb0eac2be6531e579a125f4a66d3

4 years agoFix link to acpype repository
Paul Bauer [Tue, 9 Jul 2019 08:31:45 +0000 (10:31 +0200)]
Fix link to acpype repository

Fix as reported on the user mailing list.

Change-Id: Ifdba6a60857360346653d3c9caaa929094bebae5

4 years agoFix issues found by clang-tidy 7
Paul Bauer [Mon, 8 Jul 2019 08:57:39 +0000 (10:57 +0200)]
Fix issues found by clang-tidy 7

Same issues as found for the master branch after switching the build
to run on a different machine.

Change-Id: Icf7589eae5ebc77d7974181e4faeea9e9fe8b9d7

4 years agoClarify wording of release notes
Mark Abraham [Tue, 2 Jul 2019 13:19:54 +0000 (15:19 +0200)]
Clarify wording of release notes

A query on gmx-users indicated that the previous wording was confusing
- someone thought it might have meant normal nonbonded interactions
didn't work.

Change-Id: I0481c42ae1667bb5841e9541551dd98f5650c3ae

4 years agoFix bug in gmx xpm2ps
Paul Bauer [Mon, 1 Jul 2019 09:17:04 +0000 (11:17 +0200)]
Fix bug in gmx xpm2ps

When not providing the name for a library input file the program would
try to create a null string and fail with an assertion failure.

Fixes #3012

Change-Id: Ifd69af5420cdac2f624246aee09f36219b3f6aeb

4 years agoDisable PME GPU on Apple OpenCL
Szilárd Páll [Thu, 25 Apr 2019 09:16:29 +0000 (11:16 +0200)]
Disable PME GPU on Apple OpenCL

Apple's OpenCL compiler seems to be unable to build a functional clFFT
which leads to a runtime error that aborts the runs rather than falling
back to PME-CPU. Hence this commit disabled PME-GPU on all Apple
platform builds.

Fixes #2941 #2719

Change-Id: I6afd19a56ced2e49d16ab598cd91527e6f73a1db

4 years agoPrepare for 2019.4
Paul Bauer [Wed, 12 Jun 2019 07:40:58 +0000 (09:40 +0200)]
Prepare for 2019.4

Reset DOI strings.

Change-Id: I1b5112bda4beb17e0f33276f60b8354b159858f0

4 years agoVersion 2019.3
Paul Bauer [Wed, 12 Jun 2019 07:36:58 +0000 (09:36 +0200)]
Version 2019.3

Added DOI strings.
Updated regressiontest hash.

Change-Id: If0a3389653dc3594a69886c8a9031af0dc9ddff2

4 years agoMerge branch release-2018 into release-2019
Paul Bauer [Fri, 14 Jun 2019 04:54:44 +0000 (06:54 +0200)]
Merge branch release-2018 into release-2019

Change-Id: I50c1c93898246a8cbb9198227e1e77d483393bab

4 years agoFix qsort not being defined on Apple Clang
Paul Bauer [Wed, 12 Jun 2019 13:44:08 +0000 (15:44 +0200)]
Fix qsort not being defined on Apple Clang

Change-Id: Iffcf002d44ef8f6d174886afc67d6926aa8f2faf

4 years agoInitialize all of gmx_domdec_comm_t
Mark Abraham [Wed, 29 May 2019 16:11:02 +0000 (18:11 +0200)]
Initialize all of gmx_domdec_comm_t

Many fields were left uninitizalized when C++ new was used, rather
than snew. All fields are now initialized to zero, false, or nullptr,
in some cases via aggregate initializations of arrays.  Moved the
field documentation to the line before the field and its initializer,
which reads better.

The initializers require another call to snew be replaced with one to
new[].

Fixes #2960

Change-Id: Ide917a47c667a8237519c2f4600bbce48c48f948

4 years agoFix residue and molecule indexing in selections
Paul Bauer [Tue, 14 May 2019 12:46:05 +0000 (14:46 +0200)]
Fix residue and molecule indexing in selections

The residue and molecule indexing did not account for the global
indices when building blocks from selections.

Also fixed a docs formatting issue noticed while working on the fix.

Fixes #2951

Change-Id: Ifa16f032822f5d96b6ff747333a7aed60b9a414d

4 years agoExtend information for gmxcpp syntax error.
Paul Bauer [Wed, 5 Jun 2019 14:04:17 +0000 (16:04 +0200)]
Extend information for gmxcpp syntax error.

Fixes #2911

Change-Id: I6d22c95d32993d5d640bf20031bfdc9c04c99604

4 years agoAllow AWH geometry 'direction' to be periodic
Berk Hess [Mon, 13 May 2019 12:39:16 +0000 (14:39 +0200)]
Allow AWH geometry 'direction' to be periodic

When an AWH dimension with pull geometry 'direction' has an interval
length (nearly) matching the periodic unit cell dimension, it is now
made periodic.

Fixes #2946

Change-Id: I9a09b8eb7464e04bd3d72059324bceb590e531f5

4 years agoAdd check for too many grid points in hbond
Paul Bauer [Mon, 3 Jun 2019 15:30:37 +0000 (17:30 +0200)]
Add check for too many grid points in hbond

Fixes #2962

Change-Id: I61e80f8f254f1b5a0d968af087a87361fe4554ae

4 years agoFix gmx wham with angle geometries
Berk Hess [Mon, 10 Jun 2019 09:12:28 +0000 (11:12 +0200)]
Fix gmx wham with angle geometries

Fixes #2609

Change-Id: I36156e1d8bb98499e4357eadc4ca56384da433a5

4 years agoFix reference SIMD memory alignment
Berk Hess [Tue, 14 May 2019 09:53:24 +0000 (11:53 +0200)]
Fix reference SIMD memory alignment

Fixes #2952

Change-Id: I86b82c3259986c12c59c0b741df705b4774efe05

5 years agoFix missing intermolecular interactions with DD
Berk Hess [Wed, 15 May 2019 11:43:07 +0000 (13:43 +0200)]
Fix missing intermolecular interactions with DD

When running with domain decomposition, all intermolecular interactions
(when present) were ignored.

Fixes #2953

Change-Id: I98783f4175b40fdfa6ad035323e0897e8caaee5c

5 years agoVersion 2018.7
Paul Bauer [Mon, 13 May 2019 08:40:23 +0000 (10:40 +0200)]
Version 2018.7

Updated regressiontest hash as usual.

Change-Id: Ibdd47ea72906e7696c67b5e2be6d327bf0d5deae

5 years agoWork around gcc 7 avx512 bug
Berk Hess [Thu, 16 May 2019 07:54:02 +0000 (09:54 +0200)]
Work around gcc 7 avx512 bug

Due to an avx512 loop vectorization bug in gcc 7, many non-bonded
interactions could be ignored when running with more than 16 OpenMP
threads.

Fixes #2762

Change-Id: I3e03fde7114542bbd43069166a6c74937fc0f986

5 years agoAdd more info for wrong line endings
Paul Bauer [Tue, 21 May 2019 08:31:42 +0000 (10:31 +0200)]
Add more info for wrong line endings

Adds  some more info for users that encounter preprocessing errors due
to wring line endings.

Change-Id: Id76404befdf598438f1b1fa5da98812cc31e3c5f

5 years agoFix PQR formatting
Paul Bauer [Tue, 21 May 2019 08:14:36 +0000 (10:14 +0200)]
Fix PQR formatting

Was still broken after the last fix a few months ago.

Fixes #2955

Change-Id: I55b1296918c723654db505d1797114e1358e5aeb

5 years agoFix membrane embedding
Paul Bauer [Thu, 9 May 2019 14:17:37 +0000 (16:17 +0200)]
Fix membrane embedding

Refactoring forgot to allocate some data, causing a segmentation fault.
More refactoring used wrong data, causing a crash further on.
Even more refactoring lead to invalid memory access.

Fixes #2947

Change-Id: I61ad3125102b50c0338e0935a75cd7b1de95bc3f

5 years agoFix SHAKE dH/dlambda contributions
Berk Hess [Thu, 23 May 2019 08:27:03 +0000 (10:27 +0200)]
Fix SHAKE dH/dlambda contributions

The constraint contributions to dH/dlambda would be incorrect
with more than one SHAKE block.

Refs #2434 abd #2879

Change-Id: I0cb30a9f61893ce57d76bac34e7352fe307efe4e

5 years agoRevert "Fixed dvdlambda for SHAKE + FE"
Mark Abraham [Thu, 16 May 2019 07:17:04 +0000 (09:17 +0200)]
Revert "Fixed dvdlambda for SHAKE + FE"

This broke normal simulations with SHAKE and does not seem
to fix anything with FEP simulations either.

This reverts commit 33093601ff229ed8c8a40e73866a7ff351e8963b.

Fixes #2879

Change-Id: Ib6e9b4fe2b65811e9f64c37e842fd0ed9cdb055c

5 years agoAdd check for allocating too many interactions
Paul Bauer [Tue, 21 May 2019 07:57:47 +0000 (09:57 +0200)]
Add check for allocating too many interactions

Also change argument to nbnxn reallocation function from int to
std::size_t to avoid signed integer overflow.

Fixes #2932

Change-Id: I97bdd825ba1e4d81b65b4e4c037f980164c571f2

5 years agoFix equation typo
Mark Abraham [Mon, 20 May 2019 21:28:33 +0000 (23:28 +0200)]
Fix equation typo

Change-Id: Ica8b72f0e423255c410aee3238aadfdc52f4d317

5 years agoCorrect user guide postion restraint virial
Berk Hess [Mon, 13 May 2019 13:56:19 +0000 (15:56 +0200)]
Correct user guide postion restraint virial

Corrected comment in the user guide note on virial and pressure
with position restraints and refcoord-scaling none or com.

Refs #2942

Change-Id: I3cdb5a01640c388f1c4222b1a43b342ac55fd882

5 years agoPrepare for 2018.7
Paul Bauer [Mon, 13 May 2019 08:30:54 +0000 (10:30 +0200)]
Prepare for 2018.7

Also add the release note update for Redmine issue 2845.

Change-Id: I63c6ef4bf4ea2d78741ab3bf77079ea257f1a205

5 years agoAdd an example of using an MPI wrapper compiler
Mark Abraham [Tue, 7 May 2019 07:09:56 +0000 (09:09 +0200)]
Add an example of using an MPI wrapper compiler

A long-time GROMACS user reported not being able to make an MPI build,
and this might help clue people in.

Change-Id: Ie3f442e126561bb5c6e1ae71fee650f2e18c21aa

5 years agoRemoved non-existent AWH mdp option
Berk Hess [Fri, 3 May 2019 13:23:37 +0000 (15:23 +0200)]
Removed non-existent AWH mdp option

Removed non-existent mdp option awh1-dim1-period from user guide.

Fixes #2940

Change-Id: I96c4f1e636e0d171561dcfcf1e17e7f0ce419f8b

5 years agoFix FPE in do_steep
Paul Bauer [Thu, 25 Apr 2019 11:50:14 +0000 (13:50 +0200)]
Fix FPE in do_steep

Fixes error when running non-interacting system in steepest decent
minimization.

Fixes #2917

Change-Id: Iaff794ab6c2d41e8c4b3d89feeafae6ae2372ddf

5 years agoPrepare for version 2019.3
Paul Bauer [Thu, 11 Apr 2019 08:49:50 +0000 (10:49 +0200)]
Prepare for version 2019.3

Reset DOI strings

Change-Id: Iddbafb48832b28eb862a9a7cbe632e9e7a6fdbf7

5 years agoVersion 2019.2
Paul Bauer [Thu, 11 Apr 2019 08:35:46 +0000 (10:35 +0200)]
Version 2019.2

Set DOI strings.
Updated regressiontest hash.

Change-Id: I87dd50fd154c4f10a04e48be0c4fbe60964395ff

5 years agoFix off-by-one error in gmx cluster
Paul Bauer [Mon, 15 Apr 2019 15:51:57 +0000 (17:51 +0200)]
Fix off-by-one error in gmx cluster

The writing of indices for linking frames to clusters was of by one.

Also fixed naming to refer to indices and not indexes

Fixes #2926

Change-Id: I67d7f8cae56734e425c84460080de8896f6239cb

5 years agoMake mdrun -nsteps work again.
Berk Hess [Fri, 8 Mar 2019 12:53:04 +0000 (13:53 +0100)]
Make mdrun -nsteps work again.

The mdrun -nsteps option was only functional in some cases,
because it modified ir->nsteps after the checkpoint loading
modified it.
Note that this option is deprecated, but is should either work
or be removed.

Fixes #2881

Change-Id: Ib611b0e007171f8a351f61f3ecc9b1bda5248486

5 years agoUpdate 2019 release notes for issue 2845
Berk Hess [Mon, 15 Apr 2019 11:31:31 +0000 (13:31 +0200)]
Update 2019 release notes for issue 2845

We now know that issue reported in 2845 is not actually related to
LJ force switching. So the "fix" in 2019.1 fixes a bug, but the
issue 2845. This is now reported in the release notes for 2019.1
and 2019.2.

Change-Id: I000c518850f970c0f9cc331df22afaa24d9a27bc

5 years agoAdd user guide note on AVX512 throttle in GPU runs
Szilárd Páll [Mon, 15 Apr 2019 09:50:35 +0000 (11:50 +0200)]
Add user guide note on AVX512 throttle in GPU runs

Refs #2793

Change-Id: I161f5b92a8a34989ecc1d49410033f9ea8f91164

5 years agoFix pdb-related issues
Berk Hess [Sat, 13 Apr 2019 10:00:06 +0000 (12:00 +0200)]
Fix pdb-related issues

In editconf, if a PDB input was read, chain IDs are known, and should
be written if the output is also PDB. This now works again, after
being broken in commit 8dd3c9ae88004054b3.

This required adding missing tpr support to readConfAndAtoms(), which
also fixes that pdb2gmx, insert-molecules, and solvate could not read
tpr files. Those are the only tools that directly or indirectly called
readConfAndAtoms with a .tpr file.

Fixes #2900

Change-Id: I883777be945023a7e69260b22e76df54477828ee

5 years agoDisallow pull geometry direction-periodic with AWH
Berk Hess [Mon, 15 Apr 2019 09:31:19 +0000 (11:31 +0200)]
Disallow pull geometry direction-periodic with AWH

Fixes #2923

Change-Id: Ic309a5598c69e82824d80270466a2de7b00e7d41

5 years agoFix self-consistency tests of hwloc data structures
Mark Abraham [Tue, 9 Apr 2019 12:51:44 +0000 (14:51 +0200)]
Fix self-consistency tests of hwloc data structures

These relied on assumptions of regularity that have been shown to be
violated in practice. The new tests check that there is a bijective
mapping of logical processors to valid hardware thread descriptors.

Fixes #2921

Change-Id: I31e998b7a2881c05dfb5c7c8b46550489cbdefd6

5 years agoImprove warning messages about duplicate definitions
Mark Abraham [Fri, 12 Apr 2019 16:27:29 +0000 (18:27 +0200)]
Improve warning messages about duplicate definitions

Because the warning is fatal, the wording with "overriding" is
misleading. An override only occurs if the warning is suppressed.

Email on gmx-users made clear that the word "overriding" is not clear
enough for all users to understand that more than one definition was
provided. They do not necessarily know that grompp has already read in
the force field definition. Typically a self-contained molecule .itp
file might override definitions found in the force-field (whether
duplicate or different). In such cases, the user needs to consider
what their intentions are and to express them clearly.

Change-Id: Ie73f1dbe1233d6fd0df41628c770b8f2ad1f1b1b

5 years agoFix typo in AVX512 detection code
Mark Abraham [Tue, 9 Apr 2019 12:50:47 +0000 (14:50 +0200)]
Fix typo in AVX512 detection code

Change-Id: I2fb425a1649ac7d06480831016d6c35e7e63ce6f

5 years agoFixed manual for dihedral restraints.
David van der Spoel [Fri, 29 Mar 2019 12:31:11 +0000 (13:31 +0100)]
Fixed manual for dihedral restraints.

The equations in the manual for dihedral restraints were incorrect
and inconsistent with the code in bonded.cpp.

Change-Id: I335f72cf81990e636366ae75f890df85c5053388

5 years agoFixes bug in l-bfgs.
Морозов Дмитрий [Wed, 3 Apr 2019 12:02:21 +0000 (15:02 +0300)]
Fixes bug in l-bfgs.

l-bfgs should now work excatly as it was in 4.6.5,
up-to some numerical precision in forces and energies.

Fixes #2641

Change-Id: I11a85a4241cc933fef94e2095dd8c3cbbb28b01b

5 years agoRevert "Temporarily disable ARM HPC compiler in post-submit"
Szilárd Páll [Thu, 4 Apr 2019 16:59:20 +0000 (18:59 +0200)]
Revert "Temporarily disable ARM HPC compiler in post-submit"

This reverts commit 2e63850dc17bc9f718344e68cd245c9c96a2256b.

Reason for revert: build slave software issues resolved.

Change-Id: I2a04afeeb51fe0177631c1bf55bed52ea2b0ea63

5 years agoFix segmentation fault with simulated annealing
Paul Bauer [Thu, 28 Feb 2019 09:39:57 +0000 (10:39 +0100)]
Fix segmentation fault with simulated annealing

Fix contributed by Daniel Fragiadakis.

Fixes #2871

Change-Id: I237d49f9996eb2ae869d59e4c39a6c2d33c9ece7

5 years agoTemporarily disable ARM HPC compiler in post-submit
Szilárd Páll [Mon, 1 Apr 2019 19:51:32 +0000 (21:51 +0200)]
Temporarily disable ARM HPC compiler in post-submit

Change-Id: I27a6699109e5d7ce3576200a3a977b7a63a305aa

5 years agoBetter document GMX_OPENMP_MAX_THREADS
Szilárd Páll [Mon, 25 Feb 2019 15:29:57 +0000 (16:29 +0100)]
Better document GMX_OPENMP_MAX_THREADS

Change-Id: I2c44f8b2331d69fde5fa242b5e53132813a2cb31

5 years agoFix UB vector usage
Roland Schulz [Tue, 26 Mar 2019 00:24:39 +0000 (17:24 -0700)]
Fix UB vector usage

Fixes a buffer overflow for c_simdBestPairAlignment=2.

Found with _LIBCPP_DEBUG=1.

Change-Id: Ib21ca875244673b27748a01373e7fc10252a7c44

5 years agoPrevented FFTW build errors with clang and AVX-512
Mark Abraham [Tue, 19 Mar 2019 09:23:18 +0000 (10:23 +0100)]
Prevented FFTW build errors with clang and AVX-512

FFTW hard-codes the inclusion of files that does not work with its
AVX-512 flags when using thee clang compiler, so in this case
GROMACS should compile without AVX-512 support.

Updated release notes, but didn't update the install guide for this
niche case.

Fixes #2892

Change-Id: Ida18fad66e654511937d51ee58f42440de2a321d

5 years agoProvide reminder of which nvcc is in use
Mark Abraham [Wed, 13 Mar 2019 08:59:27 +0000 (09:59 +0100)]
Provide reminder of which nvcc is in use

FindCUDA.cmake + the user might have combined to find an unexpected
nvcc, so we help everyone help themselves by outputting it here,
particularly if they report problems on the users list.

Change-Id: Ic951fa219c9133760a3c97ad2a92d65d64f03bfb