Berk Hess [Sun, 29 Jun 2014 09:31:14 +0000 (11:31 +0200)]
Take LJ-PME into account for table spacing
The table spacing for the grid correction for Ewald interactions
only took Coulomb and not LJ into account. Note that with default
settings LJ tables can use a coarser spacing than Coulomb.
Change-Id: Ib0f831a2177bcf10ad9e03c6764cc155e89abdbb
Erik Lindahl [Fri, 27 Jun 2014 09:04:29 +0000 (11:04 +0200)]
Fixed free energy with LJ-PME
First, Only the normal LJ part of the potential was
shifted for LJ-PME with potential-shift
modifier in the free energy kernel,
and not the Ewald component. This had an effect
of roughly 0.05% on the total energy. Second,
Berk found that the verlet nbnxn SIMD LJ-PME kernel
had an issue that caused the potential and force
to be slightly off. With this patch, both
potential and force match the non-free-energy
kernel perfectly with at lambda=0.
Change-Id: I4bc53ce1bdb96ba06656b86470dbf8dbd1e81972
Mark Abraham [Thu, 5 Jun 2014 17:20:56 +0000 (19:20 +0200)]
Convert install guide to markdown
Adds `make install-guide` to make both a plain-text INSTALL for the
tarball, and a monolithic HTML install guide for uploading to the
website. Intended for processing with pandoc, but I don't think
there's any pandoc-specific extensions used. Naturally, if the build
system doesn't have pandoc, then this make target is not available,
just like the other documentation features.
Added more description about various SIMD instruction sets,
portability, and how to use compilers and the GMX_SIMD setting.
Added summary of important CMake options for typical GROMACS
installations.
This now does some variable interpolation to keep accuracy up without
active maintenance, so setting some such variables gets changed a bit.
Mentioned more optional build components
Minor textual changes to the install guide.
Fixes #1440. Refs #1242
Change-Id: Iff8e165759fbf8cc5199c8447e912403b8a79a17
Mark Abraham [Sun, 29 Jun 2014 09:46:03 +0000 (11:46 +0200)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Berk Hess [Wed, 5 Mar 2014 22:24:30 +0000 (23:24 +0100)]
Updated LJ-PME documentation
Added a description of the more accurate treatment of the LJ
combination rule treatment for LJ-PME.
Also updated the Verlet support table.
Removed old figure describing the quality of an old approximation no
longer available in the code.
Added some usage suggestions.
Change-Id: If671536bced4a404caab10b7aa386f8f88f95c46
Rossen Apostolov [Thu, 19 Jun 2014 09:48:16 +0000 (11:48 +0200)]
Use cosistent style when referring to force fields.
Refs #677.
Change-Id: I386c6d9782c88d5af929a3230cd3beb06f2cfbd2
Teemu Murtola [Sun, 29 Jun 2014 04:39:59 +0000 (07:39 +0300)]
Remove some hardcoded selection string buffers
This removes some arbitrary limitations on the length of the input
string. The error handling would still be in the need of a bigger
overhaul (all of these were in the error handling parts).
Fixes #1538, related to #655.
Change-Id: I1112b5ccae526cf3b8fd079bbabf8d7f61e52635
Roland Schulz [Sun, 29 Jun 2014 07:32:16 +0000 (03:32 -0400)]
Merge release-4-6 into release-5-0
Change-Id: I89230f8a117d9636570e573b7b2657c79aea51c0
Roland Schulz [Sun, 29 Jun 2014 05:17:34 +0000 (01:17 -0400)]
Fix detection of i386 in tmpi
The i386 without underscore is not recommended for new code and is not
defined if -std=... (other than gnu...) is passed on the command line.
__i386__ is already present for GCC 3.2 so there is no need for the old
name. Also we use __i386__ in other places in the code already.
We dont pass such a flag by default for 4.6, but the user could.
In 5.0 this fixes tmpi if the compiler supports c++11 and we pass
std=c++11.
Fixes #1533
Change-Id: I615cb91d3e3196a90fa4ba03fa183bf47af5d444
Erik Lindahl [Tue, 24 Jun 2014 20:54:45 +0000 (22:54 +0200)]
Enable rtp angle/dihedral entries not connected by bonds
pdb2gmx has previously silently ignored any angles or
torsions not connected by bonds. This patch adds code
to mark with RTP/hackblock entries that have been
assigned in this search, and afterwards we add those
that have not yet been matched. In particular, this makes
it possible to have angles or torsions in RTP entries
even if those atoms are not connected by bonds.
Fixes #1276.
Change-Id: I61c3c3954ef8c4cd59956d88b73c6a69c1a66c65
Michael Shirts [Sun, 1 Dec 2013 01:06:10 +0000 (20:06 -0500)]
Allow printing potential energies to dhdl.xvg file
Previously, only total energies were printed out to the dhdl.xvg
file. In many cases, it is more useful to print out just
the potential energies. For example, when doing mdrun -rerun,
and comparing to output run without rerun, the velocities may not
be identical, which makes it difficult to compare the total
energies between runs when computing free energies and other
observables. dhdl-print-energy can now be 'no', 'total',
or 'potential'. The alternative 'kinetic' should generally not
be needed, since that can be done analytically in all cases.
Backwards compatible in the .tpr since gmx_bool is an int. The
old false value will be interpreted as 'no', and the 'yes' value
as 'total' energy, which will reproduce the old behavior.
Fixes #1329
Change-Id: I16828ef07c46bcfc61fe03744cbf251c00160636
David van der Spoel [Sat, 28 Jun 2014 07:33:55 +0000 (09:33 +0200)]
Fixes #1532, SEGV in g_current.
Unfortunately the tool does not do anything useful at this point
in time it seems, it just produces one graph that is non-zero
Change-Id: Ie991b8200628253ab308d36cb5afc80138b1acff
Roland Schulz [Sun, 29 Jun 2014 05:22:10 +0000 (07:22 +0200)]
Merge "Merge branch 'release-4-6' into release-5-0" into release-5-0
Mark Abraham [Sat, 28 Jun 2014 18:59:54 +0000 (20:59 +0200)]
Merge branch 'release-4-6' into release-5-0
Conflicts:
CMakeLists.txt
Left CMake version condition in favour of new fix from release-4-6;
actual settings logic from release-5-0.
Change-Id: I493571b2aca74647a7547d5c2d9463679bdd858a
Roland Schulz [Sat, 28 Jun 2014 04:58:55 +0000 (00:58 -0400)]
Fix error for no 64bit file support
Because the cache was set the error wasn't shown after
rerunning cmake.
Change-Id: I9def74eaecd02d2f2bfc6c40b7954404e2890717
Erik Lindahl [Mon, 23 Jun 2014 14:35:20 +0000 (16:35 +0200)]
Fixed CMAP generation for alanine dipeptide special residue
Fix CMAP to work for residues not detected as proteins, and
make sure we correctly process single-residue entries that
have residue-internal CMAP definitions. In particular, this
is important for the default alanine dipeptide special
residues (ALAD) in Charmm27.
Fixes #824.
Change-Id: I5538b26175f12dcac983491323b5b6ee303c8434
Magnus Lundborg [Mon, 23 Jun 2014 10:07:23 +0000 (12:07 +0200)]
Update TNG build system
GROMACS can now find and use a copy of TNG installed on the system.
The default is still to compile the version shipped with GROMACS.
That compilation is now handled using the BuildTNG.cmake script, so
there is no duplication between the GROMACS and TNG CMake code that
builds TNG, and the result is fully portable with all supported
environments and CMake versions.
Moved TNG handling into src/gromacs/CMakeLists.txt where it is
actually used.
Bumped the version of the TNG library to 1.6. Corresponds to commit
ba9aea42b01 in the TNG repository.
Renamed md5 things with GROMACS prefixes, so that there is no internal
name clash with the md5 things in TNG, and no client of libgromacs can
get unexpected behaviour.
Updated GMX_USE_TNG=off to work, and silenced unused-parameter
warnings associated with that setting.
Refs #1453 (partial fix)
Fixes #1520
Change-Id: I7ac9b578e45b8e75c67c9df9440eed968a3a9371
Mark Abraham [Tue, 20 May 2014 14:52:37 +0000 (16:52 +0200)]
Use parallel terminology more consistently
In user-facing docs, log and debug output, we should be consistent.
(Later, in master, we can fix the code and comments). Definitions:
* core: hardware that actually executes instructions
* socket: a group of cores sharing (e.g.) L3 cache
* node: a group of sockets not needing a network connection
to run in parallel
* thread: vague - an instruction stream (but should not be used
if one of the foregoing is more appropriate)
* rank: an MPI rank (of either flavour), thus containing at least
one thread
* process: in mdrun, regarding parallelism, only used when
needing to distinguish real MPI from tMPI
(These, or similar, will end up in some user docs shortly.)
The goal is to express ourselves in the most relevant abstraction, not
all of them. For example, we should talk about the number of OpenMP
threads per MPI rank without observing that there are two kinds of
implementations of MPI, unless we need to draw a relevant distinction
between those two kinds of implementations.
Where debug output seems more like dumping a data structure than
describing logical state, I've left the names in strings referring to
the members of the data structure (e.g. cr->nodeid, which refers to
the MPI rank).
Changed variable name in gmx_check_thread_affinity_set() from ncpus to
nthreads_hw_avail to make clear that the associated change to the
debug string is correct.
Doubtless there are still uses of "process" that should refer to
"rank," but we use "process" to mean very many different things, so it
is hard to use sed-like tools effectively. Ideally, clang libTooling
would make it easy to find only uses that are present in strings, but
I don't have time to learn how to do that now.
Change-Id: I4dc39dff8be81a30ce803d7833dc305d29d8d188
ngoga [Fri, 6 Dec 2013 09:30:15 +0000 (10:30 +0100)]
Default SD integrator is now sd1 by Nicu Goga
The default SD integrator is now sd1, sd2 is deprecated. grompp
and mdrun both warn about sd2, and recommend sd.
The new sd1 integrator was developed by Herman Berendsen and
implemented by Nicu Goga.
Without constraints the sd1 integrator is nearly unchanged.
With constraints the new sd1 integrator is now as accurate as normal
MD with a leap-frog integrator, whereas the sd2 integrator will give
a slightly too high temperature.
Fixes #1496
Change-Id: I02b4537b05742ed499a84b625c4d4bf8994c0304
Teemu Murtola [Sat, 28 Jun 2014 06:51:00 +0000 (09:51 +0300)]
Remove overeager selection index group check
The check for sorted groups in selections was a bit too eager, and
prevented use of many index groups that would previously have been
perfectly valid for, e.g., g_bond, with gmx distance. Remove the
check. Instead, fix the case where unsorted group is passed as the
value of a selection, and add tests for that.
Will reinstantiate the check later in another form, as currently
unsorted index groups get silently accepted and treated in a more or
less random manner in all other cases. However, this change provides
a usability improvement that could be nice to have, even if I don't
immediately have time to implement the check.
Change-Id: I86e935d8bd08e63a9e3d01fb5a4084d96c5b7006
Roland Schulz [Sat, 28 Jun 2014 05:06:58 +0000 (01:06 -0400)]
Another MacOSX rpath fix
Version comparison was wrong. 2.8.11.x is greater 2.8.11 and thus
was using the 2.8.12 method.
Change-Id: I3eda8c6239ad13194a04fa1da59e99adf2e68519
Roland Schulz [Fri, 27 Jun 2014 23:22:28 +0000 (19:22 -0400)]
Merge release-4-6 into release-5-0
Conflicts:
CMakeLists.txt
share/top/oplsaa.ff/watermodels.dat
src/gromacs/fileio/trxio.c
src/gromacs/gmxana/anadih.c
src/gromacs/gmxana/gmx_chi.c
src/gromacs/gmxana/gmx_tcaf.c
src/gromacs/gmxlib/checkpoint.c
src/gromacs/legacyheaders/tables.h
src/gromacs/mdlib/shellfc.c
src/gromacs/mdlib/tables.c
src/gromacs/pulling/pull.c
src/kernel/readpull.c -> applied to
src/gromacs/gmxpreprocess/readpull.c
src/programs/mdrun/repl_ex.c
Change ignored because was already merged:
src/gromacs/mdlib/sim_util.c
Deleted. No merge:
src/gmxlib/gpu_utils/dummy.cpp
Removal of INSTALL_NAME_DIR not necessary because
was already not there anymore:
src/gmxlib/CMakeLists.txt
src/tools/CMakeLists.txt
src/kernel/CMakeLists.txt
src/mdlib/CMakeLists.txt
Tools deleted - no merge:
src/tools/gmx_bond.c
src/tools/gmx_kinetics.c
Change-Id: Ibeb5a23cce94fb1765ebee271c9c92e001b83630
Erik Lindahl [Fri, 20 Jun 2014 15:23:06 +0000 (17:23 +0200)]
Always set b-state posres, even if identical to a-state
Previously we did not read the b-state position restraint
file (option -rb) if the name was identical to the a-state,
which caused the position restraints to be zero. Rather
than trying to be smart, we now always read it.
Fixes #1399.
Change-Id: I13d93ab667734f022e48143e4cd0672b7f303e1c
Erik Lindahl [Wed, 25 Jun 2014 12:47:17 +0000 (14:47 +0200)]
Update g_density to handle bilayers better
As suggested by Chris Neale, we now properly
perform the binning relative to the center rather than
merely shifting the center of the output. While at it,
I have also added a selection for the group to center on
(useful when the membrane is not in the center of
the system, say with a membrane protein), and an option
that allows us to perform the binning in relative
coordinates and output the average dimensions. The last
is useful when there are large box fluctuations. The
tool now also has an expanded help section with a few
recommendations for bilayers.
Fixes #1168.
Change-Id: Id132311f1d6cd4858f99e8f44a0266667100a406
Erik Lindahl [Wed, 25 Jun 2014 17:41:12 +0000 (19:41 +0200)]
Fix LJPME Lorentz-Berthelot combination rules
Christian found a bug in the way we evaluate
arithmetic combination rules for LJ-PME reciprocal
space. With this change, both group and verlet kernels
produce virtually identical total energies for both
types of reciprocal-space combination rules. It does
not affect the (default) geometric LJPME case.
Change-Id: I4bb0de1df9588dce3ca94e39a370a0b994b25b53
Rossen Apostolov [Thu, 12 Jun 2014 14:26:03 +0000 (16:26 +0200)]
Changed linking order to make Extrae work.
In addition removed redundant GMX_EXTRA_LIBRARIES linkage.
The list is already linked in libgromacs and there's no need
to include it again for mdrun and the tools.
Change-Id: I12e8d32f1f0fb2abceea2a5bd929fad563c1b609
Erik Lindahl [Sat, 21 Jun 2014 21:57:34 +0000 (23:57 +0200)]
Improve PDB I/O (keep occupancy, b-factor, element)
Retain the extra PDB info such as occupancy, b-factors,
and element name columns with trjconv when providing a
PDB structure file. If you use a TPR file, we still
write the (given atomnumbers being present).
However, we deliberately don't store the pdbinfo in the
TPR file since that is a specification for a particular
experiment, rather than something that's valid in the
simulation.
Fixes #917, #1307.
Change-Id: I80cb8f5a250ba094fe81f32c58b4eb0298164053
Carsten Kutzner [Wed, 25 Jun 2014 15:12:19 +0000 (17:12 +0200)]
Remove obsolete pull-geometry option 'position' from documentation.
Change-Id: Ie7e3e962e1b814c92ebba5de499167b3310d713f
Roland Schulz [Thu, 26 Jun 2014 03:58:19 +0000 (23:58 -0400)]
Fix Phi Platform file for MPI
The Platform file was only working without MPI. One could still
compile with MPI without using the toolchain. But now this method
described in the installguide works for MPI too.
Change-Id: I188e3e970a2d4e777ba98cb9e0ea83f6c1276c62
Erik Lindahl [Wed, 25 Jun 2014 13:28:14 +0000 (15:28 +0200)]
Avoid warnings about coupling when free_energy=no
At least during free energy testing it is irritating to
get a new warning about the molecule listed in couple-mol not
being decoupled when we disable free energy - that is why we
are disabling it. Changing the warning to a note, since it is
really a note to to help, not something that will result in a
bad simulation.
Change-Id: If56061be0ff784aeedfc31b92532927ab562392c
Rossen Apostolov [Tue, 17 Jun 2014 08:51:09 +0000 (10:51 +0200)]
Added information about dihedral restraints.
Fixes #1149.
Change-Id: Ifc6ab09d91116f3059addded11f8b0ed4f200545
Rossen Apostolov [Mon, 23 Jun 2014 12:40:57 +0000 (14:40 +0200)]
Remove install_manifest.txt during make clean.
install_manifest.txt is generated in the build tree during install.
If installation is done as root, subsequent 'make install' as
normal user will fail due to permissions issue to overwrite the file.
Change-Id: Ie29b05db3a6b4f7e07ecd88f02e61c92a99ff003
Roland Schulz [Thu, 26 Jun 2014 03:18:19 +0000 (23:18 -0400)]
Fix Visual Studio Project build
Fix two issues with project builds (the default cmake Generator on
Windows, jenkins uses jom):
- build configuration linker flags have to be defined
- only c++ flags are used
Change-Id: I773f45d0937f6bad9a2008ef1cfcbfc6c58a13a0
Mark Abraham [Thu, 26 Jun 2014 15:07:55 +0000 (17:07 +0200)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Roland Schulz [Tue, 24 Jun 2014 01:52:58 +0000 (21:52 -0400)]
Merge release-4-6 into release-5-0
This merges commit
dced970, which changes many free-energy,
modifier and table-generation code paths, and its fix
349d8056.
That patch
349d8056 contains fixes to potential-shift and
potential-switch, as well as the shift/switch interactions
in combination with free energy. Since 5.0 has undergone
changes in the same areas (both nbnxn free energy, LJ-PME
and force-switch), this commit is a likely place for
bugs to have been introduced, so we keep it as a separate
commit.
Uncrustified the result of the merge.
Conflicts:
src/gmxlib/nonbonded/nb_free_energy.c
Resolved in favour of whichever branch seemed most right; changes from
dced970,
99aa704d and
5f59569a8 were all relevant here. We have
introduced some new LJ-PME-related variables so that code path is
reasonably similar to the coulomb path. We have also fixed a small
bug where the LJPME self-energy (i==j for verlet kernels) was not
multiplied by 0.5.
src/gromacs/gmxlib/nonbonded/nonbonded.c
Resolved as for
dced970
src/gromacs/gmxpreprocess/readir.c
Resolved as for
dced970
src/gromacs/mdlib/forcerec.c
Resolved from both branches
src/gromacs/mdlib/sim_util.c
Resolved from both branches, and from
349d8056
src/gromacs/mdlib/tables.c
Resolved from both branches, and added a few lines of code
to make LJ-PME work with shift modifiers.
As noted above, to avoid breaking the 5.0 branch, we have
manually added the changes corresponding to
349d8056 to make
sure force-switch (same as vdwtype=shift) results in correct
dispersion correction, and we have added a fix for the sign
of the LJPME grid c6 term in the generic nonbonded kernels.
This means
349d8056 should not be merged in again to 5.0 later.
Change-Id: Ida29b143a1bcb727ff38f9c63bf133bf749477b1
Roland Schulz [Thu, 26 Jun 2014 05:02:47 +0000 (01:02 -0400)]
Fix MacOSX rpath
d9d2b0aa74 added rpath for MacOSX but the install rpath
was wrong for MacOSX.
Change-Id: I33984696a0800baf0c58bc13ffbdddc514008750
Erik Lindahl [Mon, 9 Jun 2014 19:06:04 +0000 (21:06 +0200)]
Updated Amber GBSA parameters
Updated parameters according to Per Larsson's post on
gmx-users in November 2012 (076230.html) that found energies
to agree to at least within 0.2kJ/mol (OK, not great).
Fixes #1161.
Change-Id: I1666238c332fb9d8cc82ab6faea672e016d78757
Erik Lindahl [Mon, 23 Jun 2014 19:30:51 +0000 (21:30 +0200)]
Make source compile under Linux X32 ABI
The X32 ABI uses 32-bit pointers in combination with all
other features of x86-64 to save memory. This requires two
minor changes to x86 inline assembly macro checks, where we
need check for __LP64__ (64-bit pointers) rather than
__x86_64__ (which is set for X32). The resulting binaries
run approximately 2% faster, but since it requires all
dependent libraries to be available in X32 format it is
not something we will enable with a simple setting for now.
To use it manually, set CFLAGS and CXXFLAGS to "-O3 -mx32".
Fixes #1263.
Change-Id: I2555b2c68d4bba24f4e581268c472a47fe7d1531
Erik Lindahl [Sun, 22 Jun 2014 06:26:40 +0000 (08:26 +0200)]
Make it harder for compiler to optimize away SIMD CMake tests
On at least one old version of Linux, a new compiler in
combination with an old assembler led to the compiler
understanding the SIMD code but optimizing it away, which made
the test pass even though the assembler could not handle it.
This changes the return value of the CMake tests to be based on
the SIMD operations, which should make them a lot more
difficult to optimize away.
Fixes #1493.
Change-Id: I3e021c3c718cf54afaadf131c5fa911b3933f61e
David van der Spoel [Wed, 25 Jun 2014 07:06:30 +0000 (09:06 +0200)]
Added check for domain decomposition and shells.
Fixes #1376 in as much as that it prevents incorrect calculations.
Can be left out when merging to 5.0 that does not support
particle decomposition. In 5.0 we can write a message about OpenMP
if that works with shells.
Change-Id: Ic07ae70cd3cd5298b6b2d579719da4d267b2d8fb
Mark Abraham [Fri, 13 Jun 2014 13:53:11 +0000 (15:53 +0200)]
Manual fixes
* updates for cut-off schemes
* used more Roman fonts for abbreviations that are not algebraic
* fixed layout and bounding boxes of figures
* removed references to removed GROMACS-87 force fields
* changed formatting of column of [moleculetype] parameter-listing
table because we now have some interactions with really long names
(and some consequent changes to how footnotes and labels
have to work)
* removed out-of-date appendix B section on Modifying GROMACS
* fixed aspects of CHARMM description, including adding the second
reference for nucleic acids, and adding a link to the CHARMM36 port
Change-Id: Icb8c0a6087af282a653bb528d71f77e1bb04fae1
Magnus Lundborg [Thu, 19 Jun 2014 08:56:00 +0000 (10:56 +0200)]
Improved check to decide if to add chain/residue.
Together with the latest TNG library updates this
fixes #1507
Change-Id: Iea7160cc1194fc398f9c4db0cc66f4bd43ce724a
David van der Spoel [Mon, 23 Jun 2014 08:42:00 +0000 (10:42 +0200)]
Added check in grompp for shells and inputrec issues.
Some combinations of inputrec settings do not work with shells,
in particular nstcalcenergy > 1 or use of a twin range cutoff.
This is now checked for in grompp. Fixes #1376.
Change-Id: I4382bcf5231920b22c725a7cf8e7b4e17c2526d9
Berk Hess [Tue, 24 Jun 2014 14:10:31 +0000 (16:10 +0200)]
Fixed the sign of mass perturbed contribution
Corrected the sign of the kinetic energy contribution to dHdl and dH.
Fixes #1527.
Change-Id: Ia1a2f708cdbba9a5a120a2ba8510cc2498f4d054
Erik Lindahl [Mon, 23 Jun 2014 00:34:37 +0000 (02:34 +0200)]
Fixed GROMOS assignment of PRO-NH terminus torsions
This patch also adjusts the parameters for torsions
over N-CA bonds in the termini, according to
suggestions by Justin Lemkul & Drazen Petrov.
Fixes #1022.
Change-Id: Ib00d69eeddf924b1e7e2de33475d774d7da54899
Erik Lindahl [Mon, 23 Jun 2014 00:01:56 +0000 (02:01 +0200)]
Make sure duplicates bondeds are set from hackblocks
Previously the rtp file could end up containing two
entries when the N/C termini databases added interactions.
These were then quicksorted, which could make the
assignment random. We now check for duplicates and
discard the rtp entry in favor of the hackblock.
Fixes #1395.
Change-Id: I505cfbb7e6c8e8050e6e2935cc417e49a515d8d8
Erik Lindahl [Mon, 23 Jun 2014 12:03:17 +0000 (14:03 +0200)]
Clean up CMAP placement in parameter list
Some of the CMAP variables were always placed into and
read from the first entry of the parameter list. While this
did not result in any errors, this patch now places them
correctly in the F_CMAP position.
Fixes #1345.
Change-Id: Ic6e09e46c352976cfc1f57ff903c082b4ec43df8
Erik Lindahl [Mon, 23 Jun 2014 21:05:53 +0000 (23:05 +0200)]
Added multisimulation info to log/output
mdrun now reports that it is part of a multisimulation
setup, how many simulations there are, and that the
detailed MPI/OpenMP data applies to the individual
simulation.
Fixes #1204.
Change-Id: I04f1edf9a7fd1eda202b83713bdd877807242dca
Erik Lindahl [Tue, 24 Jun 2014 08:32:10 +0000 (10:32 +0200)]
Fixed recent bug with disp.corr. and vdwtype=shift
The very recent commit
dced970a introduced a small error
in the dispersion correction with vdwtype=shift.
Change-Id: I23c082ed190a5eda096504a23b277fb879c5feb4
Rossen Apostolov [Thu, 19 Jun 2014 10:26:27 +0000 (12:26 +0200)]
Extend version checking/warnings for checkpoint continuation
Detect if the major/minor versions differ, and write a more
explicit warning that both explains this type of continuation
is unsupported, and recommend to use the -noappend option.
In contrast, for cases where only the patch level differs,
we now only issue a note that the binary has changed, since
this is fully supported.
Fixes #1230.
Change-Id: Ifec509de0e5a05d170ada89fd000c961e311c9ca
Erik Lindahl [Mon, 23 Jun 2014 22:28:15 +0000 (00:28 +0200)]
Enable terminus-specific atom translation
By adding protein-nterm and protein-cterm classes for atom
name translation in xlateat.dat we now avoid replacing
names such as O2 in non-standard amino acids. This patch
also corrects a cosmetic issue in the number of residues
claimed to be found in each chain by pdb2gmx.
Fixes #567.
Change-Id: I5956991e3ff3e5e1202330a857fd773f9e9b6945
Rossen Apostolov [Thu, 12 Jun 2014 15:21:10 +0000 (17:21 +0200)]
Added tip5p to the list of watermodels in some FF.
Added support for flexible tip5p to OPLSAA and parameters
were taken from the Amber/Charmm tip5p.itp files.
There are, however, various problems with that water model.
This commit doesn't resolve them so the bug report below
will need to be followed up at later stage.
watermodels.dat now includes a note about these issues
and refers users to the redmine report.
Refs #1348.
Change-Id: I3adaae21f35efbb4240716e91f1bb5d256c8853e
Erik Lindahl [Sat, 21 Jun 2014 21:30:50 +0000 (23:30 +0200)]
Enable 4-letter resname in PDB output, keeps more pdbinfo.
This still fully adheres to the PDB standard since column 21
is not used by the standard. All common programs (PyMol, VMD, etc)
understand the 4-letter format, and programs that only read three
letters will still read the same filename as they used to. In
particular, this conserves most residue names during pdb<->gro
format conversions. We have also killed the non-standard
wide pdb format to avoid writing broken PDB files.
Fixes #725. Refs #917.
Change-Id: I9b6b8f2e191acdfb65ca2b5d96f39249cd71ea98
Erik Lindahl [Thu, 12 Jun 2014 08:30:44 +0000 (10:30 +0200)]
Detect non-fatal warnings when trying CFlags for source
We now first check the flag itself (and catch warnings),
after which we check if our SIMD source compiles with it.
Fixes #1461.
Change-Id: Ic6ae99f62c5657195a59dc83ab08399d3491249a
Erik Lindahl [Mon, 23 Jun 2014 10:59:19 +0000 (12:59 +0200)]
Enable xvgr output and labels for g_principal
g_principal now writes proper xgr files instead of raw
data files, and the output has more explanatory axis
labels as well as legends for the data sets.
Fixes #609.
Change-Id: I1eb7914a25661734e6a95e70413194ef723f9635
Erik Lindahl [Fri, 20 Jun 2014 15:52:51 +0000 (17:52 +0200)]
Disallow extracting V/F from XTC files in g_traj
We now issue a fatal error if the user asks for velocities or
forces to be written to as output from g_traj when the input
XTC file does not contain these quantities.
Fixes #1298.
Change-Id: I45a12fb1e5db5b2b2e1b072444e5430373fbaaa3
Erik Lindahl [Sun, 22 Jun 2014 22:01:47 +0000 (00:01 +0200)]
Warn if using nsteps=0 without continuation=yes
To achieve true single-point energy evaluations for a structure
we should not constrain the initial conformation. This is
typically done by settings nsteps=0, so grompp now warns if this
is used while keeping continuation = no (the default).
Fixes #1231.
Change-Id: I4e65b66f6535da4206e7dbd5f7769a33c94ec12d
David van der Spoel [Sun, 22 Jun 2014 20:30:51 +0000 (22:30 +0200)]
Implemented fatal error for nstcalcenergy!=1 with shells.
The combination of using shell particles with a value for
nstcalcenergy that is different from 1 leads to energies
not being communicated around on a parallel machine and hence
a meaningless shell relaxation procedure. This patch will just
bail out with a fatal error if the combination is detected.
Fixes #1376.
Change-Id: Ia54f1480b2358355438acb5de31dfa56b7f8d603
Rossen Apostolov [Wed, 18 Jun 2014 14:19:03 +0000 (16:19 +0200)]
More clear message for undefined pullgroups.
When a pull group was not defined in the index file,
grompp didn't report in a clear way where the problem was.
Fixes #1446.
Change-Id: If571b46b91f6ad28213808b6e18d96e1da0be79d
Erik Lindahl [Sun, 22 Jun 2014 14:15:09 +0000 (16:15 +0200)]
Make log file option listing similar to mdp names
Modify names to be consistent with the mdp file spelling
and abbreviations, to the extent possible. This patch also
removes the unused ndelta option.
Fixes #1514.
Change-Id: I3e56ee3dc773d027b2c0c5ca060fa34e4930a4d6
Vedran Miletić [Thu, 19 Jun 2014 13:48:46 +0000 (15:48 +0200)]
Use ${CMAKE_INSTALL_LIBDIR} as lib directory for tng_io library
Directory lib was used as library directory for tng_io library. This
causes problems on Debian wheezy (and future versions), which expect
libraries to be installed under lib/<arch>. GROMACS already uses
${CMAKE_INSTALL_LIBDIR} for libgromacs.so, and this patch makes
libtng_io and libtng_compress install in the same location.
This was also addressed in the TNG repository and this commit
corresponds to commit
e8fa7bf3abfc74acf60a048cdfe1f65fdbc0dc2d in
the TNG repository.
This patch also bumps minimum CMake version required for building
tng_io from 2.8 to 2.8.8 due to inclusion of GNUInstallDirs module.
Change-Id: I68b2196ab77e3e18c3a50717327e59b3482f2a29
Erik Lindahl [Fri, 20 Jun 2014 20:50:52 +0000 (22:50 +0200)]
Make sure masses are copied from termini databases
Masses should always be copied from termini databases,
where they are mandatory since they are specified before
the charge, rather than picking them from atomtypes.atp.
This patch also adjusts a few of the default CHARMM27
charges in atomtypes.atp that deviated in the 3rd decimal.
Fixes #1207.
Change-Id: I6f0c87989ae285ff435cd56c64432988c6634824
Berk Hess [Fri, 20 Jun 2014 07:01:33 +0000 (09:01 +0200)]
Fix g_mindist with pbc=XY
Fixes #1189.
Change-Id: I7c8242df6f2644bebc49c13c86412f8bc1d37428
Rossen Apostolov [Thu, 19 Jun 2014 13:08:46 +0000 (15:08 +0200)]
Fixed typo in oplsaa ASPH charges.
Part of #1395.
Change-Id: I03c88c8377affadc629c7b9a04d5e8ddd1cb946a
Roland Schulz [Sat, 14 Jun 2014 01:07:43 +0000 (21:07 -0400)]
Fix that seeking was wrong if frame time was modified
The trjconv -t0 option causes fr->time to be modified and
this then causes the skipping to be incorrect. Alternative
we could document that fr->time shouldn't be modified
and change that trjconv makes a copy of fr before changing
time. This change has the advantage it is less likely
to reintroduce the problem.
Fixes #1405, #1406
Change-Id: Ibd692dfecdf175450fc43f7f35b774bf4446b316
Rossen Apostolov [Thu, 5 Jun 2014 11:40:24 +0000 (13:40 +0200)]
Removed unused parameters and cleanup of inputrec.
Removed optimize_fft, dihre_fc, nstcheckpoint.
Fixes #820, related to #552.
Change-Id: I8d1c3700834e5575972165410b3b29cbb56cba53
Berk Hess [Fri, 20 Jun 2014 05:33:57 +0000 (07:33 +0200)]
Fixed shells with particle decomposition
In the spirit of version 5.0, the recent Verlet scheme fix for shells,
commit
debd482d, removed the support for PD. Now it's back.
Refs #1429.
Change-Id: I686d4287ec8946e418aa98e739a1a81a0b7f7055
Roland Schulz [Wed, 14 May 2014 22:08:16 +0000 (18:08 -0400)]
Fix ref error in constraint pull code
With multiple pull constraints, the convergence check would use
the reference distance of the last constraint for all constraints.
Change-Id: Ic15d5dd618acc6d3aa5ca0f1e009c6f8096ed0d1
Rossen Apostolov [Thu, 19 Jun 2014 09:29:56 +0000 (11:29 +0200)]
Small typos in surface tension description.
Fixes #816.
Change-Id: I9273f186ad17b5c373d4a3e87fcf0a981dba40e3
Magnus Lundborg [Mon, 16 Jun 2014 15:15:08 +0000 (17:15 +0200)]
Bumped the TNG library to the latest version.
This is commit
f7083045c6f7d23bac47b8302e413becd53fc030
in the TNG repository.
Change-Id: I1f5a9edbaf1588b6d1cee6cf86a7ea254aad23a1
Roland Schulz [Thu, 19 Jun 2014 01:59:46 +0000 (21:59 -0400)]
Disable maybe-uninitialized warning
Causes false positives with old gmx_fatal. Don't merge
into master branch.
Change-Id: I48e9d7798bbf1990cfeb79efaeabc354ab469746
Roland Schulz [Sun, 11 May 2014 20:26:14 +0000 (16:26 -0400)]
Add ASAN build configuration
Also renamed ThreadSanitizer to TSAN
Change-Id: I4373a626acc3962bfb8f163297ab146684bd5ea6
Erik Lindahl [Tue, 17 Jun 2014 15:26:33 +0000 (17:26 +0200)]
Fixed CMake 2.8.12+ CUDA dylib bugs and warnings on OS X
This patch fixes up a number of minor compilation issues
with CUDA on OS X. The __STRICT_ANSI__ define has been
added to make CUDA work with gcc version 4.8 and 4.9,
a dummy variable has been added to the dummy c++ gpu utils
file to avoid warnings about empty objects, and we now
properly handle both RPATH (newer CMake) and INSTALL_NAME_DIR
(older CMake) without warnings. CMake-2.8.12 introduced
a bug that caused Gromacs executables to be malformed since
the rpath to the CUDA libraries was added twice. This is
caused by fairly deep internal changes in CMake, but it has
been worked around by removing the rpath (which FindCUDA.cmake
only adds on OS X) manually for CMake>2.8.11.
Fixes #1471.
Change-Id: I8b01204dc07678bc305821162f20db65e0e7b88d
Rossen Apostolov [Tue, 17 Jun 2014 12:16:50 +0000 (14:16 +0200)]
Added reference to cmap in pdb2gmx.
Fixes #886.
Change-Id: Ib4c84a50962ed90ce145ad001322a9a46c8a2ab0
Berk Hess [Mon, 16 Jun 2014 07:17:35 +0000 (09:17 +0200)]
Fixed sign error in posres dvdl
For position restraints the sign of the contribution of the change
in reference location was incorrect. Note that the contribution of
the change in force constant was and is correct.
Fixes #1408.
Change-Id: I75210c3855d13fdd58e0a698d6c5d7c7116f456b
Mark Abraham [Tue, 17 Jun 2014 14:33:49 +0000 (16:33 +0200)]
Made mdrun warn when generic kernels are used
mdrun now issues a warning if the generic group-scheme, or plain-C
Verlet-scheme kernels actually did some work. Such kernels should not
be called during routine use of mdrun.
It would be possible to do the check for the use of the generic
group-scheme kernel earlier in mdrun, but it's not easy to ensure we
only write the output at the first such step. Given that the group
scheme is deprecated, warning only at the end is sufficiently nice
behaviour.
Change-Id: Ib9b15165e53510f537687a4b448aaa01f1418522
Erik Lindahl [Wed, 11 Jun 2014 21:56:42 +0000 (23:56 +0200)]
Disabled replica exchange when T not in order
There are issues when the replica property is not increasing
with the replica index. This patch has a partial fix. But since
there are still issues, unordered replicas now lead to a fatal error.
Fixes #1377.
Change-Id: I272d9831df85fdc18c1b2fe5724cbfc06e73444e
Carlo Camilloni [Tue, 17 Jun 2014 14:48:31 +0000 (15:48 +0100)]
Fix a Replica Exchange output problem
when running NPT simulations a "b" was added at the beginning
of the Repl Ex line thus breaking demux.pl
Change-Id: I72781d40187d94216e844a8ea522c5d1832bba09
Berk Hess [Fri, 13 Jun 2014 12:01:39 +0000 (14:01 +0200)]
Updated mdrun -npme documentation
The number of nodes at which PME nodes are used has increased.
Added note on PME nodes not being selected automatically with GPUs.
Fixes #1374.
Change-Id: Ie1de87abd3d1204d99af8b4f8e6809e7806f5c08
Roland Schulz [Sat, 14 Jun 2014 03:39:20 +0000 (23:39 -0400)]
Fix that skipping fails if target is 2nd frame
With bSeekForwardOnly the current file position should be an inclusive boundary,
but because the binary search stops if the search region (high-low) becomes
header_size, the current frame wasn't found. Because trjconv always reads the
first frame before calling seek, it failed if the target was the 2nd frame.
Fixes #1154
Change-Id: Id4151f0106abdb68d6067f02fe2927a4ec6d77a0
Berk Hess [Mon, 9 Jun 2014 13:12:12 +0000 (15:12 +0200)]
Removed rounding issue in nbnxn Ewald table
The nbnxn Ewald table could got the spacing dx passed as a real.
Changing this to double improves the accuracy of the single precision
table by two orders of magnitude, because rounding errors are avoided.
Change-Id: I11b6c27bd3f4e306c412da8f01761b03dc337ce7
Rossen Apostolov [Tue, 17 Jun 2014 12:01:03 +0000 (14:01 +0200)]
Small changes in appendix A of the manual.
Final fixes #552.
Change-Id: I8e7939ae70eb14d2e1fc0a25b50774d472889bd1
Berk Hess [Thu, 12 Jun 2014 13:01:40 +0000 (15:01 +0200)]
Fixed PME bug with #OpenMP-threads a large prime
With hybrid MPI+OpenMP parallelization and the rank local FFT grid
size for a dimension not divisible by the number of OpenMP threads
in that dimension, a very small amount of the FFT grid overlap part
could set/added twice. This would only occur at low-medium MPI
parallelization with OpenMP thread counts with large prime factors,
which is practice means almost never. Even when it occured, no actual
differences in PME energies or forces were observed.
This issue was due to a leftover from when space was uniformly
divided over the grids iso assigning whole grid lines.
Fixes #1388.
Change-Id: I22904c7f55d2e96fc4b8cd1498af2087eaed47ac
Rossen Apostolov [Tue, 10 Jun 2014 08:10:25 +0000 (10:10 +0200)]
Added tip5pe water model to oplsa.
The model introduces a small modification to the tip5p model
to reproduce better experimental data for simulations using
Ewald summation.
Reference publication J. Chem. Phys. 120 (2004) 6085-6093.
Fixes #1016.
Change-Id: I1afba614d65d1e4e8eb8594e99eea41e31f1e391
Erik Lindahl [Thu, 12 Jun 2014 12:39:24 +0000 (14:39 +0200)]
Make sure figure legends are adapted to xmgr/xmgrace
A few programs were not using the xvgr_legend call. g_mdmat
has been modified to use it, and for g_analyse and g_enemat
I at least fixed the existing direct-writing code by adding
a conditional.
Fixes #783.
Change-Id: I782af539b93737b570f266ba744e718fbd846e5f
Berk Hess [Thu, 12 Jun 2014 09:36:30 +0000 (11:36 +0200)]
Changed appending file name error message
The error message now mentiones potential names issues.
Fixes #1497.
Change-Id: I0c0195abd21c5012b49119024505b18a906078be
David van der Spoel [Thu, 12 Jun 2014 07:58:11 +0000 (09:58 +0200)]
Fix memory-usage error in g_chi
Out of array bounds writing error as pointed out by valgrind
is fixed by this patch, preventing a SEGV.
Fixes #1503
Change-Id: I57959f4751f3eb645ff66bbcd4418607af56c1a4
Roland Schulz [Wed, 11 Jun 2014 06:02:13 +0000 (02:02 -0400)]
Make nbnxn template and generated files match
Change-Id: I80b80e242d920862a64db22ae2321dcdb532faa1
Erik Lindahl [Wed, 11 Jun 2014 23:10:14 +0000 (01:10 +0200)]
Force g_bond to use structure file
Previous versions of Gromacs never wrote broken molecules, but
this is no longer true for domain decomposition. Box dimensions
are set from the trajectory, but the molecular connectivity
from the structure file.
Fixes #834.
Change-Id: I61ecb4957ef11e03bfeef10095a406cbddd23a34
Berk Hess [Thu, 12 Jun 2014 08:23:27 +0000 (10:23 +0200)]
Made shells work with the Verlet scheme
The issue was that atoms iso charge group should be put in the box.
Additionally water_pol only worked within a charge group, now fixed.
Note that with shells working across charge groups, which is always
the case with the Verlet scheme, no shell prediction is done.
We should implement prediction, since it improves performance.
Fixes #1429.
Change-Id: I2ebfc2d91fc161167f8f2573b61e1f519cf11fd8
Rossen Apostolov [Thu, 12 Jun 2014 16:27:30 +0000 (18:27 +0200)]
Cleanup environment variables.
Renamed variables to more descriptive names and
removed unused ones.
Fixes #976.
Change-Id: I0c17443c93efe581bf728f783893181e5a7f8ed8
Erik Lindahl [Wed, 11 Jun 2014 22:49:12 +0000 (00:49 +0200)]
Added dummy mass for charmm TYR aromatic vsites
pdb2gmx was not able to create aromatic vsites
for charmm27 since this dummy mass center was missing.
Note that aromatic vsites are still largely untested,
and not recommended for general usage.
Fixes #587.
Change-Id: Ic7d2976536c6269d1dcf12b7d33bddab096c353f
Berk Hess [Mon, 9 Jun 2014 14:25:57 +0000 (16:25 +0200)]
Fixed perturbed wall interactions
With free-energy calculations, the B-state wall force and potential
were set to zero.
Fixes #1501
Change-Id: Ib53073c19fee19979ade96455b6505001187a2fa
Berk Hess [Mon, 9 Jun 2014 13:22:06 +0000 (15:22 +0200)]
Made gmxcheck -rmsd work again with forces
Change-Id: I776b282b17ee7c6cc4e56130dd804aa0ea04bce6
Erik Lindahl [Wed, 11 Jun 2014 23:45:48 +0000 (01:45 +0200)]
Make sure genrestr uses the disre_up2 parameter
Previously, a constant value of 1.0 was used instead of the
margin read from the command line.
Fixes #1357.
Change-Id: I65ef225159e7b6ef818c71d062b619e78fa7ea22
Erik Lindahl [Wed, 11 Jun 2014 22:24:32 +0000 (00:24 +0200)]
Removed undocumented -map and -mdata options from g_sham.
Both options and code were completely undocumented, and
nobody seemed interested in helping document them for the
last two years, so for now they are gone.
Fixes #812.
Change-Id: I4d60cf3d58da89d76a4461cdc2e75f031676d2c9
Erik Lindahl [Thu, 22 May 2014 23:23:22 +0000 (01:23 +0200)]
Always write output from genion
To facilitate scripting we now copy the input conformation
and write it to the output, even if no ions are to be added.
Refs #1458.
Change-Id: I3e467169e30bc7448758c2d506ca35f49b001b50
Berk Hess [Tue, 10 Jun 2014 12:38:04 +0000 (14:38 +0200)]
Decoupled repl_ex_nst from nstcalcenergy
The replica exchange frequency is automatically changed by mdrun
to a multiple of nstcalcenergy, which is annoying. It turns out that
it doesn't need to be a multiple, so this changing has been removed.
Fixes #1494
Change-Id: I00833f92fd468924f61879aff8b7c85fe79d3c2e
Rossen Apostolov [Mon, 26 May 2014 13:52:05 +0000 (15:52 +0200)]
Mapped HIS1 to HSD in charmm27.
Fixes #1133.
Change-Id: I6c289af9b58c8e7cd66f36982bf118505aa38f7d
Berk Hess [Wed, 11 Jun 2014 06:56:12 +0000 (08:56 +0200)]
Made repl_ex time step more readable
A recent change made the repl_ex time print %e, now it's %.5f,
as in the log file.
Refs #1486.
Change-Id: I2e669d91a61e6a696ce6d123c701fa8b773a3c2f