alexxy/gromacs.git
9 years agoMerge release-5-0 into master
Roland Schulz [Thu, 31 Jul 2014 16:23:51 +0000 (12:23 -0400)]
Merge release-5-0 into master

Change-Id: Ifc6c3180fe5803bc9a23a0be84be7c93ecb7f472

9 years agoAvoid division by 0 in nbnxn_search
Berk Hess [Thu, 31 Jul 2014 11:08:34 +0000 (13:08 +0200)]
Avoid division by 0 in nbnxn_search

Note that this issue did not affect any results.

Change-Id: I3c454783484c416b50808b9512e14072cb749784

9 years agoConverted md_support.c to C++
Mark Abraham [Thu, 24 Jul 2014 14:34:04 +0000 (16:34 +0200)]
Converted md_support.c to C++

Removed some unused variables. Converted min to std::min.
Added some static_cast<int> to keep gcc-4.1 happy.

Change-Id: I45823c40a0058a74469d8da1f95a0c65fe6c602c

9 years agoFix overflow in LJ-PME nbnxn kernels
Christian Wennberg [Mon, 28 Jul 2014 16:06:36 +0000 (18:06 +0200)]
Fix overflow in LJ-PME nbnxn kernels

The SIMD exp function in the LJ-PME nbnxn kernels could overflow
for pair distances far beyond the cut-off. Added a mask to avoid this.

Fixes #1552

Change-Id: Id87710f3815b341f53a69df0a2990d0bb4edfa74

9 years agoMerge "Merge release-5-0 into master"
Roland Schulz [Mon, 28 Jul 2014 19:05:08 +0000 (21:05 +0200)]
Merge "Merge release-5-0 into master"

9 years agoMerge release-5-0 into master
Roland Schulz [Mon, 28 Jul 2014 17:32:04 +0000 (13:32 -0400)]
Merge release-5-0 into master

Conflicts:
    src/testutils/refdata.h (trivial)

Manual changes:
    src/external/Random123-1.08/include/Random123/features/compilerfeatures.h
        replaced simple.h with basedefintions.h

Change-Id: I96fbc370b1c6bec101d877b2e3bda1adec56fcb6

9 years agoFix build of binary package
Roland Schulz [Fri, 25 Jul 2014 22:36:17 +0000 (18:36 -0400)]
Fix build of binary package

Commit a00437 accidentally changed that the source-package error is also
printed for binary packages. Because it defined
CPACK_SOURCE_PACKAGE_FILE_NAME which we used to detect source-package.
This now uses CPACK_INSTALL_CMAKE_PROJECTS which is hopefully future-proof.
It also adds a proper warning for binary packages.

Change-Id: I842655755bed1c448f30db435a85ad1ca5844a60

9 years agoAdd unit test for random/Threefry
Roland Schulz [Tue, 1 Jul 2014 08:54:42 +0000 (04:54 -0400)]
Add unit test for random/Threefry

Change-Id: I5f9d60c594c0d7a6925b829658119d2fdea5d113

9 years agoRemove Random123/features
Roland Schulz [Tue, 1 Jul 2014 10:35:53 +0000 (06:35 -0400)]
Remove Random123/features

Remove all auto-detection and replace with hard-coded
values and gmx_inline.

The purpose is that it now should compile on any hardware /
compiler. Correctness is guaranteed (as is custom in all
of Gromacs) by unit tests (separate commit).

Change-Id: I7e75ff38f7288e87817d42582ae844c1d38ef369

9 years agoRemove individual cuda libraries
Roland Schulz [Mon, 7 Jul 2014 01:14:45 +0000 (21:14 -0400)]
Remove individual cuda libraries

Instead use CUDA_ADD_LIBRARY to build libgromacs. It builds all
non CUDA files using the standard build rules. Thus this should not
have any effect on non CUDA files. All CUDA files were compiled
with the same nvcc OPTIONS, and thus nothing should have changed
for them either.

This also removes the requirement for gmxManageNvccConfig to set
fPIC manually because now CUDA_ADD_LIBRARY knows when the library
is shared.

Change-Id: I23fe6b7a9766a39c525cdc1abfa3922ec24058d9

9 years agoRemove memtest
Roland Schulz [Wed, 9 Jul 2014 00:38:19 +0000 (20:38 -0400)]
Remove memtest

Native GPU acceleration isn't using it and OpenMM has been removed.

Change-Id: I9c657d37654b3a822ff980b5e28e5158fd52884b

9 years agoFix selection of xtc groups not starting at index 0
Erik Lindahl [Sun, 27 Jul 2014 08:54:33 +0000 (10:54 +0200)]
Fix selection of xtc groups not starting at index 0

The code to select atoms to write to the xtc file
only looped over the number of atoms selected for
output rather than all atoms. This meant that xtc
group selections that were not located at the start
of the atom indices would not be written correctly.

Fixes #1561.

Change-Id: I48886a75c682e38122dadcb2f752507b14b308fe

9 years agoWorkaround for ICC 14 bug
Roland Schulz [Sun, 13 Jul 2014 00:34:41 +0000 (20:34 -0400)]
Workaround for ICC 14 bug

ICC name-mangling is incorrect for static variable in static
member in anonymous namespace.

Fixes #1558

Change-Id: Ie861224bcc61df2f26025d1dd106bcab827308bb

9 years agoFix Cygwin+Shared-Libs+FFTW
Roland Schulz [Thu, 10 Jul 2014 01:11:50 +0000 (21:11 -0400)]
Fix Cygwin+Shared-Libs+FFTW

Cygwin doesn't have or require fPIC

Change-Id: If1af6f070e2cd0457f429a155e92014af51c0c33

9 years agoDo not actually install uniqueptr.h
Teemu Murtola [Thu, 24 Jul 2014 03:29:49 +0000 (06:29 +0300)]
Do not actually install uniqueptr.h

Due to some rebasing error or something, 22d74432 unintentionally undid
the change in 1078df1d.

Change-Id: Icabe61112b98229bc4e5e13462892b9f5a584d8b

9 years agoAdd support for int64 in refdata
Roland Schulz [Tue, 1 Jul 2014 08:53:53 +0000 (04:53 -0400)]
Add support for int64 in refdata

Change-Id: Ia5fedbe7593d9630a095eaf1cb6d69f0c1223ee0

9 years agoFix GMX_BUILD_OWN_FFTW for Cygwin
Roland Schulz [Tue, 22 Jul 2014 03:35:00 +0000 (23:35 -0400)]
Fix GMX_BUILD_OWN_FFTW for Cygwin

CMAKE_BINARY_PREFIX doesn't exist and thus the previous version added just
an extra slash which doesn't work under Cygwin.

Change-Id: I285f93020d0818515fff3f2cfbf41662f03190d0

9 years agoFix GMX_NONBONDED_NUM_THREADS!=GMX_PAIRSEARCH_NUM_THREADS
Roland Schulz [Wed, 16 Jul 2014 00:13:01 +0000 (20:13 -0400)]
Fix GMX_NONBONDED_NUM_THREADS!=GMX_PAIRSEARCH_NUM_THREADS

Change-Id: I7d5416fa299e244244d7bf48e785090da2e0b6d0

9 years agoQuiet gcc-4.8 warnings about unused results
Mark Abraham [Sun, 6 Jul 2014 16:52:23 +0000 (18:52 +0200)]
Quiet gcc-4.8 warnings about unused results

The warning -Wunused-result is on by default, so we'd like to deal
with those before adding routine testing to Jenkins with gcc-4.8.

Change-Id: I905d43e7fa50229b38d2d3d9e642372790f73899

9 years agoFix HTML help and man pages for commands with dashes
Teemu Murtola [Thu, 10 Jul 2014 03:39:59 +0000 (06:39 +0300)]
Fix HTML help and man pages for commands with dashes

Replace one case of "gmx-something" to "gmx something" conversion with
explicit construction of the latter from its component parts.
The other instance does not (easily) have the component parts available,
so only the first dash is removed when converting between
"gmx-something" and "gmx something". Add an assert for the condition
that this requires to remain functional.

Change-Id: I5bfbd1acae440af93b3b7b50a25d8782a7e60c8a

9 years agoAvoid clang/32 optimization affecting IEEE endian detection
Erik Lindahl [Sat, 12 Jul 2014 08:10:36 +0000 (10:10 +0200)]
Avoid clang/32 optimization affecting IEEE endian detection

This turns the detection code into a c++ file, moves the
structure to a global one and adds volatile specifiers.
This should hopefully prevent any standard-adhering
compiler from touching the data.

Change-Id: I6f4b86ddf6b0567655466e0877bb1ba39a45ce4e

9 years agoMake gmx_node_num/rank safer
Teemu Murtola [Wed, 9 Jul 2014 19:43:09 +0000 (22:43 +0300)]
Make gmx_node_num/rank safer

With real MPI, MPI_Init() is called as the first thing, but with
thread-MPI, MPI is "initialized" only much later, when the actual
threads are started.  But code between these two points may expect to be
able to check whether the current rank is the master and/or whether
there are other ranks, and try to use these functions for that.

Previously, for thread-MPI builds, they accessed invalid memory and
returned essentially random values if called between these two init
points.  Now they behave as if the single thread that is executing at
that time is the single master rank.

Also document the behavior in more detail.

Change-Id: Ia3bef9c5899c528e315fe1310bde970dfec68769

9 years agoMake AVX2 check more robust
Erik Lindahl [Fri, 11 Jul 2014 08:16:27 +0000 (10:16 +0200)]
Make AVX2 check more robust

Apparently the GNU assembler version 2.20 supported some
parts of AVX2 (in particular the FMA floating-point ops),
which caused our cmake test to pass. This patch changes
it to test the integer addition instead, which isn't
supported in as-2.20 in my tests.

Change-Id: I79e516639fc78d1590d306f486eb027962388543

9 years agoFix HTML links that contain file extensions
Teemu Murtola [Thu, 10 Jul 2014 10:57:32 +0000 (13:57 +0300)]
Fix HTML links that contain file extensions

- Consider '-' and '_' as part of a word when replacing links, so that
  convert-tpr and make_ndx are considered single words, and the
  extensions there are not converted into links.
- Do links.dat replacement before program links, so that the URL in the
  above program name links is not processed.

Change-Id: I0ce204d3adedc56e57c1e1cd150a63d21c442eab

9 years agoBump SOVERSION
Teemu Murtola [Thu, 10 Jul 2014 13:41:15 +0000 (16:41 +0300)]
Bump SOVERSION

There for sure have already been binary-incompatible changes in master
compared to 5.0, and there will be more.

Change-Id: I8522e8b140920e4c3123cb94ad62e760e3869043

9 years agoFix xml2 link check rerun
Roland Schulz [Thu, 10 Jul 2014 01:36:31 +0000 (21:36 -0400)]
Fix xml2 link check rerun

gmx_check_if_changed logic had a typo and thus check wasn't rerun
if LIBXML2_INCLUDE_DIR or LIBXML2_LIBRARIES changed.

Change-Id: I838f32fd6e9b62480acc4eafc4bf3d657477d09d

9 years agoName the tarball how we like it
Mark Abraham [Sat, 5 Jul 2014 22:25:11 +0000 (00:25 +0200)]
Name the tarball how we like it

This names the tarball and the top-level directory how
GROMACS usually does it. Previously, I'd been renaming
stuff manually.

Change-Id: I485c4a4c711064a3a0ca2343ec696375cbc3de96

9 years agoQuieten repeated cmake runs
Mark Abraham [Thu, 3 Jul 2014 14:30:04 +0000 (16:30 +0200)]
Quieten repeated cmake runs

We should not hassle the user about optional libraries that were not
found the first time. If the user wants to detect ones found in a
different place, then they can unset the relevant cache variables to
re-trigger detection and/or related output.

Change-Id: I266268dccc46da5b098d3d5640798cbee7ee6fd0

9 years agoAdd comments for code with race condition
Roland Schulz [Wed, 14 May 2014 22:28:00 +0000 (18:28 -0400)]
Add comments for code with race condition

Change-Id: I89faa979ad605c463097e842e1112b2a24adee09

9 years agoClean up gmx_header_config
Teemu Murtola [Wed, 9 Jul 2014 05:09:26 +0000 (08:09 +0300)]
Clean up gmx_header_config

- Remove some probably unnecessary uses for GMX_CYGWIN.
- Move GMX_CYGWIN to config.h as it is not used in installed headers
  (maybe it would be better to get rid of even the remaining uses in
  favor of some other mechanism).
- Remove gmx_header_config_gen.h and all complexity that supports it as
  there is nothing generated there any longer.
- GMX_NATIVE_WINDOWS could possibly be moved somewhere else, but
  currently it is only used in two headers, so possibly even better
  would be to just get rid of those two.

Closes #1454

Change-Id: Id27370a007eda30b7c803a3c14aa687d43555db8

9 years agoMerge release-5-0 into master
Teemu Murtola [Wed, 9 Jul 2014 05:02:21 +0000 (08:02 +0300)]
Merge release-5-0 into master

Conflicts:
cmake/gmxCFlags.cmake (adjacent changes)

Change-Id: I45088d7b5256613971b9926fc5fa50511a2ed743

9 years agoFix Cygwin build
Roland Schulz [Sun, 6 Jul 2014 04:40:14 +0000 (00:40 -0400)]
Fix Cygwin build

Doesn't work with AVX but I suspect this to be Cygwin's/GCC's fault.

GCC Bug 61730

Change-Id: I171e8414a8d65800804226034604a9973770bfdd

9 years agoRemove all unnecessary HAVE_CONFIG_H
Roland Schulz [Thu, 3 Jul 2014 02:43:32 +0000 (22:43 -0400)]
Remove all unnecessary HAVE_CONFIG_H

There is no reason to check for HAVE_CONFIG_H other than
in public headers. Left it in the one public header which used
it (gromacs/math/vec.h). Also didn't change thread_mpi.

Change-Id: I15237d3d2dc35a4087a04fc2fbde4a3cb05d2e59

9 years agoImprove module dependency graph layout
Teemu Murtola [Sat, 17 May 2014 05:06:08 +0000 (08:06 +0300)]
Improve module dependency graph layout

The suppressions for the cycle checker are now also used to mark those
suppressed dependencies invalid in the dependency graph, and ignore them
in the layout.  If all the cycles are suppressed in this way, the
dependency graph passed to dot is a DAG, which is what dot is designed
to lay out.  So the result is much better (and resembles the
dependencies more clearly, in particular if some thought is put into
which edge from a cycle is suppressed).

Change-Id: Ie4de368197939ec4613d599f51b940afc95dcd2d

9 years agoModule dependency cycle checker for 'doc-check'
Teemu Murtola [Sun, 20 Apr 2014 12:48:46 +0000 (15:48 +0300)]
Module dependency cycle checker for 'doc-check'

The doc-check script now also checks for cyclic dependencies between
subdirectories within libgromacs.  Currently, this reports 247 cycles,
out of which 210 contain a legacyheaders->swap edge.  Update the
documentation for the checker.

Add a separate suppression mechanism for cycles.  With some changes in
the way the cycles are reported, the existing suppression mechanism
could also have been used.  However, this separate mechanism allows the
same information used for layout of the dependency graph, such that the
ignored edges causing cycles are also ignored in the dependency ordering
of the modules.

Change-Id: I7b9ed3cd0d5ed05dee8902f96b2407a113f4b200

9 years agoMake IEEE754 check more robust
Erik Lindahl [Mon, 7 Jul 2014 11:43:58 +0000 (13:43 +0200)]
Make IEEE754 check more robust

This change should prevent compilers from
optimizing away the structure used for checking
strings in the binary by also using it to produce
a return values. There are now also clearer
warnings, and if IEEE754 cannot be detected we
fall by to using the OS versions of erf/erfc()
in double precision. Fixes compiles on Power7.

Change-Id: I8ed834d5b87baf33e03725d2ab93a60a76c34a12

9 years agoRemove PCA_QUIET
Teemu Murtola [Wed, 14 May 2014 18:37:35 +0000 (21:37 +0300)]
Remove PCA_QUIET

Instead of exposing this to all callers of parse_common_args(), make the
command-line runner only execute the module on the master node in the
case help is being printed.  It should be quite rare that anyone runs -h
with multiple nodes (which is the only case this nowadays affected), so
this doesn't need an extra flag that callers need to be aware of.

Change-Id: I0a0b76d358bd7db283e5244c49acbd4a40d7af6f

9 years agoAdditional index group checks for selections
Teemu Murtola [Fri, 27 Jun 2014 11:20:39 +0000 (14:20 +0300)]
Additional index group checks for selections

Now index groups provided to selections are checked more thoroughly, and
an error is given if a group references an atom index outside the
topology (or the maximum atom number in the absence of a topology).
Negative atom indices also trigger the same error.

Previously, such index groups were silently accepted (except for a
warning during reading for negative indices), and the out-of-range atoms
dropped from the selections.

Change-Id: Id7a024ed316920d9594454ae36f7b9bdd9a429fc

9 years agoClean up program name handling in oenv
Teemu Murtola [Sun, 22 Jun 2014 11:18:13 +0000 (14:18 +0300)]
Clean up program name handling in oenv

- Remove unused functions to access the program name and command line
  from oenv.
- Replace these with direct access to a ProgramContextInterface, and use
  that instead of the global program context instance in places where
  output_env_t is easily accessible.
- Replace some calls to ShortProgram() with an equivalent call in oenv
  for places where oenv is readily accessible.

Change-Id: I2e8bc8701b8217f51ed9936338e1e9c3c21bd8ba

9 years agoImprove FileNameOption error handling
Teemu Murtola [Sun, 11 May 2014 18:28:45 +0000 (21:28 +0300)]
Improve FileNameOption error handling

- Make FileNameOption check the presence of an input file for required
  input options, and give an informative error message if that is not
  the case.  This hopefully reduces confusion about the
  "File I/O error: topol.tpr" messages that are reported.
- Make FileNameOption check if the file name provided by the user for an
  input file exists, and if it does, only check that it is valid for
  fn2ftp() instead of overriding the user.  If the file name is not
  valid for the option, an informative error is given.
- Add a special mechanism for -multi and -multidir to avoid the check
  above, as well as all other file name completion (that was done
  earlier, but didn't really work as expected).  The same mechanism
  could also replace PCA_NOT_READ_NODE, if someone wants to make that
  work again.
- Move all logic that changes user input to something else or checks
  file system contents to FileNameOptionManager to make that more easily
  customizable.  FileNameOption without a manager now only checks that
  the file name has a recognized and valid type for the option.
- Expose the necessary functionality through FileNameOptionInfo to do
  the above.
- Split tests according to the above division of responsibilities, and
  add tests for most of the error paths.

There is very little code that remains the same in this change, so the
rewrite and move are combined.

The first bullet causes some changes in behavior if programs have
declared file name options with ffREAD, but don't actually use the input
always, but those are easy to fix when found.  This required changing
one existing test for pargs.cpp.

Change-Id: Iea2c60e5de35160cf1faf599afde99b9858e98c7

9 years agoMove GMX_CXX11 to config.h
Teemu Murtola [Mon, 7 Jul 2014 15:28:22 +0000 (18:28 +0300)]
Move GMX_CXX11 to config.h

Now that uniqueptr.h is not used by any installed header, do not install
it.  Move GMX_CXX11 that was used only by this file to config.h now that
config.h can be freely included in that file.

Part of #1454

Change-Id: Ie4c2f23057962f2dc1f96c309c10d5ce0c2c2a74

9 years agoRemove gmx_unique_ptr from options public headers
Teemu Murtola [Mon, 7 Jul 2014 04:59:38 +0000 (07:59 +0300)]
Remove gmx_unique_ptr from options public headers

There was a single factory function in the generic option interface that
created objects and passed ownership to the caller.  The implementation
for this method always follows the same pattern, and there only a single
caller, so it is easy to make it exception-safe while returning a plain
pointer.  As a side effect, it removes some boilerplate code from all
the implementations for this method.

There are more complicated alternatives that avoid the plain pointer,
based on creating a helper class that can only be forward declared in
the installed headers, but I don't think those are worth the extra code.

This removes the last use of gmx_unique_ptr in an installed header.

Part of #1454

Change-Id: I948973d32042d388341265d5db6efbbcf0f7db8f

9 years agoMake selections ignore \r in input
Teemu Murtola [Sun, 6 Jul 2014 04:04:57 +0000 (07:04 +0300)]
Make selections ignore \r in input

Now the selection engine treats \r (as well as various other space
characters) the same as a space.  Added a unit test for this.
There is an extra trailing space in some cases that may be more common
with \r\n than otherwise, but that is a separate, mostly cosmetic
issue.

Fixes #1555

Change-Id: I78dfe8e477133b98a98fecf1fad243262f9b30c8

9 years agoRemove selection help from SelectionCollection
Teemu Murtola [Mon, 7 Jul 2014 04:41:26 +0000 (07:41 +0300)]
Remove selection help from SelectionCollection

Instead, make the only caller outside the selection module to use
selhelp.h directly.  This is not significantly messier, and allows
removing one use of gmx_unique_ptr from an installed header.

To actually remove that instance, do not install helptopicinterface.h.
This has the added benefit that now the whole onlinehelp module is free
from public headers, making the interface cleaner.  Adjust doxygen
documentation accordingly.

Part of #1454

Change-Id: Ifb557da86fb0d422650029812d30cc6766730fb9

9 years agoChange some gmx_unique_ptr to shared_ptr in public headers
Teemu Murtola [Sun, 6 Jul 2014 19:46:13 +0000 (22:46 +0300)]
Change some gmx_unique_ptr to shared_ptr in public headers

Change "trivial" occurrences of gmx_unique_ptr to boost::shared_ptr in
cases where there is a simple factory or a sink function where the
ownership of the object passes in or out from the library.

The main advantages:
 - Removes GMX_CXX11 dependencies from installed headers.
 - Improves memory management, where the memory is deallocated in the
   same library/executable that allocated it (through the shared_ptr
   deleter that gets created during construction).
The only disadvantage is that this blurs the ownership of the objects
slightly.

There are only two other instances of gmx_unique_ptr left in installed
headers, and those should be relatively easy to remove as well with a
bit of refactoring.

Related to #1454.

Change-Id: I1f694b30e4f8129f5d010115c0968a444e927ca0

9 years agoRemove bOK from MD loop
Mark Abraham [Sun, 6 Jul 2014 11:15:00 +0000 (13:15 +0200)]
Remove bOK from MD loop

Berk hacked this off in 2002 and it hasn't been used since.

Change-Id: Ife0e0c7d2ceff922561cbf9f61db45061dda0f77

9 years agoMove -debug to cmdlinemodulemanager.cpp
Teemu Murtola [Sat, 21 Jun 2014 04:48:31 +0000 (07:48 +0300)]
Move -debug to cmdlinemodulemanager.cpp

Now the option can be used uniformly even for tools that do not call
parse_common_args().  The description is still mdrun-specific, though.
While at it, made it work without an explicit debug level: if only
-debug is provided without any value, the debug level defaults to 1.
Also made -hidden work for 'gmx -h', as there now is a hidden option
there.

Renamed some associated functions to start with a gmx_ prefix, and
reorder things in fatalerror.* so that debugging code is in a single
block, and functions are in the same order in both files.

Removed unused debug_level from oenv.  This probably needs a better
mechanism to control what is written to the debugging output.

Change-Id: I1526916356b545c56d9f601f121e6c4e581639eb

9 years agoMake doc-check pass again without warnings
Teemu Murtola [Tue, 8 Jul 2014 03:53:47 +0000 (06:53 +0300)]
Make doc-check pass again without warnings

The include path needs to be updated here as well for tng_io.

Change-Id: I747a00a607fa6df6638dddc24f009565ab923c50

9 years agoFix tarball and install, particularly for INSTALL
Mark Abraham [Sat, 5 Jul 2014 12:24:28 +0000 (14:24 +0200)]
Fix tarball and install, particularly for INSTALL

Getting the INSTALL file generated from the markdown, into the tarball
via CPack and not otherwise installed is a bit tricky. I did this
manually for 5.0, but this automates things. CPack source archives use
a mechanism that acts on whole directories. So we put INSTALL into its
own output directory (as we do for generated HTML), and the
directory-globbing mechanism takes care of it fine. Added some
documentation for why we need to do this.

Added more CPack-time checks that the tarball will be complete.

Prevented installation of .gitattributes.

Change-Id: I77c645faf7b292a085165bdd1598741dae6972a5

9 years agoVersion bump after 4.6.6 release
Mark Abraham [Mon, 7 Jul 2014 13:28:38 +0000 (15:28 +0200)]
Version bump after 4.6.6 release

Change-Id: Ifac0db3a07caba28c123d233b54356a1db0d79ba

9 years agoMerge release-5-0 into master
Teemu Murtola [Sat, 5 Jul 2014 16:14:21 +0000 (19:14 +0300)]
Merge release-5-0 into master

Change-Id: I9813e3770c78f62c9003987b22c0315c89c87485

9 years agoFix bug causing reading next frame not to stop.
Magnus Lundborg [Tue, 1 Jul 2014 10:09:14 +0000 (12:09 +0200)]
Fix bug causing reading next frame not to stop.

Corresponds to commit e6e85d562829bca in the TNG repo.

Change-Id: I89ee3e7649c4cf832798d9e2ce61b397a1757579

9 years agoFix tng_num_frame_sets_get() with no frame sets.
Magnus Lundborg [Mon, 30 Jun 2014 08:06:02 +0000 (10:06 +0200)]
Fix tng_num_frame_sets_get() with no frame sets.

When there are no frame sets the function returned an error.
This corresponds to commit 6f7862c7406b in the TNG repository.

Fixes #1540

Change-Id: I3df04d84ebd8fcdc6be76a446efa3209df363d23

9 years agoReinstantiate unsorted index group check
Teemu Murtola [Sun, 29 Jun 2014 05:00:45 +0000 (08:00 +0300)]
Reinstantiate unsorted index group check

In most contexts, providing an index group with duplicate atoms or atom
indices not in ascending order results in the selection getting silently
evaluated incorrectly.  The selection engine now detects this case and
gives a fatal error, hopefully reducing confusion if such a case arises.

The case where an unsorted index group is provided as a sole value of a
selection is still supported.

Change-Id: I0b647a26d9a1b47da10c84bdd3d073412d166a75

9 years agoFixed inconsistency in blocka handling.
David van der Spoel [Wed, 2 Jul 2014 14:12:38 +0000 (16:12 +0200)]
Fixed inconsistency in blocka handling.

In some cases the inconsistent handling of blocka structure
throughout the gromacs code could lead to reading uninitialized
variables (src->a[nra]). This is fixed here.

Change-Id: I514072e713c11f5ad7c15dbd702468789d3d53d3

9 years agoAdd running tests to install-guide
Roland Schulz [Thu, 3 Jul 2014 16:17:39 +0000 (12:17 -0400)]
Add running tests to install-guide

At least on architectures we don't test, it is necessary that the user
runs the tests. Because we don't have a way to query whether it is a
tested architecture every user should run the tests.

Also add a warning if unit tests cannot be build because libmxl2 wasn't
found.

Partial fix for #1548

Change-Id: I8b87cc77f909d5cf2a4ee70151096312e3191af2

9 years agoUpdate some installation-related docs
Teemu Murtola [Tue, 1 Jul 2014 04:05:41 +0000 (07:05 +0300)]
Update some installation-related docs

- Add comments for installation-related variables in CMake, in
  particular the RPATH section that has caused some confusion.
- Document those few variables that can be used to alter the
  installation tree structure in the install guide.
- Reword some parts in the install guide about CMake iteration.
- Remove GMX_INSTALL_PREFIX, as there are other approaches to get the
  desired result with CPack that are less confusing.  This variable
  wasn't documented or probably used anywhere outside some dormant
  Jenkins jobs.

Change-Id: I199b06d905b45961313ed9fa44ae82e5987be0fe

9 years agoAdd support for int64 in refdata
Roland Schulz [Tue, 1 Jul 2014 08:53:53 +0000 (04:53 -0400)]
Add support for int64 in refdata

Change-Id: Ia5fedbe7593d9630a095eaf1cb6d69f0c1223ee0

9 years agoAdjust include directory order for some corner cases
Teemu Murtola [Tue, 1 Jul 2014 04:17:21 +0000 (07:17 +0300)]
Adjust include directory order for some corner cases

Always add headers found from the source/build tree to the beginning of
the list of include paths, such that they are preferred over those
potentially found in other non-system directories.

Fixes #1539

Change-Id: Id79634073fea5b10f250128db8ab08019a7f9e21

9 years agoFix GMock to work on MSVC
Mark Abraham [Sat, 28 Jun 2014 17:13:50 +0000 (19:13 +0200)]
Fix GMock to work on MSVC

This duplicates the logic of GMock's (pre-release) commit r675 in
order that GROMACS can build and test without problems on all MSVC
versions.

Change-Id: I8a7188d2d34fdfa2753a71291d8528e5c9753c6d

9 years agoMerge release-5-0 into master
Teemu Murtola [Mon, 30 Jun 2014 14:10:49 +0000 (17:10 +0300)]
Merge release-5-0 into master

Conflicts:
CMakeLists.txt (version only)
src/gromacs/fileio/tngio.h (includes only)
src/gromacs/fileio/tngio_for_tools.h (includes only)
src/gromacs/gmxlib/gmx_thread_affinity.c
            (took variable rename from 5.0, other changes from master
             kept)
src/gromacs/gmxpreprocess/hackblock.c (includes only)
src/gromacs/gmxpreprocess/pdb2top.cpp
            (took 5.0 removal of unused parameter)
src/gromacs/mdlib/constr.c (includes only)
src/gromacs/utility/fatalerror.cpp
            (applied similar error message change to basenetwork.cpp)

Change-Id: I7137225e37828a19c4b92aa2ec055e7177aa5676

9 years agoVersion bump for 5.0
Mark Abraham [Sun, 29 Jun 2014 20:51:47 +0000 (22:51 +0200)]
Version bump for 5.0

Change-Id: I7ef67766e28e7ac65f9e027e61bfb9f13809d543

9 years agoAdd forgotten licenses to COPYING
Mark Abraham [Sun, 29 Jun 2014 18:16:06 +0000 (20:16 +0200)]
Add forgotten licenses to COPYING

Change-Id: I3c9beffae164d0c0260d121af29db051b60ca159

9 years agoRefer to "mixed" precision in user-facing documentation
Mark Abraham [Sat, 28 Jun 2014 19:57:18 +0000 (21:57 +0200)]
Refer to "mixed" precision in user-facing documentation

GROMACS has used mixed precision for many years, so we may as well be
accurate about it. In the code, we should continue to refer to single
precision for aspects of the implementation, but mdrun should not
be referred to as running in "single precision."

Also removed useless install-guide section from manual.

Change-Id: I3c26acedcdb391de50bdcb6a5e913ea0cfc32845

9 years agoTake LJ-PME into account for table spacing
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

9 years agoFixed free energy with LJ-PME
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

9 years agoConvert install guide to markdown
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

9 years agoMerge "Merge release-4-6 into release-5-0" into release-5-0
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

9 years agoUpdated LJ-PME documentation
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

9 years agoUse cosistent style when referring to force fields.
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

9 years agoRemove some hardcoded selection string buffers
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

9 years agoMerge release-4-6 into release-5-0
Roland Schulz [Sun, 29 Jun 2014 07:32:16 +0000 (03:32 -0400)]
Merge release-4-6 into release-5-0

Change-Id: I89230f8a117d9636570e573b7b2657c79aea51c0

9 years agoFix detection of i386 in tmpi
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

9 years agoEnable rtp angle/dihedral entries not connected by bonds
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

9 years agoAllow printing potential energies to dhdl.xvg file
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

9 years agoFixes #1532, SEGV in g_current.
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

9 years agoMerge "Merge branch 'release-4-6' into release-5-0" into release-5-0
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

9 years agoMerge branch 'release-4-6' 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

9 years agoFix error for no 64bit file support
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

9 years agoFixed CMAP generation for alanine dipeptide special residue
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

9 years agoUpdate TNG build system
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

9 years agoUse parallel terminology more consistently
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

9 years agoDefault SD integrator is now sd1 by Nicu Goga
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

9 years agoRemove overeager selection index group check
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

9 years agoMerge release-5-0 into master
Roland Schulz [Sat, 28 Jun 2014 05:12:35 +0000 (01:12 -0400)]
Merge release-5-0 into master

Conflicts:
src/contrib/pmetest.c
src/gromacs/gmxpreprocess/pdb2top.cpp
src/programs/mdrun/repl_ex.cpp

Fixed minor issues in:
src/gromacs/gmxana/gmx_principal.c
src/gromacs/gmxlib/checkpoint.cpp
src/gromacs/gmxlib/nonbonded/nb_free_energy.c
src/gromacs/mdlib/shellfc.c

Change-Id: Idbd2ef28223f8a868ca313f9702c8e6890e6ddc1

9 years agoAnother MacOSX rpath fix
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

9 years agoMerge release-4-6 into release-5-0
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

9 years agoAlways set b-state posres, even if identical to a-state
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

9 years agoUpdate g_density to handle bilayers better
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

9 years agoFix LJPME Lorentz-Berthelot combination rules
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

9 years agoChanged linking order to make Extrae work.
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

9 years agoImprove PDB I/O (keep occupancy, b-factor, element)
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

9 years agoRemove obsolete pull-geometry option 'position' from documentation.
Carsten Kutzner [Wed, 25 Jun 2014 15:12:19 +0000 (17:12 +0200)]
Remove obsolete pull-geometry option 'position' from documentation.

Change-Id: Ie7e3e962e1b814c92ebba5de499167b3310d713f

9 years agoFix Phi Platform file for MPI
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

9 years agoAvoid warnings about coupling when free_energy=no
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

9 years agoAdded information about dihedral restraints.
Rossen Apostolov [Tue, 17 Jun 2014 08:51:09 +0000 (10:51 +0200)]
Added information about dihedral restraints.

Fixes #1149.

Change-Id: Ifc6ab09d91116f3059addded11f8b0ed4f200545

9 years agoRemove install_manifest.txt during make clean.
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

9 years agoFix Visual Studio Project build
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

9 years agoMerge "Merge release-4-6 into release-5-0" into release-5-0
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

9 years agoMerge release-4-6 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
dced97099aa704d 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