alexxy/gromacs.git
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

10 years agoReplace SUM_SIMD with gmx_sum_simd
Roland Schulz [Fri, 15 Nov 2013 01:48:14 +0000 (20:48 -0500)]
Replace SUM_SIMD with gmx_sum_simd

Allows easy usage of hardware reduction (e.g. on MIC)

Change-Id: Ia4b4daec7c182faa42468892067f36968b923851

10 years agoRemove GMX_DOUBLE from config.h
Teemu Murtola [Wed, 27 Nov 2013 17:12:36 +0000 (19:12 +0200)]
Remove GMX_DOUBLE from config.h

It is not feasible for us to remove GMX_DOUBLE from installed headers
any time in the foreseeable future.  And we cannot define it in the
installed headers, since we want to use the same set of headers for both
single- and double-precision binaries.

This means that code calling Gromacs will always need to define it
somehow external to the headers, and ensure that it is always there.
Now, our own build system also uses the same approach and defines it on
the compiler command line.  Another alternative would be to have a
gmxpre.h header that would get included into each and every source file.
We may need such a header for some other purposes, but it should be much
more static than the current config.h...

This removes one of the main obstacles of getting rid of config.h
dependencies throughout the code.

Change-Id: I20cb66d5e58c56212a3b23f8bdea8dd6b9eefb2c

10 years agoDon't install headers depending on GMX_INTERNAL_XDR
Teemu Murtola [Tue, 26 Nov 2013 19:14:42 +0000 (21:14 +0200)]
Don't install headers depending on GMX_INTERNAL_XDR

There should be no need to install xdrf.h; if some user wants to use the
API, some higher-level API is probably better suitable.  With some
reorganization of the headers, all cases where the header was included
from some other installed header were actually unnecessary:
 - gmx_fio_getxdr() is now in xdrf.h (somewhat ugly, but so are the
   alternatives).
 - xdr_datatype is mainly used for edr reading (also for checkpoint
   precision), but put it into a separate header for now that can be
   installed.  It is actually completely independent of the other stuff
   in xdrf.h.

Change-Id: I74a66388a8c09cbf4eb9b7b44d7cd13be2776e9c

10 years agoDocument how to add C++ tools
Teemu Murtola [Thu, 31 Oct 2013 18:56:00 +0000 (20:56 +0200)]
Document how to add C++ tools

Add documentation for how analysis tool code differs from a standalone
tool written using the template.  Include step-by-step instructions for
converting a standalone tool for inclusion in the library and the
wrapper binary.

Change-Id: Id777c7f17e6513208da1b2710622932be32762ff

10 years agoFix scope and naming of some variables
Mark Abraham [Fri, 29 Nov 2013 13:11:51 +0000 (14:11 +0100)]
Fix scope and naming of some variables

Not sure why ASAN did not complain that the old code sometimes used
dvdl when uninitialized under RF.

Updated copyright header

Change-Id: Ib534dc4aa8128f58a80689d5f33282fb16967b1e

10 years agoTurn on -Wunused-parameter where applicable
Mark Abraham [Tue, 29 Oct 2013 17:53:39 +0000 (18:53 +0100)]
Turn on -Wunused-parameter where applicable

There are no longer any function parameters that have function
arguments that are unused (under at least some code paths), unless
they are so noted with gmx_unused attributes. This commit activates
the applicable compiler warnings, so that we can keep it that way!

Some extra changes in gmxomp.c to satisfy Doxygen and remove unused
variable warnings as well (moved the file to C++ compilation).
As a side effect, simplify the #ifdef logic.  The only visible effect of
the reorganization should be that if both affinity environment variables
are set, then the warnings get printed in reverse order.

Also run uncrustify and copyright on changed files.

Change-Id: Ifbaba7543f30c94b44b649718c0c5d7ff1fe5db0

10 years agoFixed zero hardware thread count
Berk Hess [Thu, 28 Nov 2013 18:35:29 +0000 (19:35 +0100)]
Fixed zero hardware thread count

A missing include caused sysconf not to be called, which lead
to the hardware thread count being zero on most non-Windows systems.

Change-Id: I102c04f494f2946725bb5714482cb861aa8f69fc

10 years agoAdjust more copyright headers
Teemu Murtola [Sat, 30 Nov 2013 11:16:48 +0000 (13:16 +0200)]
Adjust more copyright headers

Replace old copyright headers with the new in files that have been moved
to the new module layout.  Adjust the script to handle the cases
encountered, and add some exclusions to the attributes.

Put best-guess estimates for the copyright years based on when the files
were created (if recently) and when they have been modified.  Unless
obvious that the file was created for 4.6 or otherwise recently, did not
trace back beyond the time the files were moved to their current
locations.

Files under directories moved as a whole from release-4-6
(legacyheaders, gmxlib etc.) have not been considered yet.

Part of #818.

Change-Id: Ida30498a97606ec652008299fc1652ca9609539e

10 years agoFix -Wstrict-overflow in domdec.c
Alexey Shvetsov [Fri, 29 Nov 2013 18:22:31 +0000 (22:22 +0400)]
Fix -Wstrict-overflow in domdec.c

d1 > d for all iterations except first one
so now we dont trigger warning

Change-Id: I581297bfafe4157659134aefc1df3c2c6a75e2fa
Signed-off-by: Alexey Shvetsov <alexxy@omrb.pnpi.spb.ru>
10 years agoAdd machinery for integration tests
Mark Abraham [Fri, 27 Sep 2013 17:09:07 +0000 (19:09 +0200)]
Add machinery for integration tests

This code permits the construction of script-like test cases. Examples
can be seen in src/programs/mdrun/tests/rerun.cpp and
src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp.

Initially, this will permit us to check things like "this combination
of inputs to grompp led correctly to error/success in grompp or mdrun,
and did not segfault." This will permit us to enumerate test cases
over ranges of legal inputs to .mdp in a more automated fashion, using
things like the enumerations in the source code, without needing to
store and maintain all the input cases. This is particularly valuable
for detecting unknown side effects when refactoring (e.g. removing
PD).

Also permits test cases like CheckMdrunCanWriteCheckpoint.

Reporting of failures when run under MPI is a long way from perfect.
Only rank 0 can be allowed to write to stdout and the GTest XML output
file. On stdout, ranks of failing tests and their expected and actual
values are reported. In the XML, only the ranks are reported. Fixing
this later would require serializing in rank > 0 either the
TestPartResult object, or its result string, and sending those to rank
0 for processing.

Later, it would be good to refactor these tests so that we do not have
to do things like disk I/O for .tpr files, so they run faster and
we can have more of them.

Also later, machinery to get things like energies and forces from
mdrun for sanity checks would be great, too, so that we can prevent
bugs like "this combination of inputs incorrectly computes zero
energies" when somebody forgets to extend a switch statement, etc.

Change-Id: I8072355b44c12d4a47c181734c83c961fd306666

10 years agoCreated SIMD module
Berk Hess [Fri, 12 Apr 2013 17:11:09 +0000 (19:11 +0200)]
Created SIMD module

Moved header files to new module, renamed their #include guards
appropriately.

Removed two unused headers (content mostly duplicated)

Refs #1173

Change-Id: Ieda78cc3bcb499e8c17ef8ef539c49cbc2d6d74d

10 years agoRemove unused config.h defines
Teemu Murtola [Wed, 27 Nov 2013 17:25:50 +0000 (19:25 +0200)]
Remove unused config.h defines

Also remove some unnecessary inclusions of gmx_header_config.h in source
files.

Change-Id: I1f48a7f112956938b1a77130631f15c532830647

10 years agoRemove obsolete FindGit.cmake
Teemu Murtola [Thu, 28 Nov 2013 18:11:34 +0000 (20:11 +0200)]
Remove obsolete FindGit.cmake

Now that we require CMake 2.8.8, we don't need to package FindGit.cmake,
which is available since 2.8.2.  From 2.8.8 onwards, FindGit.cmake also
provides a version string directly, so we don't need to get it
ourselves.

Change-Id: Id5739af8d8e026a87a478b669b5c9c23adb28aee

10 years agoMake help texts refer to gmx-something
Teemu Murtola [Sat, 23 Nov 2013 05:22:20 +0000 (07:22 +0200)]
Make help texts refer to gmx-something

Help text written by -h, as well as man pages and the HTML help now
refer to programs as gmx-something instead of the old names that are now
only symbolic links.  Cross-references in the HTML pages should be there
again.

Related to #685.

Change-Id: I41ce99cc224aa2c13f94d61e625115a8c991daba

10 years agoMove gmx_omp.* into src/gromacs/utility/
Teemu Murtola [Fri, 22 Nov 2013 18:54:00 +0000 (20:54 +0200)]
Move gmx_omp.* into src/gromacs/utility/

Changes:
 - Rename the file to gmxomp.*, analogous to other headers in the
   directory.
 - Replace the copyright headers with the new format, and put years
   there when the files have been in existence.
 - Fix Doxygen documentation to produce something reasonable.  Some
   brief descriptions are still very long...
 - Add extern "C" guards.
 - Don't install the header, as it is only an internal implementation
   detail.

Change-Id: I22d876b333534b783ef0638202939a89ce62e9d9

10 years agoUpdated to gmock-1.7.0
Rossen Apostolov [Tue, 26 Nov 2013 11:47:13 +0000 (12:47 +0100)]
Updated to gmock-1.7.0

The previous gmock-1.6.0 was failing to compile on Mac OS 10.9
with clang-500.2.79 from XCode-5.0.2 due to issues with finding
the TR1 tuple library.

Update C++11 check to check for constructs used in Google Mock and
suppress valgrind reachable memory warnings on Mac OS X about
localtime.

Change-Id: I0703e581373aba8d2cf5cf42b9443a76ac0f6032

10 years agoGenerate gromacs.7 from the wrapper binary
Teemu Murtola [Mon, 25 Nov 2013 04:51:01 +0000 (06:51 +0200)]
Generate gromacs.7 from the wrapper binary

Use the same mechanism for generating gromacs.7 as with the by-topic
list of programs for the HTML pages.  Now the man page content is
up-to-date, no longer requires programs.txt, and uses the new
gmx-something names for the referenced programs.

Part of #685

Change-Id: I070f88fd366b37d1ba287a3c2e8e26a846774002

10 years agoFix some #include problems.
Teemu Murtola [Tue, 29 Oct 2013 18:58:35 +0000 (20:58 +0200)]
Fix some #include problems.

- Include files by relative paths for installed headers.
- Install all headers used by other installed headers.
- Use
    #include "..."
  for our own headers and
    #include <...>
  for system headers.
- Remove one unused header.

Updated the includedeps.py/.cmake script to be able to check also legacy
stuff without complaining too much.  As part of this, updated the
installation rules for legacyheaders to explicitly specify the list of
files (using globbing).

The script now also includes some new directories into the include
dependency graph generated by 'make depgraphs'.  Will try to make the
graph a bit more useful at some point.

Change-Id: Id24d37672194770ebd7552b7d5c7d8bc964c0ffb

10 years agoRemove IMD manual section
Mark Abraham [Wed, 27 Nov 2013 19:48:18 +0000 (20:48 +0100)]
Remove IMD manual section

This should be re-attached to the code patch in due course.

Change-Id: Iad750fe3bc5f855e5a5831bf29b0c00e6cf4e6a9

10 years agoUniform headers in HTML pages
Teemu Murtola [Tue, 19 Nov 2013 04:47:05 +0000 (06:47 +0200)]
Uniform headers in HTML pages

The version number is now also automatically updated in the page headers
for 'make html'.  Also, fix most links in the file format pages.
If we in the future move into some proper HTML publishing system (e.g.,
based on Markdown), it should probably take care of this and also
cross-links between these pages and the generated pages, so not much
effort has been put to make the approach or the headers/footers
particularly elegant.

Related to #685 and #1242.

Change-Id: I083d1f9714ddf68dfc2977799378299a43a05b73

10 years agoRemove unused gmx_membed.c
Teemu Murtola [Sat, 23 Nov 2013 04:54:44 +0000 (06:54 +0200)]
Remove unused gmx_membed.c

Change-Id: I43a86b09b892f3fc1529032708747db6d53923d0

10 years agoFix strange character in manual
Mark Abraham [Wed, 27 Nov 2013 18:57:28 +0000 (19:57 +0100)]
Fix strange character in manual

Fixes #1389

Change-Id: I577a174c807f813e8070bb4ac9f30a66b39c124a

10 years agoFixed return value of gmx_mtop_bondeds_free_energy
Berk Hess [Mon, 25 Nov 2013 16:46:48 +0000 (17:46 +0100)]
Fixed return value of gmx_mtop_bondeds_free_energy

The return value was always true, which was harmless, since it
could only cause a small performance hit of useless sorting.

Fixes #1387

Change-Id: I088a3747ddb3517fbb5e416b791bd542bd49fed2