alexxy/gromacs.git
9 years agoRemoved undocumented -map and -mdata options from g_sham.
Erik Lindahl [Wed, 11 Jun 2014 22:24:32 +0000 (00:24 +0200)]
Removed undocumented -map and -mdata options from g_sham.

Both options and code were completely undocumented, and
nobody seemed interested in helping document them for the
last two years, so for now they are gone.

Fixes #812.

Change-Id: I4d60cf3d58da89d76a4461cdc2e75f031676d2c9

9 years agoAlways write output from genion
Erik Lindahl [Thu, 22 May 2014 23:23:22 +0000 (01:23 +0200)]
Always write output from genion

To facilitate scripting we now copy the input conformation
and write it to the output, even if no ions are to be added.

Refs #1458.

Change-Id: I3e467169e30bc7448758c2d506ca35f49b001b50

9 years agoDecoupled repl_ex_nst from nstcalcenergy
Berk Hess [Tue, 10 Jun 2014 12:38:04 +0000 (14:38 +0200)]
Decoupled repl_ex_nst from nstcalcenergy

The replica exchange frequency is automatically changed by mdrun
to a multiple of nstcalcenergy, which is annoying. It turns out that
it doesn't need to be a multiple, so this changing has been removed.
Fixes #1494

Change-Id: I00833f92fd468924f61879aff8b7c85fe79d3c2e

9 years agoReplaced gmx_hostname_num by gmx_physicalnode_id_hash
Berk Hess [Fri, 30 May 2014 15:18:07 +0000 (17:18 +0200)]
Replaced gmx_hostname_num by gmx_physicalnode_id_hash

gmx_hostname_num was only used to distinguish physical nodes.
Since it only worked for hostnames with numbers, we replaced it
by a hash of the hostname.

Fixes #1513

Change-Id: I8e60757707386f43269afe0bb38e8500decefcd6

9 years agoInstall libraries in correct directories on multiarch systems.
Rossen Apostolov [Mon, 26 May 2014 08:42:29 +0000 (10:42 +0200)]
Install libraries in correct directories on multiarch systems.

NB: this patch may change the default install dirs on some systems,
and will _not_ overwrite previous installations. Thus make sure to
link to the correct library versions of e.g. libgromacs.

Fixes #591 and #623.

Change-Id: Ibd1d7d216236a0f5841ba9f0ac622a3f8f1a8718

9 years agoSet make_ndx max name length and count to 1024
Berk Hess [Mon, 9 Jun 2014 14:19:11 +0000 (16:19 +0200)]
Set make_ndx max name length and count to 1024

Limits were 30, which was a bit on the low side.
Fixes #1512

Change-Id: I62d5146fdac06b7b5b7f56925addeca561c83173

9 years agoFixed the output format of g_principal
Erik Lindahl [Mon, 26 May 2014 12:41:58 +0000 (14:41 +0200)]
Fixed the output format of g_principal

Gromacs-4.6 and earlier versions had the output transposed. This
patch fixes it such that paxisN.dat contains the x/y/z components
of the N:th prinicipal axis. The default file output names have
been changed to paxisN.dat to increase the probability that users
who rely on old scripts will need to read the help text and find
the changed format.

Fixes #1441, related to #609.

Change-Id: Ic1ed9370145d3389ae8f43c2a419765dabf3a66f

9 years agoModify single/double EPS to agree with ISO C
Erik Lindahl [Thu, 5 Jun 2014 14:34:26 +0000 (16:34 +0200)]
Modify single/double EPS to agree with ISO C

The previous Gromacs values were a factor 2 too tight. While
we're at it, we also added float modifiers to the single-precision
constants, increased the accuracy in the double max/min values,
and improved the least significant bit in one of the single-precision
values. The previous relative accuracies for the PME correction
analytical approximations where set fairly arbitrary by dividing a
tightly chose constant with GMX_REAL_EPS, and since this is now a
larger number the unit test tolerance for those corrections has been
increased slightly to avoid triggering false failures.

Fixes #1356.

Change-Id: If29d2ff4141d86fd019e0dbdbfb7737ead28c3d4

9 years agoAdded package version to tng_io CMakelists.txt
Erik Lindahl [Thu, 5 Jun 2014 15:25:26 +0000 (17:25 +0200)]
Added package version to tng_io CMakelists.txt

Without a package version (for tng_io), the CMake 3 beta
versions will issue warnings.

Fixes #1477.

Change-Id: I4a8f64f70e7372118eecfebb69b4a24cd18835cb

9 years agoMerge release-4-6 into release-5-0
Mark Abraham [Thu, 5 Jun 2014 21:34:10 +0000 (23:34 +0200)]
Merge release-4-6 into release-5-0

Conflicts:
src/gromacs/gmxana/gmx_energy.c
Eliminated time parameter (removed in release-5-0),
used gmx_ffclose (fixed in release-5-0).

src/gromacs/mdlib/update.c
Eliminated fplog parameter (removed in release-5-0), otherwise added
new MTS-fixing functionality from release-4-6.

src/programs/mdrun/md.c
Added new code path for MTS (from release-4-6), eliminated
wcycle and bInitStep parameters (from release-5-0).

Change-Id: I303bb649ed2373656aa4420d0afb27f738a9ea30

9 years agoFix constraint virial with multiple time stepping
Berk Hess [Wed, 14 May 2014 20:36:29 +0000 (22:36 +0200)]
Fix constraint virial with multiple time stepping

With multiple time stepping the additional nstcalclr-1 force
contribution was constrained to remove it from the virial.
This procedure neglected the non-linear contribution due to
the rotation of constraints. Now the contribution of this force
component to the coordinate update is constrained instead and
the corresponding virial contribution is subtracted from the
constraint virial.

Fixes #1400

Change-Id: If3217f52808bf7491998324f8dc3161bc003ec1b

9 years agoNew quotes
Mark Abraham [Mon, 2 Jun 2014 11:30:22 +0000 (13:30 +0200)]
New quotes

Change-Id: Ia8494c51d7bce41594152644a4a25b9188d41da8

9 years agoUpdated C-/N-terminal partial charges in Amber03.ff.
Rossen Apostolov [Thu, 22 May 2014 13:03:54 +0000 (15:03 +0200)]
Updated C-/N-terminal partial charges in Amber03.ff.

At the time of porting the AmberFFs were validated against
AMBER 8 and the results have matched precisely. However,
that specific AMBER version had a bug due to which CT/NT charges in ff03
were in fact using ff94 charges. The bug correspondingly propagated
to the Gromacs ports. In newer versions of AMBER this has been fixed.

The current GROMACS patch uses charges as specified in the
all_aminoct03.lib and all_aminont03.lib files as
taken from the AmberTools14 distribution.

In that distribution (14) seem to be no updates to the ff9x parameters.

Fixes #1466.

Change-Id: Ie6cfea5702500ff6cd5019edb22f224d29135425

9 years agoUse RNG correctly for v-rescale thermostat
Mark Abraham [Sun, 25 May 2014 19:38:41 +0000 (21:38 +0200)]
Use RNG correctly for v-rescale thermostat

Two integers were passed in the wrong order. I suspect from the
construction of the RNG that the only effect of this is to permit a
rare re-use of a random number in a different RNG stream (i.e. no
effect in practice).

Change-Id: I1fb8eddbe7c8b029dc3686be80f3f083108fc28c

9 years agoFixed g_energy Einstein viscosity
Berk Hess [Mon, 2 Jun 2014 20:48:18 +0000 (22:48 +0200)]
Fixed g_energy Einstein viscosity

The g_energy -vis Einstein viscosity output was obviously incorrect.
This bug has been introduced in version 4.5.
Fixes #1516

Change-Id: I5ffc1a232f0c64769cc438c977b757e8d8b55b98

9 years agoAdded grompp checks for zero atom masses in state B
Erik Lindahl [Thu, 22 May 2014 21:44:53 +0000 (23:44 +0200)]
Added grompp checks for zero atom masses in state B

Grompp already issued fatal errors if atoms had zero mass, or
if vsites had non-zero mass, in state A. This patch adds
state B to the same check.

Refs #1433.

Change-Id: Iec3d764ff7db6e7bdc3901d51b475cf2c35fe137

9 years agoAdd quote on the kT-kj/mol conversion factor
Szilárd Páll [Thu, 22 May 2014 21:20:56 +0000 (23:20 +0200)]
Add quote on the kT-kj/mol conversion factor

Great advice to all those struggling with remembering numbers by Anders
Gabrielsson.

Change-Id: I65fe5247b9342f6f48de709ad5bdbc69a52abc9a

9 years agoFixed typo in manual
Erik Lindahl [Thu, 22 May 2014 20:19:55 +0000 (22:19 +0200)]
Fixed typo in manual

Change-Id: Ic772c4b7bfc2128fff05c1e686999ba739725c53

9 years agoTwo quotes contributed by Vedran Miletic
Erik Lindahl [Thu, 22 May 2014 19:34:06 +0000 (21:34 +0200)]
Two quotes contributed by Vedran Miletic

Change-Id: Ib5dfc367c99bba312e669de8db1ddc68f65a9480

10 years agoFix bug writing TNG output from dump.
Magnus Lundborg [Tue, 27 May 2014 11:19:04 +0000 (13:19 +0200)]
Fix bug writing TNG output from dump.

The output was incorrectly located in an if statement.
Partial fix of #1510

Change-Id: I85823d9369f208f21f4bafe19705e9e4dd2da027

10 years agoBug fix in the TNG library to improve reading.
Magnus Lundborg [Mon, 26 May 2014 15:59:55 +0000 (17:59 +0200)]
Bug fix in the TNG library to improve reading.

Reading single frame frame sets did not work properly.
Fixes #1502 and partial fix of #1510.

Reread frame set after getting stride length.

Extra check to avoid reading past end of file when
checking what data blocks are present.

Change-Id: I5275382bd49b5b46ebfdebe535c53d2f09015bc0

10 years agoPermit trjconv to read and write velocities with TNG files
David van der Spoel [Sat, 24 May 2014 07:10:13 +0000 (09:10 +0200)]
Permit trjconv to read and write velocities with TNG files

Partial fix of #1502

This set velocity reading and writing on for tng file in trjconv.
However there still is a problem with the number of frames being
reduced at each conversion.

Change-Id: I91e7f5245ca75ebb9dd8e4450f94015b5c3f2bfa

10 years agoFinalize change from GMX_CPU_ACCELERATION to GMX_SIMD
Mark Abraham [Tue, 27 May 2014 07:58:26 +0000 (09:58 +0200)]
Finalize change from GMX_CPU_ACCELERATION to GMX_SIMD

Change-Id: I6c947d80f36c2fd8e1608520cb505d0586719644

10 years agoMerge release-4-6 into release-5-0
Roland Schulz [Mon, 26 May 2014 08:49:25 +0000 (04:49 -0400)]
Merge release-4-6 into release-5-0

Conflicts:
CMakeLists.txt - fixed use of GMX_CPU_ACCELERATION
src/gromacs/gmxana/gmx_lie.c
src/gromacs/pulling/pull.c

Change-Id: I45a70eee6f7ec4dd922b6c04c740c40f50159a45

10 years agoSimplified section "Porting".
Rossen Apostolov [Fri, 23 May 2014 12:25:42 +0000 (14:25 +0200)]
Simplified section "Porting".

Fixes #1069.

Change-Id: I01578dfe27585f5c5cc81ce9f564e9586c60a3ed

10 years agoAllow trjconv to keep some box dimensions unchanged.
Rossen Apostolov [Fri, 23 May 2014 14:30:06 +0000 (16:30 +0200)]
Allow trjconv to keep some box dimensions unchanged.

Giving -1 to option box will preserve the original box size
for the given dimension.

Fixes #871.

Change-Id: I339aedcf09da8ecb4eb8f32e8057f953a21e0f5f

10 years agoFix memory issue in solvate
Roland Schulz [Thu, 22 May 2014 22:16:13 +0000 (18:16 -0400)]
Fix memory issue in solvate

Caused by SIMD padding introduced by new group kernels.

Fixes #1499

Change-Id: I5126217c9b752f1c1fd04d01e2644987fdc52d5b

10 years agoNormal modes don't work currently with virtual sites or shells.
Rossen Apostolov [Tue, 6 May 2014 14:23:25 +0000 (16:23 +0200)]
Normal modes don't work currently with virtual sites or shells.

Refs #879.

Change-Id: I1c45b5a4b4c97feff222dccbbbb884e0153ad0c5

10 years agoFix static group list indices in selection prompt
Teemu Murtola [Thu, 22 May 2014 03:20:47 +0000 (06:20 +0300)]
Fix static group list indices in selection prompt

In 4.6, the list was zero-based, and this is what the selection parser
uses when resolving numeric group references, so it should still be.
Also the list shown by various functions in index.c is zero-based.
The printing code had been inadvertently changed to one-based in cleanup
of the handling of group names within the selection code.

Fixes #1506

Change-Id: I9a573b921802d2276e3bdb653359a961c90ff29a

10 years agoAvoid energy drift with verlet-buffer-tolerance
Berk Hess [Fri, 9 May 2014 22:05:46 +0000 (00:05 +0200)]
Avoid energy drift with verlet-buffer-tolerance

Added a warning with weak coupling and SD when tau_t and
verlet-buffer-tolerance as so large that the temperature might
be off by more than 0.2%.
Turned off nstlist tuning in mdrun with nstlist=1.
Also fixed Andersen checks in mdrun that were useless, since they
were done before temperature coupling groups were set.

Change-Id: I41bd316449c9e03e21d33dd82ebeab034d019fc6

10 years agoAdd fatal errors for VV and twin-range MTS
Mark Abraham [Tue, 13 May 2014 15:52:50 +0000 (17:52 +0200)]
Add fatal errors for VV and twin-range MTS

Michael never implemented the multiple-time stepping with the VV
integrator family and constraints (see code that calls
combine_forces() from update_coords() in src/mdlib/update.c). Probably
that means the multiple-time-step regime was not tested with VV
either. Strictly speaking, these new fatal errors have scope that is
wider than is clearly warranted, but it is not clear the
no-constraints VV path was only ever as bad as the broken leap-frog
path is (see #1400).

I suspect VV+constraints will work with the incoming fixes for
leap-frog, but until someone wants to use it (and why would they?),
then I'm not going to test that it works as well as it does with
leap-frog.

Change-Id: Ib61d0fb7661bca2101c04423a6af1744420c06ab

10 years agoClarified docs for use of mdrun -nstlist
Mark Abraham [Tue, 20 May 2014 13:18:58 +0000 (15:18 +0200)]
Clarified docs for use of mdrun -nstlist

Change-Id: I86118d59116bb183bf81d21bdef8f9c75c12700a

10 years agoFix copyright years for new code
Mark Abraham [Tue, 20 May 2014 20:46:30 +0000 (22:46 +0200)]
Fix copyright years for new code

These files are new and of code new to GROMACS, so it is
only correct to copyright 2014.

Change-Id: I5d56116f1330fc83380919b111cefa4bf533fb08

10 years agoImprovements to the g_lie help description.
Justin Lemkul [Tue, 8 Oct 2013 11:38:04 +0000 (07:38 -0400)]
Improvements to the g_lie help description.

Information was sparse, likely to avoid restating published
protocols, but some expansion was definitely warranted,
given the amount of questions that have recently been
posted to the mailing list and Redmine.

Refs #1353

Change-Id: Ib4057ae671ccac70061498b1d40ebcba84c497ee

10 years agoAdded a note about using direction-periodic pulling.
Rossen Apostolov [Tue, 6 May 2014 13:28:58 +0000 (15:28 +0200)]
Added a note about using direction-periodic pulling.

Refs #1352.

Change-Id: I867fe1372082063bb221880e8021089f9ded14e7

10 years agoAdded a note about unsupported Verlet cutoff + Buckingham.
Rossen Apostolov [Wed, 14 May 2014 10:10:55 +0000 (12:10 +0200)]
Added a note about unsupported Verlet cutoff + Buckingham.

Refs #1192.

Change-Id: I2da3bf8c768de40531e1ffdf6f8cec73c9e53314

10 years agoAdd note about correct calling of wallcycle counter
Mark Abraham [Fri, 16 May 2014 11:05:27 +0000 (13:05 +0200)]
Add note about correct calling of wallcycle counter

The code could be refactored to use a series of explicit OpenMP
barriers so that the wallcycle_start/stop are more clearly matched,
but that's too hard for now. The comments make it harder for anyone
to misunderstand or mistakenly change the code.

Change-Id: Iec00e50e26a60efe09afb6f5744d401a9d9c06a3

10 years agoFix indenting of .tpr parameter dump in mdrun log file
Mark Abraham [Tue, 13 May 2014 07:25:29 +0000 (09:25 +0200)]
Fix indenting of .tpr parameter dump in mdrun log file

This got broken recently in I39550bff60

Fixes #1447

Change-Id: I3e9765e56081d28dd0855d8d8f3fdf39b900993b

10 years agoFixes a complicated bug in g_anaeig.
David van der Spoel [Fri, 16 May 2014 05:40:37 +0000 (07:40 +0200)]
Fixes a complicated bug in g_anaeig.

If the number of frames for a covariance analysis is fewer than the
number of degrees of freedom, g_covar would happily print nonsense
eigenvalues in the eigenval.xvg file. This would then lead g_anaeig
to give NaN entropy values. By limiting the number of output lines in
the eigenvalue file this should be resolved. In addition a warning is
printed.

Change-Id: I01693a0fa9f3ba5b5784543a04d0d88b33a755c2

10 years agoProhibit AVX_256 with buggy gcc 4.6.1
Mark Abraham [Tue, 13 May 2014 14:16:44 +0000 (16:16 +0200)]
Prohibit AVX_256 with buggy gcc 4.6.1

Fixes #1259

Change-Id: I7c523a90ccd0dd8fd3df6cb1914429e22a27ab5d

10 years agoMerge release-4-6 into release-5-0
Roland Schulz [Fri, 9 May 2014 19:08:58 +0000 (15:08 -0400)]
Merge release-4-6 into release-5-0

Conflicts:
CMakeLists.txt (applied to cmake/gmxManageSharedLibraries.cmake)

Replaced gmx_llabs by llabs as mentioned in TODO.

Change-Id: I37e8cf5d6725cc9836e6dc29ca44e7ef915417c4

10 years agoFix clang 3.5 warnings regarding *abs*
Alexey Shvetsov [Sun, 20 Apr 2014 13:01:54 +0000 (17:01 +0400)]
Fix clang 3.5 warnings regarding *abs*

Fix abs() family functions type usage mismatch.

Change-Id: I85ed2931d681aa1ad024678b4209a524abc2cc61
Signed-off-by: Alexey Shvetsov <alexxy@omrb.pnpi.spb.ru>
10 years agoMinor tweaks to the DD setup
Berk Hess [Thu, 8 May 2014 13:17:00 +0000 (15:17 +0200)]
Minor tweaks to the DD setup

Dynamic load balancing is now turned on when the total performance
loss is more than 2% (lower than that will not help).
The check for large prime factors should be done on the PP node
count when -npme is set by the user.

Change-Id: Ib81b56a7cb071540b143a4bfc98758788a8ac07d

10 years agoFix comparison of array to NULL
Roland Schulz [Sat, 3 May 2014 16:27:14 +0000 (12:27 -0400)]
Fix comparison of array to NULL

Static char array is never NULL. Detected by clang 3.5. Also fixes
output of read_atype and print error for incorrect format.

Change-Id: I834fca2d8fdd49167a88dc15bc7a2e72f4d97269

10 years agoMerge "Merge branch release-4-6 into release-5-0" into release-5-0
Roland Schulz [Fri, 9 May 2014 19:04:43 +0000 (21:04 +0200)]
Merge "Merge branch release-4-6 into release-5-0" into release-5-0

10 years agoFix OpenMP scope error
Roland Schulz [Fri, 9 May 2014 09:57:08 +0000 (05:57 -0400)]
Fix OpenMP scope error

Change-Id: I5cea5df876a48e5868b5160170e8450e697f3b4b

10 years agoFix OpenMP unproteced update bug
Roland Schulz [Fri, 9 May 2014 16:33:13 +0000 (12:33 -0400)]
Fix OpenMP unproteced update bug

Change-Id: Id881b3e2726fa9c9be7a37f7e909bb7b268e44a7

10 years agocmake: enable shared libraries by default on Hurd
Pino Toscano [Mon, 5 May 2014 21:01:28 +0000 (23:01 +0200)]
cmake: enable shared libraries by default on Hurd

Since the toolchain is mostly the same as used on e.g. GNU/Linux
(glibc, gcc, binutils, etc), they can be safely enabled.

Change-Id: Ic663c8c344b5dfa2910e9c30260588e1917038c1

10 years agoFix incorrect limits in FloatOptionStorage
Teemu Murtola [Thu, 1 May 2014 18:20:22 +0000 (21:20 +0300)]
Fix incorrect limits in FloatOptionStorage

This typo didn't cause any problems in Gromacs, since currently, no code
path enters here.  But if user code would use FloatOption or RealOption,
it would trigger.  Found while taking this code into actual use in
master.

Change-Id: I712faf365359964f6f767991664da7981072e5bd

10 years agoFix usage of gmx_eof
Roland Schulz [Wed, 30 Apr 2014 07:37:36 +0000 (03:37 -0400)]
Fix usage of gmx_eof

gmx_eof has different behavior from gmx_eof and feof
should be used here.

Change-Id: I877c15d0edde64fe06ae2eedbda980f117509449

10 years agoMerge branch release-4-6 into release-5-0
Mark Abraham [Tue, 29 Apr 2014 20:52:24 +0000 (22:52 +0200)]
Merge branch release-4-6 into release-5-0

Conflicts:
src/gromacs/mdlib/coupling.c

Resolved in favour of release-4-6, except that the underlying
RNG calls are now made to the new cycle-based RNG.

Run uncrustify

Change-Id: I56286e19632ac28958a0d4ef60ff09b875aa3005

10 years agoRemoved truncation of nrdf in v-rescale thermostat
Berk Hess [Wed, 23 Apr 2014 13:15:08 +0000 (15:15 +0200)]
Removed truncation of nrdf in v-rescale thermostat

The resampling function for the v-rescale thermostat expected an
integer value for nrdf, but a real was passed, which was truncated.
With a single coupling coupling group nrdf is analytically an int,
but could be off by a bit. The could lead to incorrect kinetic
energy fluctuations (averages were correct).
Now fractional nrdf's are properly handled for nrdf > 3.
For nrdf < 3 a check is added for integer values with a small margin
for rounding.
Fixes #1218

Change-Id: I4c60c337f9874d0bff51220ad09429140be2a056

10 years agoMade ORCA compile.
Justin Lemkul [Thu, 24 Apr 2014 14:45:41 +0000 (10:45 -0400)]
Made ORCA compile.

There are probably larger issues here with the QM/MM interface.
I made no effort to test the validity of any simulation done with
ORCA (since I don't have ORCA and I don't do QM/MM), so issues
definitely remain.

Change-Id: Ibd5dd83d05a3b42c641f0fc9def75c4641e3a7d4

10 years agoMore efficient TNG selection group creation
Magnus Lundborg [Wed, 16 Apr 2014 06:29:18 +0000 (08:29 +0200)]
More efficient TNG selection group creation

Do not create a TNG selection group if no selection is specified
explicitly, or if the selection contains all atoms in the system.

Change-Id: Ibe2a14e55aff829fdb74de074447f00f0e85f090

10 years agoFixed nbnxn FE list allocation issue
Berk Hess [Wed, 16 Apr 2014 08:11:50 +0000 (10:11 +0200)]
Fixed nbnxn FE list allocation issue

With free-energy calculations, the nbnxn search code could write
beyond the list bound, which could cause a segv.
Fixes #1474

Change-Id: I4c202fc14b04980f05ad1b3ea001732fdfaa9f00

10 years agoFix memory error in asc format IO
Roland Schulz [Tue, 22 Apr 2014 19:51:29 +0000 (15:51 -0400)]
Fix memory error in asc format IO

Found with cppcheck 1.64

Change-Id: I72e80cd2b11559be47d449d0a8d444857843979b

10 years agoIssue warnings for potential switch w/o defining switch regions.
Michael Shirts [Fri, 18 Apr 2014 03:09:01 +0000 (23:09 -0400)]
Issue warnings for potential switch w/o defining switch regions.

If either older style switches or new potential-switch modifiers are
used, issue a warning if the PME regions is too long, resulting in
inaccurate energies. Also issue a warning if rvdw_switch is 0, which
occurs if no value is specified.

Discussion is in redmine #1463

Change-Id: I7a2c29f87ceb04712aab5076ac97f5f22f573671

10 years agoFixed bug inverting compression precision.
Magnus Lundborg [Wed, 16 Apr 2014 06:23:03 +0000 (08:23 +0200)]
Fixed bug inverting compression precision.

In the TNG library the compression precision was modified to
suit GROMACS compression precision better (i.e. indicating
the multiplier applied to the compressed value). There was no
change in GROMACS to reflect this, meaning that compressed TNG
would have 0 coordinates for almost all atoms. That is fixed
in this commit.

Change-Id: Id906c710deb68d172a38acec34892aa4823c039d

10 years agoFix whitespace
Roland Schulz [Wed, 16 Apr 2014 06:45:52 +0000 (02:45 -0400)]
Fix whitespace

Change-Id: Ib5cba2818ae0ae5cbf40634fc85a20ca196e70d9

10 years agoFix and simplify version matching for running tests
Mark Abraham [Fri, 11 Apr 2014 12:11:00 +0000 (14:11 +0200)]
Fix and simplify version matching for running tests

The version strings that might need bumping for releases and branch
forks are now all maintained in one place, and are always
defined. Correct behaviour follows from whether the "-dev" tag is
present in PROJECT_VERSION.

When this patch is merged with master branch, preserve the bump
to PROJECT_VERSION that is already in master branch, and change
release-5-0 to master branch for REGRESSIONTEST_BRANCH.

Change-Id: I4a5579f00e487273f8e08bad5613ecceac7bf682

10 years agoImprove language choice
Roland Schulz [Mon, 14 Apr 2014 16:47:02 +0000 (12:47 -0400)]
Improve language choice

Fixes #1480

Change-Id: I45d26cd329c8c358852dc759270ffbac54728d27

10 years agoMerge branch 'release-4-6' into release-5-0
Mark Abraham [Thu, 10 Apr 2014 16:40:29 +0000 (18:40 +0200)]
Merge branch 'release-4-6' into release-5-0

Change-Id: Icd1eafab98512328523a3ea788626b3fb415b0a8

10 years agoFurther fix to gmx tune-pme
Mark Abraham [Sun, 6 Apr 2014 15:04:14 +0000 (17:04 +0200)]
Further fix to gmx tune-pme

We need to ignore the column of total time, before reading the total
number of gigacycles. This was also broken before the recent patch to
this line that removed a spurious read of a %d for the number of
ranks.

Change-Id: I1ce7f378069c319e03fe9c0691193bd09a8a209f

10 years agoFixed g_rmsdist NOE calculation
Carlo Camilloni [Wed, 9 Apr 2014 22:38:08 +0000 (23:38 +0100)]
Fixed g_rmsdist NOE calculation

This fix solve a series of bugs in NOE calculations:
1) incorrect number of frames in the calculation of the average distance
2) wrong selection of equivalent atoms
3) -equiv was wrongly documented

Change-Id: Icc6bbed0e1ba65774ad470c3edbd7a6a96e63ee6

10 years agoFix invalid dereference in g_tune_pme
Mark Abraham [Sun, 6 Apr 2014 11:40:38 +0000 (13:40 +0200)]
Fix invalid dereference in g_tune_pme

Change-Id: If4c999e22799ab2087ff1a1d74d8e5b50ddddd57

10 years agoMake sure water optimization is disabled for esoteric interactions
Erik Lindahl [Wed, 19 Mar 2014 16:16:18 +0000 (17:16 +0100)]
Make sure water optimization is disabled for esoteric interactions

This fixes a bug where the generic NB kernel could be called with
a water-water neighborlist for a few special combinations where
no C kernels existed (e.g. switch/shifted plain-cutoff coulomb).
This would typically lead to virtually no nonbonded interactions
being calculated and the simulation crashing rapidly, so it is
unlikely to have affected any results silently, but was noticed
when testing interaction forms.

Change-Id: I634fc4ab78b54281c89333299975e25883dc1f2c

10 years agoVersion bump for 5.0-rc1
Mark Abraham [Mon, 7 Apr 2014 15:37:18 +0000 (17:37 +0200)]
Version bump for 5.0-rc1

Change-Id: I2e855832ce3d8301a63fe32ea8e5077ad7c082c6

10 years agoDoxygen documentation for version.h
Teemu Murtola [Tue, 1 Apr 2014 15:47:15 +0000 (18:47 +0300)]
Doxygen documentation for version.h

This allows removing one suppression from the new checker, and it is
anyways nice that the documentation can actually be linked from relevant
parts of earlier documentation.  Some of the mentions of 4.6 could
perhaps be removed as obsolete in the future, but left them there for
now.

It requires extra investigation how to make the Doxygen build pick the
file up with an out-of-source build (if at all possible).

Change-Id: I196e89d1193cb8034580aee7d0d0bd5196ac176d

10 years agoRemove ancient SGI-specific code
Teemu Murtola [Fri, 4 Apr 2014 17:29:19 +0000 (20:29 +0300)]
Remove ancient SGI-specific code

Change-Id: I32aa353faf8848690e1ae931e958d04aff10c121

10 years agoClean up gmx_fatal.*
Teemu Murtola [Fri, 4 Apr 2014 04:02:25 +0000 (07:02 +0300)]
Clean up gmx_fatal.*

- Remove unused functions and macros.
- Replace some one-use wonders with a direct call to gmx_fatal().
- Add basic Doxygen documentation.
- Clean up some (but not all) gmx_fatal.h includes, removing unnecessary
  ones and adding some transitively covered ones.  Didn't go through all
  the files, and didn't do this very carefully, so some are still left.
  but as long as vec.h includes gmx_fatal.h, it doesn't really matter...

Preparation for moving gmx_fatal.h away from legacyheaders/.

Change-Id: I96934ac6ce6bca1e4e8473bdee2b8fec036b0f76

10 years agoMove string-parsing code to where it can be reused
Mark Abraham [Mon, 31 Mar 2014 15:19:14 +0000 (17:19 +0200)]
Move string-parsing code to where it can be reused

Change-Id: Ie043e403828237ee3a58baaa1521df2ea58d2f6d

10 years agoAdd doc for spec. values of GMX_MAXBACKUP
Roland Schulz [Tue, 1 Apr 2014 13:51:02 +0000 (09:51 -0400)]
Add doc for spec. values of GMX_MAXBACKUP

Change-Id: Ibea096daa61e08e32f8dba05ba6afc5c7fbbb28c

10 years agoRemoved possibility of compiling with GSL.
David van der Spoel [Fri, 7 Feb 2014 09:45:37 +0000 (10:45 +0100)]
Removed possibility of compiling with GSL.

Cleanup up of programs that are not functioning well anyway
will be done in conjunction with a move to the new analysis
framework. Removed g_kinetics.

Refs #1472

Change-Id: Ic948e239fd77d8ae519a6462c1e25f908a5de014

10 years agoMove string2.* to utility/cstringutil.*
Teemu Murtola [Tue, 1 Apr 2014 04:04:59 +0000 (07:04 +0300)]
Move string2.* to utility/cstringutil.*

Another common header away from legacyheaders/.
Some associated #include cleanup.
This reintroduces some unwanted dependencies (like utility -> fileio),
but those need to be fixed separately.

Part of #1415.

Change-Id: Iffb2820019e2b41ef74bcabcd202364917e43d58

10 years agoFixes for g_tune_pme for 5.0
Mark Abraham [Mon, 31 Mar 2014 13:43:38 +0000 (15:43 +0200)]
Fixes for g_tune_pme for 5.0

Removed unused variable procs, particularly because mdrun
no longer writes such a quantity on the "Total" line of
the walltime reporting section.

Change-Id: Ib49afc25c7d5119da7e315fab45d33cb64629b63

10 years agoFix bug accumulating nrank_pp_intranode on PME ranks
Mark Abraham [Mon, 31 Mar 2014 14:28:36 +0000 (16:28 +0200)]
Fix bug accumulating nrank_pp_intranode on PME ranks

The old code led to cr->nrank_pp_intranode=zero on PME ranks, which
meant that a command line of mpirun -np 4 mdrun -npme 2 on a two-GPU
node would fail, because gmx_select_gpu_ids() runs on all ranks, and
it calls limit_num_gpus_used() which thinks 0 PP ranks and 2 GPUs is
silly. Adding -gpu_id 01 works, of course, but that takes a different
code path in gmx_select_gpu_ids().

Change-Id: Iecd43ef9b71e2cc0339e93724b6b1071f0a159f6

10 years agoAdded LJ-PME and LJ Pot-switch to PME load estimate
Berk Hess [Tue, 3 Dec 2013 08:54:35 +0000 (09:54 +0100)]
Added LJ-PME and LJ Pot-switch to PME load estimate

Change-Id: I7f032fffb0a26d40914740c1180c4137c0b95653

10 years agoRe-use gmx_greatest_common_divisor()
Mark Abraham [Mon, 31 Mar 2014 16:11:33 +0000 (18:11 +0200)]
Re-use gmx_greatest_common_divisor()

Change-Id: Iee3a7b3bc339639360eed3498769efe64dd7dbf8

10 years agoMove smalloc.h to utility/
Teemu Murtola [Mon, 31 Mar 2014 18:20:05 +0000 (21:20 +0300)]
Move smalloc.h to utility/

One common header away from legacyheaders/.
Mostly mechanical replacement for the include paths, but removed a few
instances where the header was included more than once.  Also, reordered
the headers a bit, mainly in C++ files.

Part of #1415.

Change-Id: Ic438d501ebf5eccc285655a9e8f2f625eb12f1d1

10 years agoRemove #include <...> for local files in gmx-view
Teemu Murtola [Mon, 31 Mar 2014 17:26:26 +0000 (20:26 +0300)]
Remove #include <...> for local files in gmx-view

There were only a few remaining, and those don't seem to be necessary
for the headers that were including them.

Change-Id: I99c6663edc0e608fe349206d9a9ecdd2d61faea2

10 years agoFixed compilation issue in fgrid.cpp due to int/enum
David van der Spoel [Mon, 31 Mar 2014 19:52:36 +0000 (21:52 +0200)]
Fixed compilation issue in fgrid.cpp due to int/enum

gcc 4.8 is somewhat more picky about enums, and this
patch fixes an issue where an enum variable was used
outside of the defined range.

Change-Id: Ibfd7720d1d3e575c45bc1d5dbd30daad6391400c

10 years agoRemove quote
Mark Abraham [Mon, 31 Mar 2014 14:04:14 +0000 (16:04 +0200)]
Remove quote

"No gentleman wears a beard" would be ridiculous, and so is
the quote removed here.

Change-Id: Iac8aec72776dfe0147db15c32e7170004b168cab

10 years agoAdded CMake support for Extrae.
Rossen Apostolov [Wed, 5 Mar 2014 16:12:05 +0000 (17:12 +0100)]
Added CMake support for Extrae.

Website of the project is http://www.bsc.es/computer-sciences/extrae

Change-Id: Ifc71637ae7fbe855f3879b19f0968e929a92daf0

10 years agoClean up smalloc.h
Teemu Murtola [Sun, 30 Mar 2014 04:05:34 +0000 (07:05 +0300)]
Clean up smalloc.h

- Remove unused maxavail() and memavail().
- Remove unused scalloc().
- Remove srealloc(), which was only used in gmx_bar.c, and even there
  incorrectly.
- Move scoped_ptr_sfree to a separate header (this also potentially
  postpones issues that boost causes in CUDA code, since this is the
  only part that currently was pulling boost into CUDA).
- Convert all documentation to Doxygen.
- Fix some system header dependencies that were previously covered
  transitively, and fix some stylistic issues in the touched files.

Preparation for moving smalloc.h from legacyheaders/.

Change-Id: I89d6445799d818ccdb2bd93b6592eff1ccc618a7

10 years agoFix documentation of swap/enums.h
Carsten Kutzner [Fri, 28 Mar 2014 14:23:35 +0000 (15:23 +0100)]
Fix documentation of swap/enums.h

Another issue picked up by the doxygen documentation checker.

Change-Id: Ieaad04e713bb045a018823d26983dea1d52b202f

10 years agoMove some math headers away from legacyheaders/
Teemu Murtola [Thu, 27 Mar 2014 04:12:48 +0000 (06:12 +0200)]
Move some math headers away from legacyheaders/

- Move nrjac.* to linearalgebra/
- Move do_fit.* to math/

Also some minor associated clean-up.

Change-Id: I11943d5c9a0150133ca0a0d9bc36aceb06fb8bca

10 years agoDisable shared libraries by default for mdrun-only
Roland Schulz [Thu, 6 Mar 2014 22:30:48 +0000 (17:30 -0500)]
Disable shared libraries by default for mdrun-only

Shared libraries don't have any advantage for mdrun-only
build.

Also, add warning that someone re-using a normal build tree for a
subsequent mdrun-only build may want to manage this aspect explicitly.

Documented all this behaviour in the install guide.

Change-Id: I65fad0df8e54003599544903276a2be0ac61bbc2

10 years agoRemove dependency on commandline/ from oenv.cpp
Teemu Murtola [Thu, 27 Mar 2014 04:22:49 +0000 (06:22 +0200)]
Remove dependency on commandline/ from oenv.cpp

This was unnecessary, and this simplifies the module dependency graph.
With some simple changes, oenv only needs to use
utility/programcontext.h.

Change-Id: I794b15cee88bf49379fd8c783672df5f57628c97

10 years agoClean up string2.h-related includes
Teemu Murtola [Sat, 29 Mar 2014 13:20:49 +0000 (15:20 +0200)]
Clean up string2.h-related includes

- Remove unused split().
- Remove string2.h includes from files that were not using any function
  from there.
- Remove unnecessary system headers from string2.h, and add them to
  files where they are needed.  Some transitive dependencies can be
  left, since some headers actually require string.h etc.
- Add/remove ctype.h such that exactly those files that use functions
  from it actually include it.

There can be a few files now that use ctype.h without including
string2.h, which may trigger warnings on Cygwin, but those can be fixed
if we get around to properly supporting and testing Cygwin.

Preparation for moving string2.h from legacyheaders/.

Change-Id: Id9c441d2159ac3f06e088d6d7e0f05ffadb450cb

10 years agoFree-energy support for LJ-PME
Christian Wennberg [Tue, 11 Mar 2014 14:44:45 +0000 (15:44 +0100)]
Free-energy support for LJ-PME

Free energy calculations is now supported together with
LJ-PME.

Change-Id: I8f30bbf565d06bb10a5b6be37a3680fbd5cef6af

10 years agoOptimize intermodule dependencies
Teemu Murtola [Wed, 26 Mar 2014 04:35:44 +0000 (06:35 +0200)]
Optimize intermodule dependencies

- Move genconf from gmxana to gmxpreprocess.  sortwater.* is used by
  genconf and grompp, so moving them to the same place allows moving
  these files as well, removing all dependencies between gmxana and
  gmxpreprocess.
- Move utility/path.* to fileio/.  This removes a cyclic dependency
  between utility and fileio modules.  Can be moved back if #950 gets
  resolved such that nothing in path.h no longer depends on futil.h.

Change-Id: Ia81173d4845143dc3cc94e0c200cab96c87308a5

10 years agoImprove version information handling
Teemu Murtola [Wed, 26 Mar 2014 19:44:26 +0000 (21:44 +0200)]
Improve version information handling

- Always use the same mechanism (a generated source file) to communicate
  the version information from the build system to the source, even when
  not using git to generate the info.  This allows removing several
  variables from config.h.
- Rename the generated file from gitversion.c to baseversion-gen.c to
  better reflect its new role.  Rename the header correspondingly.
- Add utility/baseversion.h to provide functions to access the version
  information, and use the new functions in a few places that were using
  copyrite.cpp only for GromacsVersion().  This removes some cyclic
  dependencies and warnings from the new Doxygen checker.
- Make checkpoint.c use the full version string in the checking instead
  of VERSION, which is now removed from config.h.  It is anyways
  checking also the build time, so it doesn't hurt even if the version
  string is more specific.

Change-Id: Ie85bab434a5e8c7e4e1a72b0af726ea4ea1f8d6f

10 years agoBetter include dependency graph generator
Teemu Murtola [Sat, 22 Mar 2014 20:16:51 +0000 (22:16 +0200)]
Better include dependency graph generator

Rewrite the include dependency graph generator to use the scripts used
for the doc-check target.  Most of the graph generation code is still
the same as in the old includedeps.py (except for some renaming and
other cleanup), but it now uses the data structures in gmxtree.py as
input instead of custom parsing.  Only real differences in the output
for now:
 - The module graph colors nodes based on the group they are documented
   in.  All modules that don't have explicit documentation are now
   marked as "legacy".
 - The file graphs don't use clusters for subdirectories, but instead
   only color tests differently.  Not sure which one is clearer; the
   answer may even depend on the module.

However, the new code is much cleaner and easier to extend than the old
one was, so improving the graphs further should be much easier now.

The generated graph is also laid out differently, but that may just be
by chance; because of existing cyclic dependencies, dot doesn't produce
stable layouts, and the layout can depend on the order of things in the
generated graph.  Since the internal data structures are now mainly
dicts, stuff is likely in a different order than what it used to be.

doxygen.md now also has a bit more documentation for the graphs.

Change-Id: I0530c8e4278890fdb5b5d874bda6fef3521a704e

10 years agoFix documentation issues for interactive MD module.
Carsten Kutzner [Fri, 28 Mar 2014 13:32:57 +0000 (14:32 +0100)]
Fix documentation issues for interactive MD module.

This patch fixes three warnings reported by Teemu's doxygen documentation
checker (gerrit.gromacs.org/#/c/3213/13). I additionally added a
\libinternal to the module_imd in imd.h to suppress an (empty) IMD module
from occurring in the user documentation.

Change-Id: I01324ec17692419274a605745716f25321d5d729

10 years agoNew VDW kernel flavour for LJ-PME and updated group kernels
Christian Wennberg [Fri, 13 Dec 2013 10:49:56 +0000 (11:49 +0100)]
New VDW kernel flavour for LJ-PME and updated group kernels

Group-scheme LJ-PME now calculates the same properties as Verlet-scheme

The previous group kernels implemented the non-bonded interactions
as described in J. Chem. Theory Comput., 2013, 9 (8), pp 3527–3537,
These are now updated to subtract the grid contribution in real
space, which corrects for any difference in the reciprocal-space
part from the use of approximate LJ parameters.

Group kernels + LJ-PME now supports modifiers

Added a new interaction type "LJEwald" which is used in the
group scheme for simulations with LJ-PME.

Change-Id: I4c9394381bf813082afe1fdbc168659de2412da6

10 years agoMove include dependency checks to doc-check
Teemu Murtola [Thu, 20 Mar 2014 18:21:32 +0000 (20:21 +0200)]
Move include dependency checks to doc-check

The new doc-check target now contains all the checks that were
previously in depcheck and doccheck.  Remove the old targets.

Update the documentation to describe the new checker.

Change-Id: I3cd6b916507a9d21318914dbf88a8431b2a12149

10 years agoBetter automated Doxygen documentation checker
Teemu Murtola [Mon, 3 Mar 2014 19:06:37 +0000 (21:06 +0200)]
Better automated Doxygen documentation checker

Add a completely rewritten checker to replace 'make doccheck'.
This is based on first generating and then parsing the Doxygen XML
output.  It is somewhat slower than the old approach, but more robust
(exact format of the comments no longer matters) and allows relatively
easily checking all the documentation.  As a side effect, the XML
extraction also makes Doxygen parse those comments that appear in
undocumented files, so that at least syntax errors in them can be
spotted from warnings (the checker can also check them otherwise, and
even warn about them getting ignored).

The new check can be run with 'make doc-check'.  Not all functionality
from the old checker is available; documentation of the new checks in
doxygen.md follows when that is done, as well as some additional cleanup
of the code.

Currently, the new checker produces some warnings, which are suppressed
using suppressions.txt.

Short-term, this could be used to check for most common issues like
missing brief descriptions.

Medium-term, we could implement our own logic for enforcing what needs
to be documented, and disable all Doxygen-provided warnings about
undocumented members (by turning HIDE_UNDOC_MEMBERS=ON).  This would
remove the need for most \cond directives.

Long-term, we could even consider generating some extra member listings
or such from the XML output, and/or use it to patch the HTML pages
generated by Doxygen such that they would be more useful for our uses.

Change-Id: I25262b28699e10547e2116a50d3a9d8d5aa966a6

10 years agoMisc. Doxygen fixes
Teemu Murtola [Tue, 25 Mar 2014 20:13:01 +0000 (22:13 +0200)]
Misc. Doxygen fixes

- Fix some issues in Doxygen-formatted comments that are currently
  ignored by Doxygen.  These were still causing warnings in XML
  extraction.
- Document pargs.h, and make one function from there static as it is no
  longer used outside the source file.
- Fix some other issues that the new Doxygen checker complains about.

Change-Id: I611ee3f9dbaf8a4406b4cba1f8b29aee5b5a4843

10 years agoMove thread_mpi to src/external/
Teemu Murtola [Tue, 25 Mar 2014 04:10:31 +0000 (06:10 +0200)]
Move thread_mpi to src/external/

Now that thread-MPI headers are no longer installed, the whole thing can
be easily moved to src/external/, which better resembles its status
until it is decided what we really want to do with it.  There, it is
excluded from checks that are done for other parts of the source, as
well as from Doxygen, removing the need to treat it specially in all
these cases.

This also removes a large number of headers from legacyheaders/ with a
relatively simple change, advancing this effort.

Related to #1411.

Change-Id: I64d202eb61dc2c61668ad5858d551add6578cb97

10 years agoFix use of inline in IMD
Mark Abraham [Wed, 26 Mar 2014 21:22:00 +0000 (22:22 +0100)]
Fix use of inline in IMD

Change-Id: I2390f7df2becb260d1a4f8c4ad74676c997e9437