alexxy/gromacs.git
10 years agoMerge "Merge release-5-0 into master"
Roland Schulz [Wed, 14 May 2014 16:25:27 +0000 (18:25 +0200)]
Merge "Merge release-5-0 into master"

10 years agoMerge release-5-0 into master
Roland Schulz [Sat, 10 May 2014 16:34:36 +0000 (12:34 -0400)]
Merge release-5-0 into master

Change-Id: Ib309c33a5923d50757122b789df9430aaa1ee98d

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 GCC 4.9 warnings
Roland Schulz [Fri, 9 May 2014 16:57:53 +0000 (12:57 -0400)]
Fix GCC 4.9 warnings

Change-Id: I277d0f03f67dfbb5ca5785adc7e8f31880202b41

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 agoFix GCC 4.8 warnings
Roland Schulz [Thu, 8 May 2014 02:40:31 +0000 (22:40 -0400)]
Fix GCC 4.8 warnings

Those warnings only present without OpenMP were not fixed prior.

Defines GMX_ATTRIBUTE_NORETURN for GCC and Clang. TODO is
left because it still doesn't define it for all compilers.

Change-Id: I7197e58f87c01de7d2deeba91a82026af74ba213

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 agoMove mtxio.* to fileio/
Teemu Murtola [Mon, 21 Apr 2014 04:11:00 +0000 (07:11 +0300)]
Move mtxio.* to fileio/

This removes some cyclic module-level dependencies, and is more in line
with the current layout, where all I/O code specific to some file
formats is in fileio/.  math/ in general probably also needs to be lower
in the dependency stack than fileio/, so it is not possible to keep the
code in the old place without introducing a cyclic dependency.

Change-Id: If0c0632a3d5b3cd4ffe82f38f743e9afdc7ffdff

10 years agoReduced usage of typdefs.h
Roland Schulz [Mon, 21 Apr 2014 00:57:32 +0000 (20:57 -0400)]
Reduced usage of typdefs.h

Preliminary step to move types out of legacyheader.

Renamed parameter called "matrix" because cppcheck gets
confused if a parameter is called the same as a type.

Part of #1415

Change-Id: I9207a7b8de7f092bab890da128abbb48a8d97b79

10 years agoMove rvec and friends to math/vectypes.h
Teemu Murtola [Sun, 20 Apr 2014 18:33:08 +0000 (21:33 +0300)]
Move rvec and friends to math/vectypes.h

Adjust a few more types/simple.h includes to use only its component
parts.  Now, math/ has only very few legacyheaders/ dependencies left.

Part of #1415

Change-Id: Iffeafa4fac5c5e0c744cf6deecac4eedaee2caf5

10 years agoMove 'real' definition to utility/real.h
Teemu Murtola [Fri, 18 Apr 2014 14:16:13 +0000 (17:16 +0300)]
Move 'real' definition to utility/real.h

- types/simple.h still includes the new header to avoid touching all
  code depending on this.
- Go through most files outside gmxlib and mdlib that included
  types/simple.h, and checked whether headers from utility/ could
  fulfill the needs.  Replaced at least in places where this helped
  fully remove legacyheaders/ dependencies.
- Some minor changes elsewhere to remove legacyheaders/ dependencies
  from modules.  Now linearalgebra/ and statistics/ don't depend on
  legacyheaders, improving the layout of the dependency graph
  significantly.

In the long run, this may be better outside utility/ to better
distinguish code that depends on 'real' from parts that do not.
Currently, it would create a lot of cyclic dependencies everywhere else.

Part of #1415.

Change-Id: I2aa1890357377d0d14c05b3968e1b36e1023458f

10 years agoFix cppcheck 1.64 warnings
Roland Schulz [Sat, 19 Apr 2014 08:51:39 +0000 (04:51 -0400)]
Fix cppcheck 1.64 warnings

Related to #1487

Change-Id: I223289d71e0dfc426f382d1bcb53b3509202779f

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 agoMove part of macros.h to grompp-impl.h
Roland Schulz [Sun, 20 Apr 2014 17:56:55 +0000 (13:56 -0400)]
Move part of macros.h to grompp-impl.h

Part of #1415.

Change-Id: I360ae1f220b6c51e90edbbe136053fd2e1c0ad5b

10 years agoMove sfactor.[hc] to gmxana
Alexey Shvetsov [Wed, 16 Apr 2014 04:26:17 +0000 (08:26 +0400)]
Move sfactor.[hc] to gmxana

Move it here since its only used by g_saxs

Change-Id: I2ff7761da30eabb569e55362cdc55d683b296d8e
Signed-off-by: Alexey Shvetsov <alexxy@omrb.pnpi.spb.ru>
10 years agoMove vec.h to math/
Teemu Murtola [Wed, 16 Apr 2014 03:49:35 +0000 (06:49 +0300)]
Move vec.h to math/

Most of the changes are scripted replacement of include paths.
Exceptions:
- #includes in the moved file were cleaned up slightly, and include
  guards adjusted.
- Places where it was included as "gromacs/legacyheaders/vec.h" were
  handled manually and the include order adjusted.
- Removal of unnecessary #include "vec.h" from update.h revealed some
  transitive dependencies that were fixed.  Some associated include
  order cleanup in these files.
- Removed some duplicate includes.
- Remove dependency from linearalgebra/matrix.c to vec.h (only needed
  for a single sqr()) to avoid a cyclic math <-> linearalgebra
  dependency.

Part of #1415.

Change-Id: I7ece6eafa22139215510148807c5979f8950a885

10 years agoMerge "Merge release-5-0 into master"
Mark Abraham [Thu, 17 Apr 2014 08:58:32 +0000 (10:58 +0200)]
Merge "Merge release-5-0 into master"

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 agoMerge release-5-0 into master
Roland Schulz [Wed, 16 Apr 2014 15:07:10 +0000 (11:07 -0400)]
Merge release-5-0 into master

Conflicts:
CMakeLists.txt

Change-Id: Id9bdc4de634a67c4060bec0e5edf4c358cc6a228

10 years agoRemove unused minvert.h
Teemu Murtola [Mon, 14 Apr 2014 18:15:50 +0000 (21:15 +0300)]
Remove unused minvert.h

This wasn't included from anywhere either (except one file in contrib/),
and none of the declared functions had implementation.

Change-Id: I8133c278303f651c9a324fd5ec60133e00c90cd8

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 agoFix typo in fatalerror.h
Teemu Murtola [Wed, 16 Apr 2014 04:04:57 +0000 (07:04 +0300)]
Fix typo in fatalerror.h

This was causing a warning from the Doxygen checker (doc-check).

Change-Id: I2a482856fd7b88db0d8e669bdb815f52db79e4f0

10 years agoMove xvgr.* to fileio/
Teemu Murtola [Tue, 15 Apr 2014 04:07:31 +0000 (07:07 +0300)]
Move xvgr.* to fileio/

Part of #1415

Change-Id: Ib3d78bce62a4c03c4d72001164921edd556657a2

10 years agoClean up xvgr.h and viewit.h usage
Teemu Murtola [Tue, 15 Apr 2014 03:59:39 +0000 (06:59 +0300)]
Clean up xvgr.h and viewit.h usage

- Remove unnecessary includes of these files.
- Include viewit.h in files that were covered transitively through
  xvgr.h, and remove the include from there.
- Remove other unnecessary includes in these headers.
- Make can_view() static in viewit.c, since it wasn't even declared in
  the header.

Change-Id: I7b6b3724a5b7fd40be46eb8fbcb9d9aeaccf9cc8

10 years agoRemove sysstuff.h
Teemu Murtola [Sun, 13 Apr 2014 09:39:57 +0000 (12:39 +0300)]
Remove sysstuff.h

Replace this with those standard headers that are actually necessary for
the source files.  There are likely several transitively covered header
dependencies now, but those can be resolved when they give problems.
One more header off from legacyheaders/.

Part of #1415.

Change-Id: I4cc3f0eec0f546dad929512e532d8efb11da3694

10 years agoRemove sysstuff.h includes from headers
Teemu Murtola [Sun, 13 Apr 2014 07:05:14 +0000 (10:05 +0300)]
Remove sysstuff.h includes from headers

Remove #include "sysstuff.h" from all headers, and replace it with
standard headers where necessary.  Add necessary standard headers to
source files that previously got them transitively from one of these.

Use snew() in gmx_spatial.c instead of a custom implementation.
Replace some free() with sfree().

Part of getting rid of sysstuff.h.

Change-Id: I857ba69c004aea16195e629c5bf69df32724b3fc

10 years agoRefactor gmx_fatal()
Teemu Murtola [Sun, 13 Apr 2014 05:29:48 +0000 (08:29 +0300)]
Refactor gmx_fatal()

- Remove t_commrec and legacyheaders/ dependencies from
  utility/fatalerror.cpp by splitting gmx_fatal_collective() into a
  low-level helper (in fatalerror.cpp) and a high-level routine that
  knows t_commrec (in network.c).
- Move the declaration of gmx_fatal_collective to network.h to get rid
  of one more header in legacyheaders/.
- Refactor fatalerror.cpp such that the error handler is no longer
  responsible of terminating the program.  Split functionality into
  helper functions that can be called as appropriate, and remove a lot
  of duplication.
- Clean up gmx_abort() and code that calls it.
- Remove interactive prompt from the error handler exit path.

Change-Id: Ia0ab2e415a18bf6ed17bebd1fd8870946d16793e

10 years agoBeer + table soccer = quote!
Mark Abraham [Thu, 10 Apr 2014 22:14:11 +0000 (00:14 +0200)]
Beer + table soccer = quote!

Change-Id: I3323f5b7ae7c65013dc8c0270232f02da8a42bd5

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 agoRemove unused shift.h
Teemu Murtola [Sun, 13 Apr 2014 14:19:26 +0000 (17:19 +0300)]
Remove unused shift.h

Wasn't included from anywhere, and the one declared function isn't
implemented anywhere.

Change-Id: Ib7548bdfe4f02e34a5c4c62b370c4a7071c3653a

10 years agoRemove utility -> fileio dependencies
Teemu Murtola [Mon, 7 Apr 2014 04:09:55 +0000 (07:09 +0300)]
Remove utility -> fileio dependencies

- Move futil.* to utility/.  It is somewhat difficult to keep low-level
  utilities independent of any file utility functions.  Now fileio/
  mainly contains I/O routines that need to know something about the
  file formats supported by Gromacs, and lower-level stuff is in
  utility/.
- Move path.* back to utility/, with the same rationale as above.
- Don't use gmxfio for the debug file.  It doesn't provide any benefit
  for this use, but introduces a cyclic dependency that is very hard to
  break otherwise.  There are some extra conditionals in gmxfio that
  could possibly be removed because of this, but left them there for
  now, since they require additional analysis.

Now, the only dependency from utility/ to other subdirectories is
because of gmx_fatal_collective().

Change-Id: Ib5b8e71088f1fa69909179b35f9600e22ef9ad8d

10 years agoClean up futil.*
Teemu Murtola [Thu, 10 Apr 2014 03:39:23 +0000 (06:39 +0300)]
Clean up futil.*

- Make is_pipe() static, since it is not used outside futil.cpp.
- Move gmx_fexist_master() to network.* to remove t_commrec dependency
  from futil.
- Remove unnecessary #define for a system-provided symbol rewind().
- Remove unused gmx_truncatefile().
- Move STRLEN to utility/cstringutil.h, since types/simple.h is no
  longer transitively included by futil.h.  This avoids reintroducing an
  utility/ -> types/simple.h dependency.  Include cstringutil.h in
  source files that were depending on STRLEN.
- Add some Doxygen documentation for all the functions.

Preparation for moving these to utility/ to resolve fileio-utility
cyclic dependency.

Change-Id: I26ed7e46c512ee41621e2a2c241692c1bb28530d

10 years agoFixed typo in manual README.
Justin Lemkul [Thu, 10 Apr 2014 17:57:22 +0000 (13:57 -0400)]
Fixed typo in manual README.

Fixes #1478

Change-Id: I0dc1cbcac90b4d40a805bfeaf38a90e478801ae0

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 agoClean up and fix issues in doc-check scripts
Teemu Murtola [Thu, 3 Apr 2014 03:16:52 +0000 (06:16 +0300)]
Clean up and fix issues in doc-check scripts

- Some 'documentation' -> 'doc' replacements in method names to make
  lines shorter and to make method names more consistent.
- Make the checker work for members of anonymous namespaces.
- To achieve the above, add minimal modeling of namespaces and members
  to gmxtree.py, and model the parent compounds of members better in
  doxygenxml.py.
- Make the checker check also documentation that is ignored by Doxygen.
  This is now possible when anonymouns namespaces work.
  --check-ignored now only controls whether the ignored comments provoke
  a note or not.  This is not enabled currently, because it produces
  quite a lot of noise.
- Fix documentation issues in those ignored Doxygen comments (all the
  source code changes).
- Encapsulate some logic in gmxtree.py related to how the API type is
  handled in the case of legacy (undocumented) modules.  This simplifies
  the graph generation logic, and replaces a lot of the "legacy" edges
  with more descriptive edges: installed headers in legacy modules are
  now treated as public API headers.
- Add a basic legend to the module graph.

Change-Id: Ia4e83468548b361f37bdb8d35862e636d7abddd6

10 years agoMove part of types/simple.h to utility/
Teemu Murtola [Sun, 6 Apr 2014 18:55:25 +0000 (21:55 +0300)]
Move part of types/simple.h to utility/

- Move those parts of types/simple.h that are wrapping C99 features and
  some compiler-specific attributes (gmx_unused) into
  utility/basedefinitions.h.
- Replace some uses of types/simple.h with the new header, removing a
  few module-level dependencies on legacyheaders/
- For now, types/simple.h includes the new header to avoid touching a
  lot of code.
- Remove unused BIG_STRLEN from types/simple.h.
- Move XXXX etc. into calcvir.c, which is the only place where they are
  used.

Change-Id: Idad2aff77048cc1487945e90c8b50ff8bd7010d4

10 years agoRe-use gmx_within_tol from math/utilities instead of is_equal
Carsten Kutzner [Mon, 7 Apr 2014 11:55:15 +0000 (13:55 +0200)]
Re-use gmx_within_tol from math/utilities instead of is_equal

Change-Id: I097bc4901c2f0123cdcb101c9d2f75f1485fb771

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 agoRemove utility/ dependencies on network.h and main.h
Teemu Murtola [Sun, 6 Apr 2014 04:03:45 +0000 (07:03 +0300)]
Remove utility/ dependencies on network.h and main.h

- Move basic functions that do not depend on t_commrec from network.*
  to utility/basenetwork.h.  This allows removing network.h dependencies
  from utility/, as well as from other new C++ code.
- Simplify gmx_abort() somewhat.  It is only called with real MPI, so
  remove other code paths, and make it a linker error if it is called
  under other circumstances.
- Move gmx_gethostname() from main.* to basenetwork.*.
- While at it, remove unnecessary includes for main.h, now that it only
  contains a few functions.

Change-Id: I048e48ba81b5e764e8342ee07a05201da5fbade2

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 agoFixed MG typo in residuetypes.dat
Justin Lemkul [Wed, 9 Apr 2014 16:47:10 +0000 (12:47 -0400)]
Fixed MG typo in residuetypes.dat

Corrected "MK" typo to "MG" so that magnesium is recognized.

Change-Id: Ia4e76028e40ffd849eb0155ce5bac2996472cef6

10 years agoRemove some utility -> legacyheaders dependencies
Teemu Murtola [Sat, 5 Apr 2014 17:59:21 +0000 (20:59 +0300)]
Remove some utility -> legacyheaders dependencies

- Use methods in programcontext.h and baseversion.h instead of
  copyrite.h within utility/.
- Replace one use of asize() with an alternative implementation that
  doesn't require an explicit array size.
- Don't pass the whole hw_opt structure to the OpenMP thread affinity
  check, when only a single field is ever accessed.
- Don't call md_print_warn() from gmx_omp_check_thread_affinity(), but
  provide the message to the caller so that they can print it.

For the last two, the rationale is that if this function needs to be in
a generic OpenMP wrapper (which makes sense, since it requires in-depth
information about the actual OpenMP library), then it shouldn't depend
on any mdrun-specific code.

Change-Id: Icc8f4026e4a2ce8e5d533a5bb88e5f3dddcc9a4a

10 years agoVersion bump for post-5.0 development
Teemu Murtola [Tue, 8 Apr 2014 15:56:29 +0000 (18:56 +0300)]
Version bump for post-5.0 development

Change-Id: I6be353c112669216c39da441d58d1d10976b3b63

10 years agoMove gmx_fatal.* to utility/fatalerror.*
Teemu Murtola [Sat, 5 Apr 2014 03:16:57 +0000 (06:16 +0300)]
Move gmx_fatal.* to utility/fatalerror.*

One more included-by-all header to utility/.
Mainly mechanical replacement of include paths, some reordering in C++
files.  Minor clean-up in the moved files.
gmx_fatal_collective.h not moved at this point, as it is unclear whether
it should go here, or somewhere else (utility/ should not depend on
t_commrec...).

Now, it's mainly types/simple.h that prevents removing some module-level
dependencies to legacyheaders/.  Finding a good location for that (or
its contents, if it needs to be split), and reorganizing the code a bit
more should now allow really putting utility/ at the bottom of the
dependency stack where it belongs.

Part of #1415.

Change-Id: I6e487566d5bd7c9ec7a1455a2d31bd6d645bada3

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

10 years agoAdd Cray compiler support
Daniel Landau [Mon, 24 Mar 2014 16:01:22 +0000 (11:01 -0500)]
Add Cray compiler support

 * Add support for SIMD intstructions with the Cray compiler with
   -hgnu. This is a general GNU compatibility mode so there
   also has to be a guard in the atomics section in threadMPI.
 * Add support for atomics with the Cray compiler.
 * Add Cray compiler support for cycle counting.
 * OpenMP detection for the Cray compiler in CMake before
   version 3.0 is broken, so refuse to proceed with that
   combination.

Change-Id: I1209f3a61ed1d4d49e56dacbb315235088c5eea6

10 years agoDocumentation house-keeping in file swapcoords.c
Carsten Kutzner [Tue, 25 Mar 2014 16:56:36 +0000 (17:56 +0100)]
Documentation house-keeping in file swapcoords.c

Modified Doxygen documentation of functions such that they now have
\brief descriptions. This way, Teemu's automated Doxygen documentation
checker won't complain about many missing brief descriptions in that
file. I am not making this patch dependent on the documentation
checker (gerrit issue #3213) because the brief descriptions should be
there anyway.

Change-Id: I4fc2c9de17b5ce8e9abdcd8fc51d002a245fbf2a

10 years agoInteractive Molecular Dynamics (IMD)
Martin Hoefling [Thu, 7 Jun 2012 11:07:21 +0000 (13:07 +0200)]
Interactive Molecular Dynamics (IMD)

IMD allows to interact with and to monitor a running molecular dynamics
simulation. The protocol goes back to 2001 ("A system for interactive
molecular dynamics simulation", JE Stone, J Gullingsrud, K Schulten,
P Grayson, in: ACM symposium on interactive 3D graphics, Ed. JF Hughes
and CH Sequin, pp. 191--194, ACM SIGGRAPH). The user can watch the
running simulation (e.g. using VMD) and optionally interact with
it by pulling atoms or residues with a mouse or a force-feedback
device.
Communitcation between GROMACS and VMD is achieved via TCP sockets
and thus enables controlling an mdrun locally or one running on a
remote cluster. Every N steps, mdrun receives the applied forces from
the VMD client and sends the new positions to VMD.
Other features:
- correct PBC treatment, molecules of a (parallel) simulation are made
  whole (with respect to the configuration found in the .tpr file)
- in the .mdp file, one can define an IMD group (including the protein
  but not the water for example is useful). Only the coordinates of
  atoms belonging to this group are then transferred between mdrun and
  VMD. This can be used to reduce the performance impact to an almost
  negligible level.
- adds only two single-line function calls in the main MD loop
- and mdrun test fixture checks whether grompp and mdrun understand
  the IMD options

Change-Id: I235e07e204f2fb77f05c2f06a14b37efca5e70ea

10 years agoAdds cut-off checks for triclinic domain decomposition
Berk Hess [Mon, 24 Mar 2014 14:33:52 +0000 (15:33 +0100)]
Adds cut-off checks for triclinic domain decomposition

With domain decomposition and 2 decomposition cells in a trilinic
dimension, the cut-off could be longer than the size of the
communicated domains. This could lead to some pairs close to cut-off
distance to be ignored in the force/energy calculations.
Fixes #1467

Change-Id: Id7e16d7f8fa0796d6adcf48ad6e8bbb0b88039ff

10 years agoRemove gmxpreprocess from include path
Teemu Murtola [Mon, 24 Mar 2014 15:44:30 +0000 (17:44 +0200)]
Remove gmxpreprocess from include path

One step closer to the final goal of only having src/ there.
This wasn't even necessary except for a few rare cases.
Also cleaned up the cppcheck rules slightly.

Change-Id: Ifc65fbb48699d0e4bb5c55b90a2c41b0255d353d

10 years agoKeep CMake quiet about non-detection of optional stuff
Mark Abraham [Sat, 22 Mar 2014 17:21:15 +0000 (18:21 +0100)]
Keep CMake quiet about non-detection of optional stuff

Repeated calls to cmake would otherwise warn every time that these
optional things were not detected. That lack is only rarely a problem
that needs solving, so they should not be emitting status messages all
the time.

Change-Id: Iad6f0bdf72ba7848bcc819db6937b70b37900148