alexxy/gromacs.git
10 years agoThis patch moves the statistics library to its own dir.
David van der Spoel [Tue, 14 Jan 2014 18:17:13 +0000 (19:17 +0100)]
This patch moves the statistics library to its own dir.

In the move to depopulate the legacyheaders directory
http://redmine.gromacs.org/issues/1415 this is a small
contribution. Histogram files removed.
Added doxygen style comments as well.

Change-Id: I9da9fefac0d4dd1c5de13862f348adc5c812ad4d

10 years agoFix, simplify and test XTC writing
Mark Abraham [Wed, 15 Jan 2014 13:02:24 +0000 (14:02 +0100)]
Fix, simplify and test XTC writing

The old implementation had various sins, including repeating setup and
leaking natoms_xtc rvecs of memory per step writing xtc-grps when they
are a subset of the whole system. Cleaned lots of things up.

Added integration-style tests for XTC writing.

Added more grompp -n support to integration-style tests, though not
all of it is actually used by this patch.

Also added a pragma to work around a curious warning by ICC 12 on
Windows.

Fixes #1423

Change-Id: I3a75f890f21e4a87be62bcf877eb5c471670286d

10 years agoThis patch moves preprocessing headers to gmxpreprocess
David van der Spoel [Tue, 14 Jan 2014 19:54:49 +0000 (20:54 +0100)]
This patch moves preprocessing headers to gmxpreprocess

In the move to depopulate the legacyheaders directory
http://redmine.gromacs.org/issues/1415 this is a small
contribution.

Change-Id: I209f6e5a1e76f2d3ea072f66eca9ae1f59bc0d42

10 years agoDefine MPI_INT64_T if not defined by mpi
Roland Schulz [Wed, 15 Jan 2014 19:15:33 +0000 (14:15 -0500)]
Define MPI_INT64_T if not defined by mpi

Change-Id: Ie3332ce85a5ef538d57b272ebe3e4326fb7a31ff

10 years agoClean up inputrec reading
Mark Abraham [Wed, 15 Jan 2014 22:11:26 +0000 (23:11 +0100)]
Clean up inputrec reading

In old code, there was no way to reset the state of the string buffers
that were used in parsing the inputrec from .mdp files. This was a
problem for test executables trying to parse more than one such
file. New code still doesn't permit more than one .mdp file to be
parsed at a time, but at least we can clean up and parse another one
from a fresh state.

Got rid of some useless #defines.

Change-Id: If3d72ba68e0addef18c9cf132025958995e7e2ee

10 years agoFix build with GMX_BUILD_UNITTESTS=OFF
Teemu Murtola [Wed, 15 Jan 2014 19:19:25 +0000 (21:19 +0200)]
Fix build with GMX_BUILD_UNITTESTS=OFF

Don't build the object libraries used for unit tests either if the unit
tests are disabled.  Added a helper macro for this as well.

Change-Id: I7b9f899dd2ee8adef261e49d3f8100530487ed54

10 years agoSupport for 64-bit int and real valued Options
Teemu Murtola [Mon, 23 Dec 2013 18:12:00 +0000 (20:12 +0200)]
Support for 64-bit int and real valued Options

Add Int64Option and FloatOption to the options machinery.
Add RealOption that aliases either DoubleOption or FloatOption,
depending on GMX_DOUBLE.
With these additions, the options machinery supports all the
functionality and types of the old t_pargs machinery.

Change-Id: I2260e52d3a220f824e1c3e790da2dba83f381972

10 years agoRemove unused PCA_KEEP_ARGS
Teemu Murtola [Tue, 24 Dec 2013 05:03:23 +0000 (07:03 +0200)]
Remove unused PCA_KEEP_ARGS

Simplifies the code, and removes one path to be tested.

Change-Id: Ie0fe8329a0a9130def5e03438a029ae88b6b1431

10 years agoUnit tests for parse_common_args()
Teemu Murtola [Sat, 21 Dec 2013 18:33:44 +0000 (20:33 +0200)]
Unit tests for parse_common_args()

Add unit tests for most of the basic command line parsing functionality
in parse_common_args(), including the file name handling.

To support these tests, extend arrayref.h to also include ArrayRef,
which provides a mutable wrapper for a C array.  This is complete enough
for the purpose of the tests, but may need additional work for more
general use.  Also fix some documentation typos noticed in the existing
code.

Also, fix unintuitive behavior of etTIME options that was revealed by
the tests.

Change-Id: I4b8b3ad92b0efe24fdf478cd39ba246692b036c7

10 years agoAdd nbnxn tree force reduction
Roland Schulz [Mon, 2 Dec 2013 15:07:55 +0000 (10:07 -0500)]
Add nbnxn tree force reduction

Alternative implementation of the nbnx force reduction. The previous
method is implemented as a loop over all thread buffers. Its advantage is
that it doesn't require any synchronizations during reduction and only
requires a single write per element. The new method utilizes a binary tree
for the reduction. Its advantage is that the data locality of the force
buffers is used during reduction.

The current implementation isn't faster on the CPU (for E526070 with icc).
On the MIC it is faster (36% reduction of buffer-f time for 32 threads).

Part of #1420

Change-Id: I2d84345e9a19d9030a837d324671f2ab0ba9b91b

10 years agoSimplify C array handling in C++ code
Teemu Murtola [Sat, 21 Dec 2013 18:13:22 +0000 (20:13 +0200)]
Simplify C array handling in C++ code

Add a constructor to ConstArrayRef that allows implicit creation of
ConstArrayRef from a plain C array.  This makes it possible to write a
function that takes a ConstArrayRef, pass a C array directly, and let
the compiler do the job of passing the size of the array (or complain if
that size is not available).  This is in particular useful for testing;
removed similar template implementations from a few different locations
in test code that this allows.

Change-Id: I3b59c2b911d7c8bd2a95de769426c0878ce36a7e

10 years agoThis patch moves the nrama.[ch] to the gmxana dir.
David van der Spoel [Tue, 14 Jan 2014 19:25:33 +0000 (20:25 +0100)]
This patch moves the nrama.[ch] to the gmxana dir.

In the move to depopulate the legacyheaders directory
http://redmine.gromacs.org/issues/1415 this is a small
contribution.

Change-Id: Ifa079583472b91060398e829df745834676a1eb0

10 years agoReorganize shared unit test code
Teemu Murtola [Mon, 6 Jan 2014 18:37:23 +0000 (20:37 +0200)]
Reorganize shared unit test code

Move mocks and test fixtures to the modules that they are mocking:
 - datatest.*, mock_datamodule.* to analysisdata/tests/
 - mock_helptopic.* to onlinehelp/tests/
This is now easier with object libraries, and clarifies the dependencies
in the test code.  src/testutils/ is now really about utilities, and not
about some specific-purpose test code.

Change-Id: Ib0cbe6382813315df65fa65f7fe0233b9b5e2d4e

10 years agoStop doing cppcheck on src/external
Mark Abraham [Tue, 14 Jan 2014 09:53:44 +0000 (10:53 +0100)]
Stop doing cppcheck on src/external

GROMACS doesn't plan to maintain things that live here, so we
shouldn't be exposed to messages from there, either.

Change-Id: I88661026571a52772a9fd1f25ca36540d17737e9

10 years agoDon't install links.dat
Teemu Murtola [Sat, 4 Jan 2014 18:36:12 +0000 (20:36 +0200)]
Don't install links.dat

This file is only necessary for generating the online HTML help, and
this doesn't anyways work (and doesn't need to work) except when run in
the build directory, through 'make html'.

Change-Id: Icb276749d7f8a5c4743ce426729e2564a79eb8a2

10 years agoSplit CommandLineHelpModule into a separate file
Teemu Murtola [Thu, 26 Dec 2013 06:13:21 +0000 (08:13 +0200)]
Split CommandLineHelpModule into a separate file

- Move CommandLineHelpModule and supporting classes into
  cmdlinehelpmodule.cpp.  The declaration is in a corresponding header.
- Move declarations required in both .cpp files into
  cmdlinemodulemanager-impl.h.
- Make CommandLineHelpModule use a private implementation class to be
  able to keep most classes internal to cmdlinehelpmodule.cpp.  The
  implementation class is a separate class (not a private inner class)
  to allow using it from contexts outside the actual module (necessary
  for subsequent changes).

cmdlinemodulemanager.cpp was getting long, and contained a lot of
declarations for which order mattered.  Now, the most important such
declarations are in headers, and the division between general module
management and the help management is clearer, simplifying things.

Change-Id: Iecc9a6bf6aa8b020ab153cdde6c882523574a7ab

10 years agoFix line wrapping for long options
Teemu Murtola [Mon, 30 Dec 2013 17:01:03 +0000 (19:01 +0200)]
Fix line wrapping for long options

The default line length for console output should only be set in
HelpWriterContext::writeTextBlock(), but not in the lower-level helpers,
which are generally called from contexts where line wrapping is getting
done on a higher level.

For example, 'gmx help hbond' shows some extra line breaks in the long
option descriptions without this fix.

Also removed an unused overload, that would also violate the above principle.

Change-Id: Ia40cea399c0f0f95d6d53ca2872d93baba47844e

10 years agoRemove useless trjcat -prec option
Mark Abraham [Thu, 9 Jan 2014 13:12:18 +0000 (14:12 +0100)]
Remove useless trjcat -prec option

A tool whose nominal job is concatenation should not also be changing
the precision of the output. Fortunately, that was never implemented
anyway. I don't know what happens if you try to concatenate two files
of different precision, or format or whatever. Joy!

Change-Id: I7c4ff1fe431897eddd7e4627723bac6e15387adf

10 years agoMove pull code to separate subdirectory
Carsten Kutzner [Mon, 13 Jan 2014 10:53:49 +0000 (11:53 +0100)]
Move pull code to separate subdirectory

Another part of #1415 Get rid of legacy headers.

Other changes:
- updated pulling-related include guards to new format
- updated documentation for doxygen
- updated .h includes
- uncrustified pull.h and pull_rotation.h
- updated copyright year for all files touched by this commit

Change-Id: Ief1ed3543b84f651d1bff01f1952b342850f5c22

10 years agoMove writeps.* into fileio/
Teemu Murtola [Sat, 11 Jan 2014 17:32:32 +0000 (19:32 +0200)]
Move writeps.* into fileio/

Don't install the headers, as they are quite marginal functionality.
Also, clean up the header a bit (remove unused and undefined viewps())
and remove some unnecessary inclusions.  Add include guards to
types/matrix.h to make it possible to include it without the full
typedefs.h.

Change-Id: I8352cbe01cda56212be5b185af0fc7d21ca99b23

10 years agoMove gmxcomplex.h to gromacs/math/
Teemu Murtola [Sat, 11 Jan 2014 14:08:29 +0000 (16:08 +0200)]
Move gmxcomplex.h to gromacs/math/

One more header from legacyheaders/.  Also remove some unnecessary
includes of gmxcomplex.h.

Change-Id: I2b184d04ae3ba31a850e0a332a75469f229d42aa

10 years agoFix mdrun integration tests
Mark Abraham [Fri, 13 Dec 2013 10:04:14 +0000 (21:04 +1100)]
Fix mdrun integration tests

Earlier code forced callMdrun() to trigger an mdrun -rerun, which was
not intended. Fixed that, and opened a path for code to use the
defaults of callMdrun(), but set up the executable name and prepend
command-line arguments to suit itself.

Ideally, the configurability would be more general, and there would
not be the requirement to specify the executable name, but so far this
is not a problem.

Change-Id: Id69927f9153a400455b728db577537ebc155d0af

10 years agoFix installation of HTML manual
Teemu Murtola [Mon, 6 Jan 2014 12:48:28 +0000 (14:48 +0200)]
Fix installation of HTML manual

Simplify things by making the source distribution and the git repository
have the same layout (it wasn't working earlier at all, and just adds
complexity if I were to try to fix it).  This allows using the same
installation rules for both (just replacing the binary directory with
the source directory).  Install the output directory under the proper
name (html/ instead of final/).

Change-Id: Ica88a0825999f201e9856e11e1784bd4acc20c91

10 years agoCleaned up list of GROMACS authors
David van der Spoel [Sat, 28 Dec 2013 13:51:28 +0000 (14:51 +0100)]
Cleaned up list of GROMACS authors

Now the authors are listed alphabetically and in four neat columns
(only Berendsen's name overflows its allocated space, but that looks
OK).  List project leaders still separately at the end of the list.
Update the copyright year, add Stockholm University, and add some
contributors to the list of authors (found by digging git log and
including anyone with a full name and more than a few commits).

Change-Id: I14222bab394ee498380709fba9c0967e6d092980

10 years agoMove essential dynamics / flooding code to separate directory
Carsten Kutzner [Tue, 7 Jan 2014 17:48:38 +0000 (18:48 +0100)]
Move essential dynamics / flooding code to separate directory

Part of #1415 Get rid of legacyheaders.

Additional changes:
- provided doxygen-style documentation for functions in edsam.h
  (partly copied over from edsam.c and removed there to avoid
  duplication)
- uncrustified edsam.c and edsam.h

Change-Id: If4af498470c5200d50ac1d1b5537917c873380b5

10 years agoRead essential dynamics data from checkpoint at correct place, fixes #1392
Carsten Kutzner [Fri, 6 Dec 2013 10:45:48 +0000 (11:45 +0100)]
Read essential dynamics data from checkpoint at correct place, fixes #1392

In read_checkpoint(), the order in which the data blocks are read from .cpt
differs from the order in write_checkpoint(), read_checkpoint_data() and
list_checkpoint().
This change puts the do_cpt_EDstate() routine after the do_cpt_enerhist()
routine, as is already the case for the other checkpoint-reading functions.

Change-Id: Ib017dfbd05918b4ee8e27f1ec93523497c559936

10 years agoFixed non-working flat-bottom posres code.
Jochen Hub [Tue, 10 Dec 2013 09:17:07 +0000 (10:17 +0100)]
Fixed non-working flat-bottom posres code.

Change-Id: I905ba495981370bd9346909a707a61e10a852907

10 years agoMerge release-4-6 into master
Roland Schulz [Thu, 9 Jan 2014 18:48:12 +0000 (13:48 -0500)]
Merge release-4-6 into master

Conflicts:
src/gromacs/gmxlib/checkpoint.c
src/kernel/genalg.c
src/programs/mdrun/md.c
             (moved change to trajectory_writing.c)

Change-Id: Ia9c8722c7fb80d48d8e40cec2af0cb93dc7e468e

10 years agoAdd SIMD support for Intel MIC
Roland Schulz [Mon, 2 Dec 2013 04:37:27 +0000 (23:37 -0500)]
Add SIMD support for Intel MIC

Only single precision is supported so far.

To compile in native mode:
CFLAGS="-mmic" CXXFLAGS="-mmic" cmake

Regressiontests pass with ICC 14.

Instructions are not updated because only offload mode (#1181)
is useful to the user.

Part of #1187

Change-Id: I81a2022cfcecf634fdfaff5ce63ad82f0a5d4dee

10 years agoRemove reimplimentation of two functions
Roland Schulz [Mon, 9 Dec 2013 20:46:03 +0000 (15:46 -0500)]
Remove reimplimentation of two functions

- parse_printf_args was identical to vsprintf (C89)
- str_to_int64_t was identical to strtoll (C99) and
  MSVC provides an replacement (_strtoi64)

Fixes #1163

Change-Id: I62fedc4193b408584d1c6978949202f11a9f81aa

10 years agoRemove remaining usage of SIZEOF*
Roland Schulz [Mon, 9 Dec 2013 18:49:36 +0000 (13:49 -0500)]
Remove remaining usage of SIZEOF*

tmpi still uses SIZEOF_LONG_LONG_INT. It is OK that it is
undefined because this simply causes MPI_LONG_LONG_INT not to
be defined, and it isn't used.

Change-Id: Ifc2cb6267064f05d1573c4a7e23cdc77c003f737

10 years agoRemove some usage of SIZEOF*
Roland Schulz [Mon, 9 Dec 2013 03:57:36 +0000 (22:57 -0500)]
Remove some usage of SIZEOF*

- Remove MacOS hack in src/config.h.cmakein. It wasn't described in detail why
  it was needed. Removed with the asssumption that new cmake versions don't
  have that problem anymore.
- Require 64bit file support. There is no need to keep 32bit file support, now
  that we require 64bit integer. And remove unnessary code.

Change-Id: I501d8b8430ec93ada415b9ac0b60ba6d095c4725

10 years agoAdd messages for skipped tests in make check
Teemu Murtola [Sun, 5 Jan 2014 05:45:46 +0000 (07:45 +0200)]
Add messages for skipped tests in make check

Make 'make check' print a message if unit tests and/or regression tests
are not run, and instruct the user how to change that.

While at it, clean up the test CMake setup slightly. Move some target
definitions into a different file or a different place to make the CMake
code easier to follow, and remove an unnecessary test for CMake version
now that we require 2.8.8.

It is difficult to produce such a message in 'make test', so hopefully
the higher-level message is sufficient.

Change-Id: I8283c88ffab1d797676ba83880690d465ac195ff

10 years agoFix copyright check in admin/uncrustify.sh
Teemu Murtola [Wed, 1 Jan 2014 19:33:40 +0000 (21:33 +0200)]
Fix copyright check in admin/uncrustify.sh

The automatic copyright year check didn't consider files that were also
uncrustified.  Also removed some extra code (that had no effect) from
the script that looks like incorrectly merged or pasted.

Also fix incorrect attribute for thread_mpi/CMakeLists.txt.

Part of #818.

Change-Id: I80ce1b936fa9b77a94eb3dfe8fcff0490a886f42

10 years agoRemove unreachable fatal error
Mark Abraham [Wed, 8 Jan 2014 12:57:01 +0000 (13:57 +0100)]
Remove unreachable fatal error

read_first_xtc returns the same value that is stored in the output
argument, so one branch of the old code was unreachable.

Noticed this while implementing TNG support, but fixed it here since
it is technically unrelated.

Change-Id: I52387ad1628944edca12703557857bf748e7bb86

10 years agoRemove unused debug code
Mark Abraham [Wed, 8 Jan 2014 13:03:45 +0000 (14:03 +0100)]
Remove unused debug code

This serves no purpose, and was causing minor problems with TNG
development.

Change-Id: Icec86de6e16d68773e89b67b115924f12d1fe4e5

10 years agoAdd helpful note about changed default behaviour
Mark Abraham [Wed, 8 Jan 2014 15:35:44 +0000 (16:35 +0100)]
Add helpful note about changed default behaviour

The kind of short .mdp file that might historically have been used for
tests, tutorials or benchmarks used to trigger the group cut-off
scheme up to and including 4.6, because it was either the only
behaviour or the default. Only one year later, the default has changed
to be the Verlet scheme, which might lead to confusion and/or invalid
comparisons. This note will hopefully help people start to understand
any differences.

Refs #1414

Change-Id: I34a2f1c17d4b58e14f81a95c1df3659f13a6cf24

10 years agoMove gmx_sort.* to src/gromacs/utility/
Teemu Murtola [Thu, 2 Jan 2014 15:48:53 +0000 (17:48 +0200)]
Move gmx_sort.* to src/gromacs/utility/

This particular header doesn't need to be installed, since it is only an
implementation detail.

One more header away from legacyheaders/ and from installed headers.

Change-Id: I8a1b511859c370be72fd3da86c613e2f222fe50d

10 years agoCheckpointing fix for Native Client
Peter Kasson [Wed, 8 Jan 2014 00:29:06 +0000 (16:29 -0800)]
Checkpointing fix for Native Client

Native Client doesn't allow file renames.  We can over-write output
files, however.  For checkpoints, live dangerously and skip backups.
The alternate would be to use an in-memory file system, but then we're
still screwed if the program gets killed partway through writing the
on-disk version.  Other alternates:  keep all checkpoints.

Change-Id: I952ee6436e69f015633a150f94fca65c7271c6bb

10 years agoCreate math module
Mark Abraham [Sun, 24 Nov 2013 11:55:28 +0000 (12:55 +0100)]
Create math module

Renamed */maths.[ch] to */math/utilities.[ch]. Added license
statement for Sun FDLIBM. Uncrustified files in new module. Removed
orphan crecipdata.c file and invsqrt_test.c. Updated #include guards.
Moved some non-performance-sensitive function definitions from maths.h
to utilities.c.

A future patch will deal with vec.h.

Change-Id: I954cc48487c1af7f59f5a18c012c76d4297f7cab

10 years agoMove gstat.h to gmxana/
Teemu Murtola [Sat, 4 Jan 2014 18:59:13 +0000 (20:59 +0200)]
Move gstat.h to gmxana/

Remove unnecessary inclusions of gstat.h from outside gmxana/.
Now that the header is no longer used outside gmxana/, move it into that
directory.  Still install the header, since it contains a wide mixture
of stuff, some of which may actually be used by user tools.

This cleans up the include dependency graph considerably, since the
legacyheaders/ directory no longer depends on commandline/.  This was a
source of a cyclic dependency that made the graph layout very confusing.

Change-Id: I3843f2773d6b393e4d260e84478ab559ab8e00d7

10 years agoImprove include dependency script
Teemu Murtola [Fri, 13 Dec 2013 18:48:32 +0000 (20:48 +0200)]
Improve include dependency script

- Make the depcheck, doccheck, and depgraphs targets work on the whole
  src/gromacs/ directory.  Now it is possible to run these checks on new
  or reorganized code without touching the scripts themselves.
- Fix the script to correctly recognize relative paths in #include
  directives again.
- Fix some issues the script complains about, and suppress some messages
  within the script itself.
- Make the colors in the module dependency graph somewhat more
  intuitive, and show legacy dependencies in gray instead of bright red
  to make it look reasonable.
- The module dependency graph now includes the legacy modules
  (gmxlib etc.) as well, with a gray background.  This makes the graph a
  bit messier, but still readable (in particular since most of the lines
  to and from them are gray, making them fade into the background).

Now, 'make depcheck' doesn't report any issues, and we should keep it
that way.  'make doccheck' (with the current, somewhat relaxed rules)
reports only a few issues that should be relatively easy to fix, but
left those for separate changes.  Other Doxygen documentation checks
(not only about file dependencies) could also perhaps be included in
this same target.

Change-Id: I3f837c69f2608d2a6a25ed4062102d252a85a0cf

10 years agoRemoved a few typos in three German quotes.
Carsten Kutzner [Fri, 3 Jan 2014 16:33:16 +0000 (17:33 +0100)]
Removed a few typos in three German quotes.

Change-Id: Ibf4868ec0c70b3004d01c057722aed993a79192f

10 years agoSupport for default values for SelectionOption
Teemu Murtola [Tue, 12 Nov 2013 19:46:30 +0000 (21:46 +0200)]
Support for default values for SelectionOption

SelectionOption now provides a defaultSelectionText() method to define a
default selection text for cases where the user does not provide the
option at all.  The free volume tool now uses this, since typical usage
is to run for all atoms in the system.
Was discussed on gmx-developers some time ago, so hopefully this is
useful in other contexts as well.
The default value does not appear in the output of -h, but that is
better fixed separately as part of a larger overhaul of the help output.

Change-Id: Ib4cba901a33e402a96ece473f70ac10365abcaac

10 years agoFix #include style issues
Teemu Murtola [Mon, 9 Dec 2013 19:32:35 +0000 (21:32 +0200)]
Fix #include style issues

Include local headers as "something.h" instead of <something.h>, and
vice versa for system headers.  These locations were found while working
on the includedeps.py script; it is easier to fix them than try to
selectively suppress things in the script.

All changes under linearalgebra are mechanical replacements of
  #include <types/simple.h>
with
  #include "types/simple.h"
Other files contain various fixes.  Removed includes for sysstuff.h,
since it doesn't serve a very useful purpose.

Deleted displacement.c and displacement.h instead of fixing, as they
have not been compiled in a long time.

Change-Id: I06e04c74707621903a1fa79de060e1989b99f042

10 years agoDon't print quotes on gmx_fatal()
Teemu Murtola [Wed, 1 Jan 2014 19:36:56 +0000 (21:36 +0200)]
Don't print quotes on gmx_fatal()

Printing a quote is a complex operation involving file I/O and memory
allocation.  This can fail in a number of ways, including calling
gmx_fatal()...  The simplest way to avoid the possibility of deadlocks
and/or endless loops is to not try anything like that in an error
handler.

Change-Id: Id891f8fe2036d10966a1f2c8b0fcb61dadcec39b

10 years agoAdd copyright year 2013 to files modified this year
Teemu Murtola [Sun, 29 Dec 2013 18:49:22 +0000 (20:49 +0200)]
Add copyright year 2013 to files modified this year

Excluded copyright modification and mass uncrustification commits from
the consideration.

Change-Id: I1d5177abf09e1d470033b80db721afdb8b77e29f

10 years agoInclude CUDA and latex files in copyright check
Teemu Murtola [Sun, 8 Dec 2013 05:56:44 +0000 (07:56 +0200)]
Include CUDA and latex files in copyright check

Now also CUDA and latex files are indicated by the .gitattributes file
to contain copyright, and the copyright.py script can deal with them.
This should conclude the work to reformat copyright headers in the
master branch.  Some individual files may still be missing, but those
can be fixed when spotted.

Part of #818

Change-Id: Ib6d3e10b57a42ea7a8c990e51df669cace4c8d8f

10 years agoSuppress remaining errors from copyright script
Teemu Murtola [Sat, 7 Dec 2013 18:37:25 +0000 (20:37 +0200)]
Suppress remaining errors from copyright script

- Add a mechanism to the script that allows it to be used only for
  uncrustification, but not for copyright checking for certain files.
- Use the mechanism to suppress copyright checking for thread_mpi files.
  It's somewhat unclear whether we should just prepend the Gromacs
  copyright to these files and get rid of this exception, or whether we
  still are planning to maintain the library separately.  But until that
  is clear, this keeps the script quiet, and the copyright headers need
  to be manually maintained if desired.
- Suppress a few files that don't have any copyright header.
- Add copyright header to two source files that were still missing it.

With these changes, running admin/copyright.py on all files indicated by
.gitattributes only produces messages about outdated copyright years
(which it should, for files that have not been modified this year).

Part of #818.

Change-Id: I2cb09b2b30e782244c16faf02625d405dac642b6

10 years agoFix remaining copyright headers
Teemu Murtola [Mon, 2 Dec 2013 18:59:20 +0000 (20:59 +0200)]
Fix remaining copyright headers

Apply copyright to the remaining files, excluding thread_mpi, with the
copyright year as the year when the last change to that file was made
(excluding other copyright stuff and mass uncrustification).

Part of #818.

Change-Id: Ib70deb8a8e71b23511b68c91e05c1dee821a6d2c

10 years agoMore copyright header updates
Teemu Murtola [Sat, 30 Nov 2013 11:50:39 +0000 (13:50 +0200)]
More copyright header updates

Remove old copyrights from files added recently (for 4.6 or somewhat
earlier, plus some selected files where it was easier to enumerate all
years than to adapt the script to handle their existing copyrights) and
make the copyright headers follow the new format.  Put best-guess
estimates for the copyright years based on when the files have been
modified.  No effort was spent on trying to track content beyond git
rename detection, so some content may originate from earlier than the
first copyright year mentioned, but this is hopefully not a big deal.

Part of #818.

Change-Id: I44e1eff552bff47a2ae10b3181960a8a2a6753df

10 years agoRemove obsolete large file support info
Teemu Murtola [Sat, 21 Dec 2013 13:44:49 +0000 (15:44 +0200)]
Remove obsolete large file support info

The check for large file support in copyrite.cpp wasn't working, since
the define was no longer in config.h.  Given that I501d8b84 makes large
file support required, this information no longer needs to be there.

Change-Id: I9492011d2f8ebb58612ed2a5a79d9f786fd19f61

10 years agoMerge release-4-6 into master
Roland Schulz [Tue, 31 Dec 2013 00:18:23 +0000 (19:18 -0500)]
Merge release-4-6 into master

Conflicts:
Only version:
CMakeLists.txt
admin/installguide/installguide.tex
share/html/online/mdp_opt.html
Other:
admin/mkhtml (deleted in master)
cmake/gmxCFlags.cmake (gcc 4.8 change ignored)

Changes other than conflicts:
        src/gromacs/gmxlib/gmx_detect_hardware.c (fix compile errors)

Change-Id: Id5845638857fd84ffaeac618d5286a2d23967f7f

10 years agoMore robust shell detection in GMXRC
Teemu Murtola [Mon, 30 Dec 2013 17:05:52 +0000 (19:05 +0200)]
More robust shell detection in GMXRC

To cater for environments that set $shell for a non-csh shell, also
check the contents of the variable.

Fixes #1213

Change-Id: I9135b947529b690a733ea0d7be5e8e507236a735

10 years agoInitialize default index groups for C++ tools
Teemu Murtola [Wed, 25 Dec 2013 18:47:56 +0000 (20:47 +0200)]
Initialize default index groups for C++ tools

If an index file is not explicitly provided, initialize default
index groups using the old analyse() method for the new C++ tools.
This is better than nothing, and keeps the default groups in sync.

Also some clean-up for related code in
TrajectoryAnalysisCommandLineRunner.

Temporary fix for #921.

Change-Id: I4f9d2586a0446302ce0a2d9326d2fd4c85b02ef0

10 years agoPatch for Native Client builds.
Peter Kasson [Tue, 17 Dec 2013 21:49:38 +0000 (13:49 -0800)]
Patch for Native Client builds.

This patch contains the source changes necessary to compile Gromacs
for Native Client.  Patch is based on original work by Ivan Krasin,
additional changes from Joseph Coffland.
Also included are a few compiler warning fixes and a minor FAHCORE
tweak.

Change-Id: I085c52ff1d8e45ec8ffb8c56f5877313d6225bb2

10 years agoMinor vec.h cleanup
Teemu Murtola [Sat, 21 Dec 2013 05:03:52 +0000 (07:03 +0200)]
Minor vec.h cleanup

- Remove unused and not defined vecinvsqrt() and vecrecip().
- Remove PR_VEC() macro and replace the few remaining uses with the
  expansion.
- Move all C++ overloads to the same place in the file.
- Add a few missing gmx_inline attributes.
- Combine all #ifdef GMX_SOFTWARE_INVSQRT blocks, and move macros
  required only for it inside the #ifdef.
- Remove tabs in comments.

Change-Id: I59b8129a813d70b4887f9e6d00e72d2b256acfe4

10 years agocmake: make GMX_BUILD_OWN_FFTW work without fortran compiler
Christoph Junghans [Sun, 29 Dec 2013 01:51:50 +0000 (18:51 -0700)]
cmake: make GMX_BUILD_OWN_FFTW work without fortran compiler

Fixes #1412

Change-Id: I4739c112630ad7e264ce314d2da0b29932ea3041

10 years agoFix pkgconfig flags with internal Boost
Teemu Murtola [Sat, 28 Dec 2013 05:05:20 +0000 (07:05 +0200)]
Fix pkgconfig flags with internal Boost

The include directory was set incorrectly in PKG_CFLAGS (missing the
installation prefix) when GMX_EXTERNAL_BOOST was off.

Change-Id: I01fe1165befb3862452705eab85106975074f377

10 years agoReset SOVERSION for libgromacs
Teemu Murtola [Sat, 28 Dec 2013 04:57:19 +0000 (06:57 +0200)]
Reset SOVERSION for libgromacs

Since 5.0 will be the first version with the library name libgromacs,
there is no reason to start the numbering from 8.
Also set the VERSION for completeness.

Related to #1147

Change-Id: Id048adcb85cf833bc947ac73e8d7bbdb5d600815

10 years agoChange use of compiler flags with GPU + C++11
Teemu Murtola [Wed, 18 Dec 2013 16:52:32 +0000 (18:52 +0200)]
Change use of compiler flags with GPU + C++11

Fix some unused parameter warnings in CUDA code, which were made visible
now that the warning flags propagate there.

Disable -Wnon-virtual-dtor, since C++-only flags seem to trip nvcc.
It is likely that this same warning is also given by cppcheck and/or the
clang static analyzer, so we should not lose much.  We can still enable
it again if we implement partial propagation of flags to nvcc.

Refs #1390

Change-Id: I8489af3dcc3139884065abe2e5806d71992abd6c

10 years agoMove bin/lib suffix management into separate file.
Teemu Murtola [Fri, 24 May 2013 15:37:57 +0000 (18:37 +0300)]
Move bin/lib suffix management into separate file.

Another small piece of code away from the main CMakeLists.txt.

Change-Id: If509a12ffdad390af682934ade1e0b7c9078c753

10 years agoPass on default value of radstep in make_edi
Carsten Kutzner [Fri, 20 Dec 2013 11:02:19 +0000 (12:02 +0100)]
Pass on default value of radstep in make_edi

This is a bugfix for make_edi when -radfix is chosen. Problem was:
if the user did not specify -radstep, then the default value of 0
was not written to the sam.edi output file. Now it is. Also
renamed "radfix" variable to "radstep" because that better reflects
what it is.

Change-Id: I0cc6ee84d42b18ee0ea6b045cdfb0c1d55d51b9f

10 years agoEssential dynamics: move bNeedDoEdsam evaluation to separate function
Carsten Kutzner [Fri, 6 Dec 2013 12:03:55 +0000 (13:03 +0100)]
Essential dynamics: move bNeedDoEdsam evaluation to separate function

The bool variable edi->bNeedDoEdsam is used to signal whether any essential
dynamics constraints have to be evaluated for the ED group. This variable
was evaluated at the beginning of an ED simulation in write_edo_legend().
The latter is however not called if continuing from checkpoint. To
get rid of having to remember whether edi->bNeedDoEdsam was already
initialized, there is now a function bNeedDoEdsam(edi) that is evaluated
every time when called.
Also corrected a few typos.

Change-Id: Iab899a677a85ee8270354859c98cc9e5a9db34b7

10 years agoMove shell completion things into a separate file
Teemu Murtola [Mon, 16 Dec 2013 18:15:58 +0000 (20:15 +0200)]
Move shell completion things into a separate file

Move (most) things related to shell completion into a separate file from
wman.cpp.  This allows independent refactoring of the different parts.
Also clean up write_man() and the mechanism that invokes it now that it
is only used with the new context mechanism.

Change-Id: Ife0e3e5c64a78b73917123d9b7bdbe121f844ebc

10 years agoGet rid of set_default_file_name()
Teemu Murtola [Mon, 16 Dec 2013 16:18:22 +0000 (18:18 +0200)]
Get rid of set_default_file_name()

A global variable protected by a mutex is not actually required to get
the same functionality: the default value can be simply passed to
parse_file_args(), and propagated where needed.  This makes the design
properly thread-safe, allows separation of file type handling from file
argument handling (not done here), and simplifies the logic by removing
confusing bCanNotOverride parameters (replaced by passing the default
file name only where it belongs).

Also, clean up includes in filenm.*.

Change-Id: I831576963b40f9e0a8bbaa741c80c3e59ec6f85c

10 years agoRename remaining large_int to int64
Roland Schulz [Mon, 9 Dec 2013 21:26:44 +0000 (16:26 -0500)]
Rename remaining large_int to int64

Change-Id: I7f7dc5259cc6cc95a617b27189e6ea6195b24350

10 years agoFixed essential dynamics (ED) continuation from .cpt for reference=average
Carsten Kutzner [Fri, 6 Dec 2013 11:56:11 +0000 (12:56 +0100)]
Fixed essential dynamics (ED) continuation from .cpt for reference=average

ED runs where the reference and average structure indices are the same can
crash when continued from checkpoint. For these cases (where reference =
average atom indices) obviously the set of atomic positions for the reference
and average structures is always identical. Therefore, only one of the two
structures is stored (which is the average structure edi->sav). When reading
the old values of these structures from the checkpoint file, edi->sav.x_old
therefore needs to be copied both to xstart and xfit in init_edsam().

Change-Id: Ieb1f029f4a927999dfb4579ee7c3bebe15071dc8

10 years agoFixed compilation issue due to gcc4.8
David van der Spoel [Mon, 23 Dec 2013 10:44:27 +0000 (11:44 +0100)]
Fixed compilation issue due to gcc4.8

by turning off warnings.

Change-Id: Ice3dd8dec8cb9dc590fb293c1face3ed603f7abb

10 years agoReplace gmx_large_int_t with gmx_int64_t
Roland Schulz [Sun, 8 Dec 2013 21:08:49 +0000 (16:08 -0500)]
Replace gmx_large_int_t with gmx_int64_t

Most changes are only the rename:
gmx_large_int_t -> gmx_int64_t
gmx_large_int_fmt -> GMX_PRId64 (or GMX_SCNd64)
gmx_large_int_pfmt -> "%"GMX_PRId64 (with space for cpp)
SIZEOF_GMX_LARGE_INT -> 8
GMX_LARGE_INT_MAX -> GMX_INT64_MAX
GMX_MPI_LARGE_INT -> MPI_INT64_T
str_to_large_int_t -> str_to_int64_t
get_egmx_large_int -> get_eint64

Exceptions:
simple.h: Adding of new type
xdrd.c: Remove code for SIZEOF_GMX_LARGE_INT!=8
thread_mpi: Add MPI_INT64_T type
scanner.*: Insert #include for simple.h to fix macro issues

Change-Id: I99abbec0ecafb2580ddba89677a110c137e9abd6

10 years agoMove parse_common_args() into commandline/pargs.*
Teemu Murtola [Mon, 16 Dec 2013 05:37:00 +0000 (07:37 +0200)]
Move parse_common_args() into commandline/pargs.*

- Remove statutil.* as empty after the move.
- Remove unnecessary inclusions of statutil.h.
- Replace remaining inclusions with either pargs.h, or one of the
  headers previously included by statutil.h.
- Make get_pargs() internal to pargs.cpp, as it is no longer called from
  outside the file.

Change-Id: Ie171eff303596ae3eb254d505d8c8b84dff1f84f

10 years agoMove pargs.cpp into src/gromacs/commandline/
Teemu Murtola [Sun, 15 Dec 2013 19:43:50 +0000 (21:43 +0200)]
Move pargs.cpp into src/gromacs/commandline/

- Move the source file and clean it up a bit.
- Move the declarations from readinp.h into a separate (new) header,
  named the same as the source file.

Change-Id: If1775a7387a164bed4fdb2a1d67457d8068f5c6a

10 years agoMore Nobel quotes and others
David van der Spoel [Fri, 20 Dec 2013 09:36:07 +0000 (10:36 +0100)]
More Nobel quotes and others

Change-Id: Ice6543f2241a7b8cc03a1e650748110135d49f4d

10 years agoMove Program() and ShortProgram() into copyrite.h
Teemu Murtola [Sun, 15 Dec 2013 19:01:01 +0000 (21:01 +0200)]
Move Program() and ShortProgram() into copyrite.h

Part of effort to split up statutil.* into their component parts.
The most natural place could be utility/programinfo.h, but that would
require extra effort.  With some C++ conversion, we could also
completely get rid of at least Program(), so did not want to go through
that now.  copyrite.h already has GromacsVersion(), so this somehow
fits.

Change-Id: If82e0e924025ab782f090cb5b0542a6d01689d9e

10 years agoClean up trajectory time control
Teemu Murtola [Sun, 15 Dec 2013 11:52:48 +0000 (13:52 +0200)]
Clean up trajectory time control

- Create a separate header for the routines defined in tcontrol.c.
  Move declarations there from statutil.h.
- Move the implementation into fileio, since that is mostly where it is
  used.

Change-Id: I59579f0bddd73d182d04c7ab160a0b547f66ebe2

10 years agore-add Carsten & me to the copyrite
Christoph Junghans [Tue, 17 Dec 2013 21:29:32 +0000 (14:29 -0700)]
re-add Carsten & me to the copyrite

Change-Id: Ie7dd5467346f55c4c1830547b3a08473d7e66c64

10 years agoFix non-critical typo in #ifdef GMX_OMPEN_MP
Mark Abraham [Tue, 26 Nov 2013 21:12:07 +0000 (22:12 +0100)]
Fix non-critical typo in #ifdef GMX_OMPEN_MP

Added #include to make it work.

Change-Id: Icea244c4fb63aee6ae67a29370d08177a66129a8

10 years agoClean up old command line parsing
Teemu Murtola [Sun, 15 Dec 2013 11:40:35 +0000 (13:40 +0200)]
Clean up old command line parsing

- Move pargs.c to C++ compilation to enable some of the below changes.
- Move *scan() routines from statutil.h/.cpp into pargs.cpp and make
  them static, as this is the only place where they were used.
- Remove vscan() declaration in statutil.h, as the function was not
  defined nor used anywhere.
- Move nenum() declaration from statutil.h to readinp.h, and the
  implementation from statutil.cpp to pargs.cpp.
- Remove unused pdesc() in statutil.cpp.

Clarifies the code somewhat, and removes unnecessary declarations from
headers.

Change-Id: I0b70f3622c8bea41bf88b677cbe202143a3e60c9

10 years agoAdded a bunch of quotes from the 2013 Nobel lectures
Erik Lindahl [Sun, 8 Dec 2013 22:20:23 +0000 (23:20 +0100)]
Added a bunch of quotes from the 2013 Nobel lectures

And our string-reading routines have been updated to use
our standard length STRLEN, which is currently 1024 chars.

Change-Id: Id3e2c07774ee98cf6d4e58534c5f87821516d5a8

10 years agoMoved shared/static library detection to separate module
Erik Lindahl [Thu, 12 Dec 2013 17:14:09 +0000 (18:14 +0100)]
Moved shared/static library detection to separate module

Helps make the main CMakeLists.txt more readable.

Change-Id: Iaf1c3734ceeaf36a532be424c7429931534844d5

10 years agoMoved FFT library processing to separate module
Erik Lindahl [Thu, 12 Dec 2013 17:10:29 +0000 (18:10 +0100)]
Moved FFT library processing to separate module

Helps make the main CMakeLists.txt more readable.

Change-Id: Ia846863edb4471c9c85480d82b5c5cce4225b074

10 years agoMoved compiler problem detection into separate module
Erik Lindahl [Thu, 12 Dec 2013 17:02:37 +0000 (18:02 +0100)]
Moved compiler problem detection into separate module

This makes the main CMakeLists.txt slightly more readable.

Change-Id: Ibbae29ef89578587a4d103b5176b7bf0eda2d82b

10 years agoMoved OpenMP detection to separate file.
Erik Lindahl [Thu, 12 Dec 2013 15:58:28 +0000 (16:58 +0100)]
Moved OpenMP detection to separate file.

This cleans up the main CMakeLists.txt file a bit and
removes manual line breaking from the OpenMP warning
message. It also emphasizes the different parts
(compiler detection, finding package, and final setup)
that are part of the OpenMP detection in Gromacs.

Change-Id: Id13e555d8dac1b5e8bb9c07111a4546a3b438a55

10 years agoAvoid build error if CFLAGS contain quotes
Roland Schulz [Fri, 6 Dec 2013 02:17:25 +0000 (21:17 -0500)]
Avoid build error if CFLAGS contain quotes

Because the BUILD_CFLAGS wasn't escape copyrite.cpp would
fail to compile if CFLAGS contained quotes.

Change-Id: I347512a6574ebbcd0f29d1bc4cd26423f3d323ee

10 years agoDon't create symlinks in the build tree
Teemu Murtola [Sun, 8 Dec 2013 05:05:16 +0000 (07:05 +0200)]
Don't create symlinks in the build tree

This requires an update to the regression tests and/or Jenkins.
Either the regression tests must be run against installed code, or they
must be modified to not depend on the symlinks.  But that would be for
the better, as the present approach (that is removed here) is a hack
that doesn't always work, and since we want to get rid of the symlinks
in the long run, it doesn't make sense to try to make the symlinking
more elaborate.

Change-Id: I90859f1a8c15d8ac3090e31f522aae2af7ba4a67

10 years agoVersion bump after 5.0-beta1 release
Mark Abraham [Thu, 5 Dec 2013 19:24:53 +0000 (20:24 +0100)]
Version bump after 5.0-beta1 release

Change-Id: Iedcf90669847e2c02ac5a17dd799245930075b28

10 years agoFix administrivia
Mark Abraham [Sun, 1 Dec 2013 16:16:45 +0000 (17:16 +0100)]
Fix administrivia

Added install guide section for mdrun-only builds and testing same

Change-Id: I3b7c1cf6fec7c96fe162d4d6362bebd2128ac288

10 years agoFix test build with GMX_BUILD_MDRUN_ONLY
Teemu Murtola [Wed, 4 Dec 2013 18:23:26 +0000 (20:23 +0200)]
Fix test build with GMX_BUILD_MDRUN_ONLY

Removed the tests from such builds to resolve CMake errors.
The tests cannot in any case be run without non-mdrun code.
Got broken in I8072355.

Also moved the object library for gmx view such that it doesn't get
unnecessary built with GMX_BUILD_MDRUN_ONLY.

Change-Id: I52c19d695680f5bd94deaae712d2d10e3364dfa6

10 years agoRemoved restriction of one reference pull group
Berk Hess [Tue, 26 Nov 2013 08:41:01 +0000 (09:41 +0100)]
Removed restriction of one reference pull group

The pull code now uses separate pull groups and coordinates,
which removes any restriction on group pairing.
The pull geometry "position" has been removed, but the origin
option replaces this functionaliy in case of an absolute reference.
Removed triple use of the init option.
Refs #1346

Change-Id: I90736ac6b6f18e3bf26a344072172a69627566e9

10 years agoVersion bump after 4.6.5 release
Mark Abraham [Mon, 2 Dec 2013 23:51:30 +0000 (00:51 +0100)]
Version bump after 4.6.5 release

Change-Id: I1d1c1ee28d585b6cf4431f9f1ec1a334f68ae6e3

10 years agoremove legacy CUDA non-bonded kernels
Szilard Pall [Sun, 1 Dec 2013 21:53:42 +0000 (22:53 +0100)]
remove legacy CUDA non-bonded kernels

This commit drops the legacy set of kernels which were optimized for use
with CUDA compilers 3.2 and 4.0 (previous to the switch to llvm backend
in 4.1).

For now the only consequence is slight performance degradation with CUDA
3.2/4.0, the build system still requires CUDA >=3.2 as the kernels do
build with the older CUDA compilers. Whether to require at least CUDA
4.1 will be decided later.

Refs #1382

Change-Id: I75d31b449e5b5e10f823408e23f35b9a7ac68bae

10 years agoMade cutoff-scheme=Verlet the default
Berk Hess [Mon, 2 Dec 2013 16:20:01 +0000 (17:20 +0100)]
Made cutoff-scheme=Verlet the default

Since the most common options are now supported by the Verlet
cut-off scheme and is it more accurate by default, supports GPUs
and is faster for any non-water system, this is now the default.
Not supported yet are pbc!=xyz and generalized-Born.

Change-Id: Iba292d22c6f3a4dce18d0911b062f2beb70365cb

10 years agoRenamed verlet-buffer-drift to verlet-buffer-tolerance
Berk Hess [Wed, 27 Nov 2013 16:27:41 +0000 (17:27 +0100)]
Renamed verlet-buffer-drift to verlet-buffer-tolerance

Old mdp files are still processed correctly.
Also let mdrun tune nstlist with CPU-only runs. Added mdrun option
-nstlist to set nstlist manually.

Change-Id: Iac2c2b480c1f7f4233e57af6740424715c1bd1f1

10 years agoVersion bumps before release
Mark Abraham [Mon, 2 Dec 2013 22:01:06 +0000 (23:01 +0100)]
Version bumps before release

Change-Id: I5b5ea233c47ce95474dae3b0f71a4ae6ae704f6c

10 years agoMerge "Merge branch 'release-4-6'"
Roland Schulz [Mon, 2 Dec 2013 20:23:31 +0000 (21:23 +0100)]
Merge "Merge branch 'release-4-6'"

10 years agoCalculating LJ-interactions using Particle mesh Ewald
Christian Wennberg [Wed, 9 Oct 2013 17:43:54 +0000 (19:43 +0200)]
Calculating LJ-interactions using Particle mesh Ewald

The calls to ewald_LRcorrection and gmx_pme_do in force.c have been
changed to also handle LJ-PME. The unused implementation with
tables in ewald_LRcorrection have been removed, but would in principle
be faster. But since the Verlet kernels won't call the routine and
group kernels are on a limited lifespan we do not do this optimization.

The switch-statement over the different electrostatic interactions in
force.c are now handled with if-statements.

The grids in PME have been modified to now be larger "arrays of grids",
where the first two are reserved for electrostatics(A and B-state) and
the remaining ones are for LJ-PME.

The code in gmx_pme_do have been changed to also handle LJ-PME.
Previous loop over 2 states in electrostatic PME now also loops
over two additional states for LJ-PME with geometric combination
rules. At the end it contains a separate part which loops over
the various terms for the case with LB combination rules.

Added a new enum for the parameters to be communicated in pme_pp.c

A lot of small changes in various other files mostly to fix
variable-names and small LJ-PME related details. Kernel-generating
scripts for AVX are modified to access fr->ewaldcoeff_q instead of
fr->ewaldcoeff, which doesn't exist any more.

Turning on LJ-PME in simulations is just a matter of setting
vdw-type = PME in the .mdp-file and setting "lj-pme-comb-rule"
to either "LB" or "geometric"

Manual updated with new section called "Long-range Wan der
Waals interactions" which includes the old "Dispersion correction"
and a section for LJ-PME.

Uncrustified files and updated copyright headers

TODO:
1. Full functionality for LJ-PME with free energy calculations, the basic
   framework is there but currently it gives a gmx_fatal
2. LJ-PME with verlet-kernels, currently gives gmx_fatal
3. Integrate with PME tuning

Change-Id: I6395b0a6bcb887b30311143415fde5496c6f3d38

10 years agoMerge branch 'release-4-6'
Mark Abraham [Mon, 2 Dec 2013 15:01:51 +0000 (16:01 +0100)]
Merge branch 'release-4-6'

Conflicts:
src/gromacs/legacyheaders/topsort.h
Resolved in favour of comment change in release-4-6

Change-Id: Ib930277635cdd260c136ab9b3e02809682587252

10 years agoRemove remaining uses of programs.txt
Teemu Murtola [Wed, 27 Nov 2013 20:18:16 +0000 (22:18 +0200)]
Remove remaining uses of programs.txt

Other uses have been replaced with direct generation from the wrapper
binary.  Since the manual no longer has the program man pages, there is
no particular need to list the programs either, in particular since this
is potentially more maintenance.  A reference to the online help and/or
'gmx help' should be sufficient.

Related to #685.

Change-Id: Ie865e955416cdc28f654cf2f988994bac7550ac6

10 years agoUniform behavior for 'make man' and 'make html'
Teemu Murtola [Mon, 25 Nov 2013 18:11:33 +0000 (20:11 +0200)]
Uniform behavior for 'make man' and 'make html'

Both man and HTML pages are now generated and installed using similar
installation rules.  GMX_BUILD_HELP controls automatic generation of
both.  They are also put into the source distribution using the same
mechanism for both.

Part of #685 and #1242.

Change-Id: Id61e75623861b46f765da49c4b34047a6b327083

10 years agoFix [CHEVRON]/[chevron] for HTML output
Teemu Murtola [Sun, 1 Dec 2013 14:26:08 +0000 (16:26 +0200)]
Fix [CHEVRON]/[chevron] for HTML output

Change-Id: I7a74d9eaf5e9d04093355b74ab8282ee671afff4