alexxy/gromacs.git
3 years agoMake python check if modules are available for checksumming
Paul Bauer [Mon, 10 May 2021 11:46:32 +0000 (11:46 +0000)]
Make python check if modules are available for checksumming

3 years agoPrepare branch for 2021.2 point release
Paul Bauer [Wed, 5 May 2021 14:34:44 +0000 (16:34 +0200)]
Prepare branch for 2021.2 point release

Reset DOI strings.
Set new version.
Add release note stub.

3 years agoGROMACS 2021.2 release
Paul Bauer [Wed, 5 May 2021 13:55:17 +0000 (13:55 +0000)]
GROMACS 2021.2 release

3 years agoFix include order
Paul Bauer [Wed, 5 May 2021 11:45:15 +0000 (13:45 +0200)]
Fix include order

Was missed during previous commit.

3 years agoZero modular simulator total energy
Pascal Merz [Wed, 5 May 2021 11:47:27 +0000 (11:47 +0000)]
Zero modular simulator total energy

3 years agoRestore pull output to rerun
Mark Abraham [Wed, 5 May 2021 08:57:19 +0000 (10:57 +0200)]
Restore pull output to rerun

This was omitted from c52e6838 and is now restored.

Refs #1868
Fixes #4043

3 years agoFix compile with IntelLLVM and cmake 3.20
Roland Schulz [Wed, 5 May 2021 04:51:19 +0000 (21:51 -0700)]
Fix compile with IntelLLVM and cmake 3.20

3 years agoAdd known issues to user guide
Paul Bauer [Tue, 4 May 2021 12:46:17 +0000 (12:46 +0000)]
Add known issues to user guide

3 years agoFix copyright year
Artem Zhmurov [Mon, 3 May 2021 19:52:10 +0000 (22:52 +0300)]
Fix copyright year

Introduced in d76ab996f96a4a51d7ad949284d056f61d7ca227

3 years agoRespect umask when creating temporary file
Mark Abraham [Mon, 3 May 2021 17:17:57 +0000 (17:17 +0000)]
Respect umask when creating temporary file

3 years agoMention the users forums on the user-guide front page
Szilárd Páll [Mon, 3 May 2021 13:28:08 +0000 (15:28 +0200)]
Mention the users forums on the user-guide front page

Added a note + URL pointing to the forums.

3 years agoFully define IndexGroupsAndNames
Mark Abraham [Mon, 3 May 2021 09:44:48 +0000 (09:44 +0000)]
Fully define IndexGroupsAndNames

3 years agoAllow using CPU PME with DD and GPU update
Szilárd Páll [Mon, 3 May 2021 08:42:36 +0000 (08:42 +0000)]
Allow using CPU PME with DD and GPU update

3 years agoProhibit SETTLE interactions on atoms with perturbed masses
Mark Abraham [Fri, 30 Apr 2021 08:56:25 +0000 (10:56 +0200)]
Prohibit SETTLE interactions on atoms with perturbed masses

This has never been implemented, but in 2018.x and older it sometimes
managed not to crash. Now both grompp and mdrun prevent the simulation
from running and suggest an alternative.

Fixes #3959

3 years agofix build on F34
Christoph Junghans [Fri, 30 Apr 2021 09:37:58 +0000 (09:37 +0000)]
fix build on F34

3 years agoTemporarily lift requirement to detect GPUs in CI
Mark Abraham [Fri, 30 Apr 2021 06:21:02 +0000 (08:21 +0200)]
Temporarily lift requirement to detect GPUs in CI

3 years agoFix incorrect handling of single residue chains
Paul Bauer [Wed, 21 Apr 2021 12:47:50 +0000 (14:47 +0200)]
Fix incorrect handling of single residue chains

The code for deciding if a molecule is circular would incorrectly assign
single residue chains as cyclic, leading to errors in pdb2gmx and wrong
topologies.

Fixes #4029

3 years agoFix buffer overrun when invalid value passed to numPbcDimensions
Andrey Alekseenko [Thu, 22 Apr 2021 16:38:05 +0000 (18:38 +0200)]
Fix buffer overrun when invalid value passed to numPbcDimensions

The code was supposed to print a user-friendly string when an invalid
parameter value was passed, but user-friendly strings are defined only
for valid values.

Caught by gcc-10 diagnostics.

3 years agoFix build with gcc-11
Paul Bauer [Thu, 22 Apr 2021 10:07:26 +0000 (12:07 +0200)]
Fix build with gcc-11

More modern implementations of libstdc++ changed std::function so that
it needs all arguments to be complete types.

Fix originally provided by Eliane Briand.

Fixes #3991

3 years agoEnsure coordinates are copied for dipole moment calculation
Andrey Alekseenko [Thu, 15 Apr 2021 06:17:53 +0000 (06:17 +0000)]
Ensure coordinates are copied for dipole moment calculation

3 years agoFix Apple OpenCL build and add to CI
Paul Bauer [Sun, 11 Apr 2021 17:55:22 +0000 (17:55 +0000)]
Fix Apple OpenCL build and add to CI

3 years agoFix compile with Intel oneAPI 2021.2
Roland Schulz [Sun, 11 Apr 2021 01:15:33 +0000 (01:15 +0000)]
Fix compile with Intel oneAPI 2021.2

3 years agoFatal error if options are incompatible with modular and legacy schemes
Pascal Merz [Wed, 7 Apr 2021 18:56:48 +0000 (12:56 -0600)]
Fatal error if options are incompatible with modular and legacy schemes

Replaces an assert with a fatal error for the cases in which the user-
chosen options are incompatible with both the modular and the legacy
code path. This should be unnecessary once modular simulator is
feature-complete in 2022, but improves the user experience meanwhile.

Closes #4009

3 years agoFix webpage build
Paul Bauer [Thu, 25 Mar 2021 10:04:32 +0000 (11:04 +0100)]
Fix webpage build

Markdown was incorrect in release notes.

3 years agoFix grompp position restraint reference check
Berk Hess [Thu, 25 Mar 2021 09:21:51 +0000 (09:21 +0000)]
Fix grompp position restraint reference check

The check for position restraints and absolute reference always
produced a warning, also only with position restraints.

Fixes #3996

3 years agoFix gromos bond types
Paul Bauer [Tue, 23 Mar 2021 13:51:41 +0000 (14:51 +0100)]
Fix gromos bond types

Apparanrtly those have been incorrect for a while for C and +N in the
[ACE] residue.

Fixes #3995

3 years agoPrevent creating string from nullptr in plugin loading
Paul Bauer [Tue, 23 Mar 2021 10:44:31 +0000 (11:44 +0100)]
Prevent creating string from nullptr in plugin loading

Code tried to create a std::string from a GETENV call, that could return
a nullptr and cause a subsequent assertion failure.

Fixes #3055

3 years agoFix build for Folding@home
Dmitry Moskalchuk [Mon, 15 Mar 2021 16:13:17 +0000 (16:13 +0000)]
Fix build for Folding@home

Signed-off-by: Dmitry Moskalchuk <dm@crystax.net>
3 years agoFix OpenCL build on OSX
Mark Abraham [Mon, 15 Mar 2021 15:31:23 +0000 (15:31 +0000)]
Fix OpenCL build on OSX

Missing header was observed when building bioconda package. Fix tested
at https://github.com/bioconda/bioconda-recipes/pull/27264

3 years agoDisable GPU update in the presence of frozen atoms
Andrey Alekseenko [Thu, 11 Mar 2021 11:43:07 +0000 (11:43 +0000)]
Disable GPU update in the presence of frozen atoms

There is a known bug (Issue #3920) affecting GPU update when frozen
atoms are present. The bug is expected to be resolved in GROMACS 2022.

In GROMACS 2021, we disable the invalid configuration to prevent users
from getting invalid results.

This is a backport of !1241 and !1255.

Refs #3920

3 years agoPrepare branch for 2021.2 point release
Paul Bauer [Mon, 8 Mar 2021 18:09:55 +0000 (19:09 +0100)]
Prepare branch for 2021.2 point release

Reset DOI strings.
Set new version.
Add release note stub.

3 years agoGROMACS 2021.1 release
Paul Bauer [Mon, 8 Mar 2021 18:11:31 +0000 (18:11 +0000)]
GROMACS 2021.1 release

Set DOI strings.
Set release date.
Updated regtest hash.

3 years agoFix copyright check
Paul Bauer [Mon, 8 Mar 2021 13:16:54 +0000 (14:16 +0100)]
Fix copyright check

Something got broken while merging 2020 into 2021.

3 years agoRecord Power9 test issues
Paul Bauer [Mon, 8 Mar 2021 13:01:39 +0000 (13:01 +0000)]
Record Power9 test issues

Adds entry to known issues for test failures recorded on Power9.

Refs #3747

3 years agoCorrect the dependencies of nblib tests
Joe Jordan [Mon, 8 Mar 2021 07:05:56 +0000 (07:05 +0000)]
Correct the dependencies of nblib tests

Fixes #3953

3 years agoMerge branch release-2020 into merge-2020-into-2021
Paul Bauer [Thu, 4 Mar 2021 15:34:41 +0000 (16:34 +0100)]
Merge branch release-2020 into merge-2020-into-2021

Resolved Conflicts:
cmake/gmxVersionInfo.cmake
src/gromacs/gmxpreprocess/readir.cpp

3 years agoGROMACS 2020.6 release
Paul Bauer [Wed, 3 Mar 2021 13:35:30 +0000 (14:35 +0100)]
GROMACS 2020.6 release

Set DOI strings.
Set release date.
Update regtest hash.

3 years agoRemove velocity from partially frozen atoms in md-vv
Pascal Merz [Wed, 3 Mar 2021 10:48:27 +0000 (10:48 +0000)]
Remove velocity from partially frozen atoms in md-vv

md-vv would add some velocity to the frozen dimensions of partially
frozen atoms during constraining. This did not lead to wrong
trajectories, as the frozen dimensions of the positions are kept fixed
during propagation. The non-zero velocities were, however, reported in
trajectories and final configurations. They might also have lead to
slightly wrong kinetic energies, since the reported kinetic energy is
calculated after the velocities are constrained. All effects are
expected to be relatively small, since they did not accumulate, as the
velocities were regularly reset to zero once per step.

Refs #3849

3 years agoDisable awh-potential=convolved when using AWH with pull and FEP
Magnus Lundborg [Tue, 2 Mar 2021 06:04:16 +0000 (06:04 +0000)]
Disable awh-potential=convolved when using AWH with pull and FEP

The combination of a convolved potential along a pull dimension
with the umbrella potential that is used along the FEP lambda
dimension does not work.

Fixes: #3946.

3 years agoVarious fixes for gmx xpm2ps
Mark Abraham [Mon, 1 Mar 2021 16:11:11 +0000 (16:11 +0000)]
Various fixes for gmx xpm2ps

Minor fixes for bugs introduced during refactoring, mostly in my
commit 0004e9e8377.

No need to resize to zero on first iteration, which is anyway wrong
for subsequent iterations.

Incorrect regex for matching label strings.

Incorrect logic for title.

Incorrect discard of matrix type string.

Closes #3881

3 years agoFix mass perturbation to dH/dlambda
Berk Hess [Thu, 25 Feb 2021 21:16:31 +0000 (22:16 +0100)]
Fix mass perturbation to dH/dlambda

The contribution for perturbed mass was missing in dH/dlambda.
Note that this was present in the foreign energy differences
used for the Bennett acceptance ratio method.

Also updated the incorrect reference data for tests.

Fixes #3943

3 years agoFix webpage build
Paul Bauer [Fri, 26 Feb 2021 14:15:00 +0000 (14:15 +0000)]
Fix webpage build

Release notes had invalid syntax that needed fixing.

3 years agoFix MiMiC with vsites
Mark Abraham [Fri, 26 Feb 2021 11:51:46 +0000 (11:51 +0000)]
Fix MiMiC with vsites

This moves the call to the virtual site construction in MiMiC.
The current call happened after virtual
sites are used. This call has been moved to right after the coordinates
are received. The underlying problem is likely to have lead to wrong results when using
MiMiC with virtual sites.

Refs #3866
Fixes #3904

3 years agoIntroduce a check (in grompp) that AWH FEP sampling is OK
Magnus Lundborg [Fri, 19 Feb 2021 17:23:19 +0000 (18:23 +0100)]
Introduce a check (in grompp) that AWH FEP sampling is OK

Ensure that awh-nstsample is a multiple of nstcalcenergy when
sampling an FEP dimension.

Fixes #3922

3 years agoDisable cos acceleration for non leap-frog code paths
Pascal Merz [Thu, 11 Feb 2021 06:23:24 +0000 (23:23 -0700)]
Disable cos acceleration for non leap-frog code paths

The cos acceleration is only applied in leap-frog. grompp and mdrun
would, however, happily accept non-zero cos-accel input, and report
viscosity-related quantities without ever applying the acceleration
for all other integrators.

This change adds a check at grompp time (to avoid new tprs with
non-implemented parameter combinations being created), and at
runner time (to catch older tprs). Should probably be backported
to the supported releases.

Refs #3903

3 years agoFix range check bug in gmx covar
Paul Bauer [Tue, 9 Feb 2021 05:14:34 +0000 (05:14 +0000)]
Fix range check bug in gmx covar

Range checking was done the wrong way around.

Fixes #3902

3 years agoCorrect docs and add safeguard for non-pulsed electric field
Andrey Alekseenko [Fri, 19 Feb 2021 19:20:08 +0000 (22:20 +0300)]
Correct docs and add safeguard for non-pulsed electric field

The docs were different from the implementation for the case of sigma =
0. The implementation has been that way for many years (at least since
b3fcdb22), so changing the behavior is dangerous.

Amended the user documentation, and added a check to warn users of
non-obvious legacy behavior.

Closes #3865

3 years agoChanges from !1119
Jan-Oliver Joswig [Fri, 12 Feb 2021 10:21:31 +0000 (11:21 +0100)]
Changes from !1119

3 years agoUse GmxManageMPI variables for gmxapi.
M. Eric Irrgang [Mon, 8 Feb 2021 15:55:14 +0000 (18:55 +0300)]
Use GmxManageMPI variables for gmxapi.

For minimal disruption to the release-2021 infrastructure,
let the `gmxapi` CMake target (libgmxapi) use
`${MPI_COMPILE_FLAGS}` and `${MPI_C_LIBRARIES}`
instead of the `MPI::MPI_*` target(s).

Note: This will conflict with the resolution to #3672.
Conflicts arising in a merge from `release-2021` to `master`
should defer to `master`.

Fixes #3896

3 years agoFix gmx_rmpbc_init with InteractionDefinitions
Berk Hess [Wed, 10 Feb 2021 10:38:47 +0000 (11:38 +0100)]
Fix gmx_rmpbc_init with InteractionDefinitions

Molecules were not made whole when gmx_rmpbc_init with
InteractionDefinitions. This caused all trajectoryanalysis tools
not to make molecules whole.

Fixes #3900

3 years agoFix llvm build in docker container
Paul Bauer [Wed, 10 Feb 2021 07:49:31 +0000 (07:49 +0000)]
Fix llvm build in docker container

We still need to be able to rebuild containers if needed.

3 years agoFix clang-format
Artem Zhmurov [Tue, 9 Feb 2021 05:33:13 +0000 (08:33 +0300)]
Fix clang-format

2d567afadf39d215950455d46056745474b850c0 was finalized by applying
suggestion in the GitLab GUI, which did not adhere to clang-format
policy.

3 years agoFix range check bug in gmx covar
Paul Bauer [Tue, 9 Feb 2021 05:14:34 +0000 (05:14 +0000)]
Fix range check bug in gmx covar

Range checking was done the wrong way around.

Fixes #3902

3 years agoTag images on the branch as release-2021
Paul Bauer [Mon, 8 Feb 2021 17:40:49 +0000 (17:40 +0000)]
Tag images on the branch as release-2021

This makes sure we can change images for master without affecting the
stable branch.

Refs #3716

3 years agoEnsure GoogleTest builds properly
Mark Abraham [Fri, 5 Feb 2021 14:13:57 +0000 (15:13 +0100)]
Ensure GoogleTest builds properly

Some test targets would not build without this.

Closes #3890

3 years agoUpdated logos
Cathrine Bergh [Fri, 5 Feb 2021 15:43:14 +0000 (15:43 +0000)]
Updated logos

3 years agoDefine M_PI when it is not defined
Mark Abraham [Wed, 3 Feb 2021 16:20:56 +0000 (17:20 +0100)]
Define M_PI when it is not defined

This is a standard work-around (e.g. used in GROMACS) for C++ library
implementations that don't provide POSIX capabilities by default
(e.g. Cygwin).

Closes #3890

3 years agoFix refactoring issue
Mark Abraham [Wed, 3 Feb 2021 07:56:08 +0000 (08:56 +0100)]
Fix refactoring issue

The former code had short-circuit logic that is now restored. That
could only be a problem if multiple patches for the same atom had the
same name, which sounds unlikely. So probably the problem was benign.

Added doxygen and suggested future clean-up.

Refs #2833

3 years agoFix handling of tip4p in pdb2gmx
Mark Abraham [Wed, 3 Feb 2021 07:56:08 +0000 (08:56 +0100)]
Fix handling of tip4p in pdb2gmx

The former code wrote an output configuration file with an extra
spurious 'M' particle, as well as the 'MW'.

Added test coverage, which needs the full output configuration to be
checked. Made that configurable so that we have the option to check
the full configuration only when we want to.

Refs #2833
Fixes #3894

3 years agoInitialize rollingPruningNumParts in init_plist
Andrey Alekseenko [Wed, 3 Feb 2021 17:15:31 +0000 (17:15 +0000)]
Initialize rollingPruningNumParts in init_plist

Previously, rollingPruningNumParts and rollingPruningPart were not
initialized, which, in the case of an empty domain, caused access
to uninitialized memory. No particular harm was being done, but it
could trigger an assertion in gpu_launch_kernel_pruneonly during
some of the regression tests.

The whole code in the preamble of gpu_launch_kernel_pruneonly is
probably due for refactoring, but since we initialize all other
plist's fields in init_plist, we better initialize these two as well.

3 years agoImprove DLB recommendation
Szilárd Páll [Tue, 2 Feb 2021 13:09:58 +0000 (13:09 +0000)]
Improve DLB recommendation

Do not recommend turning on DLB when it was turned off due to a
condition known to make it unsuitable to use in the run.

Fixes #3879

3 years agoFix compiler-version checks for C++17 requirements
Mark Abraham [Tue, 2 Feb 2021 09:10:44 +0000 (10:10 +0100)]
Fix compiler-version checks for C++17 requirements

175d3bb67f4 didn't update these parts

Refs #3297

3 years agoAdd necessary include
Mark Abraham [Mon, 1 Feb 2021 10:30:35 +0000 (10:30 +0000)]
Add necessary include

int64_t needs the right header to be defined. Was broken
on Cygwin

Fixes #3890

3 years agoUpdate release note on QM/MM deprication
Christian Blau [Fri, 29 Jan 2021 08:30:13 +0000 (09:30 +0100)]
Update release note on QM/MM deprication

The previous release note made it sound like the ongoing
CP2K interface development is providing code that is
"untested and likely dysfunctional"

This is not the case, it is the best functioning interface
at the moment and while not part of the official GROMACS code
base, has seen more through testing than any other QM/MM
interface.

3 years agoImprove CUDA codegen flags
Szilárd Páll [Fri, 29 Jan 2021 16:36:42 +0000 (16:36 +0000)]
Improve CUDA codegen flags

- onnly generate PTX for an early and the latest arch (3.5 and 8.0)
- add binary 8.0 and 8.6 targets

3 years agoPrepare for first 2021 patch release
Paul Bauer [Fri, 29 Jan 2021 07:34:26 +0000 (07:34 +0000)]
Prepare for first 2021 patch release

Reset DOI strings

3 years agoGROMACS 2021 release
Paul Bauer [Thu, 28 Jan 2021 13:35:05 +0000 (13:35 +0000)]
GROMACS 2021 release

Updated regressiontest hash.
Set doi strings.
Set correct release date.

3 years agoFix NB-LIB copyright
Paul Bauer [Thu, 28 Jan 2021 12:12:57 +0000 (13:12 +0100)]
Fix NB-LIB copyright

Was missing some updates and had a wrongly formatted header.

3 years agoFix formatting in random/seed.cpp
Paul Bauer [Thu, 28 Jan 2021 11:07:42 +0000 (12:07 +0100)]
Fix formatting in random/seed.cpp

This was left over after merging release-2020 into 2021.

3 years agoFix failing listed-forces test
kanduri [Thu, 28 Jan 2021 11:37:56 +0000 (11:37 +0000)]
Fix failing listed-forces test

3 years agoReintroduce CI job descriptions
Andrey Alekseenko [Thu, 28 Jan 2021 08:48:27 +0000 (08:48 +0000)]
Reintroduce CI job descriptions

GitLab does not allow adding custom fields to YAML files, so comments
were used. I tried to make the descriptions grep'able (not for the
wqhole matrix, but at least for individual settings), human-readable,
and possibly machine-parseable at the same time.

3 years agoSYCL: fix typo in a test and clean-up non-standard-compliant code
Andrey Alekseenko [Wed, 27 Jan 2021 12:01:07 +0000 (15:01 +0300)]
SYCL: fix typo in a test and clean-up non-standard-compliant code

Discovered when trying to compile with hipSYCL. Although not an issue
for Intel compiler, better keep things clean.

The change of `write` to `read` in the test code is intended. Not sure
how it worked before, but it should be `read` there.

Also fixed namespace qualifiers, implicit ctors.

3 years agoTest python 3.9.1
Mark Abraham [Wed, 27 Jan 2021 07:43:26 +0000 (08:43 +0100)]
Test python 3.9.1

Extends the image-building infrastructure to also include
python 3.9.1 into images.

Fixes #3479

3 years agoClarify lambda vector usage with figure in manual
Christian Blau [Tue, 2 Jun 2020 12:54:33 +0000 (14:54 +0200)]
Clarify lambda vector usage with figure in manual

Add a figure that clarifies the effect of different lambda values.

3 years agoAdd new sample script for listed forces
Paul Bauer [Tue, 26 Jan 2021 18:34:29 +0000 (19:34 +0100)]
Add new sample script for listed forces

Adds a sample script that demonstrated the use of
listed forces calculator.

3 years agoChange default Ewald kernel to tabulated on NVIDIA CC 7.0
Szilárd Páll [Tue, 26 Jan 2021 16:33:16 +0000 (16:33 +0000)]
Change default Ewald kernel to tabulated on NVIDIA CC 7.0

Partially addressed #3845

3 years agoFix default for xpm2gmx tick-mark spacings
Mark Abraham [Tue, 26 Jan 2021 08:52:07 +0000 (09:52 +0100)]
Fix default for xpm2gmx tick-mark spacings

Inadvertently broken ages ago in 027ae34187f8

Fixes #3881

3 years agoEnable grompp to read virtual_site1
Pascal Merz [Tue, 26 Jan 2021 15:53:54 +0000 (15:53 +0000)]
Enable grompp to read virtual_site1

In !306, a virtual site with one constructing atom was introduced.
grompp was, however, not updated to understand the new topology entry.
This updates the topology format in grompp and the manual. It also adds
a missing example for virtual site type 2fd to the manual.

Found while investigating #3866, but not directly connected.

3 years agoAdd necessary dependence of sample test on check-nblib
ejjordan [Tue, 26 Jan 2021 13:28:45 +0000 (14:28 +0100)]
Add necessary dependence of sample test on check-nblib

This change adds the argon-forces-integration sample script
as a dependency for check-nblib. Without this, the sample script
is not correctly tested.

3 years agoStop installing NB-LIB argon-forces-integration binary
Mark Abraham [Mon, 25 Jan 2021 16:56:57 +0000 (17:56 +0100)]
Stop installing NB-LIB argon-forces-integration binary

This binary should not be installed alongside gmx. For example, the
GROMACS analysis-tool template in share folder is not installed by
default.

There's value to testing that the sample code compiles, but not
everybody needs to install it.

3 years agoUse ctest better to run NB-LIB sample code as a test
Mark Abraham [Mon, 25 Jan 2021 16:41:26 +0000 (17:41 +0100)]
Use ctest better to run NB-LIB sample code as a test

The return code of the sample binary does what a test needs to do.
There's no need to create issues by shoehorning it into a GoogleTest.

Refs #3821

3 years agoUpdate self-documentation in admin/git-pre-commit
Andrey Alekseenko [Mon, 25 Jan 2021 15:43:40 +0000 (15:43 +0000)]
Update self-documentation in admin/git-pre-commit

3 years agoLog progress from gmx msd better
Mark Abraham [Mon, 25 Jan 2021 10:39:56 +0000 (11:39 +0100)]
Log progress from gmx msd better

Refs #3284

3 years agoCheck availability of compile flags at cmake time
Joe Jordan [Mon, 25 Jan 2021 12:48:56 +0000 (12:48 +0000)]
Check availability of compile flags at cmake time

Fixes #3821

Ensures that compile flag can be used before using it. Gives a
message if flag cannot be used.

3 years agoRename DefaultAngle to HarmonicAngleType in nblib listed forces
ejjordan [Mon, 25 Jan 2021 09:53:33 +0000 (10:53 +0100)]
Rename DefaultAngle to HarmonicAngleType in nblib listed forces

This change renames the type corresponding to harmonic angles
in nblib from DefaultAngle to HarmonicAngleType. This is both
more descriptive, and more similar to other listed forces
types in nblib.

Additionaly, one failing test is disabled. This disabling
is needed so that all tests can pass to allow this MR to
be merged. A subsequent MR fixes the test issues.

3 years agoMTS release note
Berk Hess [Mon, 25 Jan 2021 08:29:03 +0000 (08:29 +0000)]
MTS release note

3 years agoUpdate Dockerfiles for Python subpackages.
M. Eric Irrgang [Sun, 24 Jan 2021 17:01:21 +0000 (20:01 +0300)]
Update Dockerfiles for Python subpackages.

Some appropriate adjustments were discovered while
investigating computing environments for an upcoming workshop.

* Bump the base Linux distribution.
* Refine the inline documentation.
* Adjust the package list and build options.

3 years agoFinalize gmxapi Python package version 0.2.
M. Eric Irrgang [Sun, 24 Jan 2021 16:57:36 +0000 (19:57 +0300)]
Finalize gmxapi Python package version 0.2.

3 years agoDisable CUDA textures also on NVIDIA Ampere A100
Szilárd Páll [Fri, 22 Jan 2021 15:11:30 +0000 (16:11 +0100)]
Disable CUDA textures also on NVIDIA Ampere A100

The same benefits have been shown as those observed with V100.

Partially addresses #3845

3 years agoEnsure residue name used by pdb2gmx matches rtp name
Mark Abraham [Thu, 21 Jan 2021 12:11:36 +0000 (12:11 +0000)]
Ensure residue name used by pdb2gmx matches rtp name

The default for GLU/GLUH and ASP/ASPH is the unprotonated form. The
help text pdb2gmx specifically states this, and there is no attempt to
use the residue name to infer the protonation.

The old code set the rtp name to the unprotonated form without
changing the residue name read from the configuration file. The
original residue name was then used in the output configuration and
topology file. That name indicated the wrong protonation if the user
input tried to specify the protonated form via the residue name. Now
it changes the residue name to match the rtp name.

This has been surprising, so whenever pdb2gmx implements its default by
changing the residue name, it now reports that.

The same problem occurs when using pdb2gmx -asp if the input
configuration had the name of the protonated form and the interactive
choice was for the unprotonated form. However, in that case there is
no need to inform the user that the input residue naming is being
overridden. Tested manually.

Updated the tests to handle this case.

Added some release notes, Doxygen, added some comments, and updated some code style
so the review is easier.

Fixes #2480

3 years agoKeep the number of tMPI ranks consistent with the number of GPUs
Andrey Alekseenko [Thu, 21 Jan 2021 09:39:13 +0000 (09:39 +0000)]
Keep the number of tMPI ranks consistent with the number of GPUs

When the number of atoms in a system is small, and the automatic resource
assignment is used (i.e., a user just runs gmx mdrun), the number of ranks
chosen by get_nthreads_mpi might be incompatible with the expectations of
GpuTaskAssignmentsBuilder, namely that the number of ranks must be
divisible by the number of threads.

If the user did not supply the -ntmpi value, and we have to limit the
number of ranks due to small system size, we round it down down to the
nearest value divisible by the number of GPUs to use (or 1, whichever is
greater).

Fixes #3874

3 years agoSuggest a workaround for pulling with -deffnm
Mark Abraham [Wed, 20 Jan 2021 10:56:38 +0000 (11:56 +0100)]
Suggest a workaround for pulling with -deffnm

Also fixed use of settings, use settings to do the line wrapping,
and wrote some newlines to make the output more readable.

Refs #3875
Fixes #3442

3 years agoUse correct python interpreter cmake check
Paul Bauer [Wed, 20 Jan 2021 10:39:02 +0000 (10:39 +0000)]
Use correct python interpreter cmake check

Still needed to complete address checksumming issue.

Fixes #3862

3 years agoDescribe the configured precision correctly for mdrun
Mark Abraham [Tue, 19 Jan 2021 10:46:01 +0000 (11:46 +0100)]
Describe the configured precision correctly for mdrun

We adopted the build configuration naming scheme for GMX_DOUBLE
"mixed" vs "double" some years ago so that people knew we don't reduce
forces in mdrun solely in single. This change improves consistency in
this regard in the cases that are important to users, ie. log files
and messages about checkpoint restarts.

Various file-reading tools still refer to "single" in contexts where
they are reading floats, which is fine.

3 years agoNBLIB: Remove preprocessor macros
Paul Bauer [Wed, 13 Jan 2021 11:23:02 +0000 (12:23 +0100)]
NBLIB: Remove preprocessor macros

Macros used to implement part of the listed forces calculation have been
removed and replaced with a pure C++ template implementation.

Also addresses review comments not fully resolved from previous merge
requests.

3 years agoFix TPR handling for older versions.
Paul Bauer [Wed, 20 Jan 2021 06:10:40 +0000 (06:10 +0000)]
Fix TPR handling for older versions.

Reading in a newer TPR file in a pre-2021 version would fail hard with
symtab errors due to us forgetting to increment the tpr generation when
adding the VSite1 type to ftupd.

This fixes the omission an makes the tpr generation an enum similar to
the tpr version.

Fixes #3867

3 years agoFix checksumming code
Paul Bauer [Tue, 19 Jan 2021 09:17:49 +0000 (10:17 +0100)]
Fix checksumming code

Recent additions to the code to avoid errors with certain IDEs
caused issues by never trying to validate the checksums.

Fixed by properly passing the necessary variables to the script.

Fixes #3862

3 years agoFix PaddedVector move constructor
Mark Abraham [Wed, 20 Jan 2021 04:57:46 +0000 (04:57 +0000)]
Fix PaddedVector move constructor

This could leave the moved-from vector in a state unfit to destruct.

Expanded test coverage, including improving the tests and their
infrastructure, so I could understand my own code.

Fixes #2832

3 years agoReport hwloc 1.x deprecation only when found
Mark Abraham [Tue, 19 Jan 2021 11:06:38 +0000 (12:06 +0100)]
Report hwloc 1.x deprecation only when found

Refs #3818

3 years agoChange default MTS force group selection
Berk Hess [Tue, 19 Jan 2021 16:38:19 +0000 (16:38 +0000)]
Change default MTS force group selection

Because of instabilities of aliphatic protons with the Amber
force fields, the default force group selection for multiple
time stepping has been changed to include longrange-nonbonded only.

Refs #3804