alexxy/gromacs.git
11 years agoadded Verlet scheme and NxN non-bonded functionality
Szilard Pall [Tue, 2 Oct 2012 10:27:00 +0000 (12:27 +0200)]
added Verlet scheme and NxN non-bonded functionality

This commit implements a new "Verlet" cutoff scheme which uses
a exact cut-offs and standard Verlet lists with an automatically
calculated buffer.

The Verlet code-path supports full multi-level heterogeneous
parallelization using MPI/thread-MPI, OpenMP multi-threading,
and GPU acceleration for the non-bonded calculations.

The non-bonded calculations with the Verlet scheme support highly
optimized CPU SIMD acceleration using SSE/AVX and GPU acceleration using
NVIDIA CUDA. The CPU kernels have been tested on and optimized for most
x86 architectures including recent ones like Intel Sandy/Ivy-Bridge and
AMD Bulldozer. The CUDA GPU kernels support hardware of compute
capability 2.0 and above and are optimized for both Fermi and Kepler
architectures.

The new search code has been added in nbnxn_search.c, new non-bonded
kernels in nbnxn_kernels and nbnxn_cuda:
- plain-C kernels: reference CPU implementation and reference GPU
  (emulation)
- x86 128- and 256-bit SIMD kernels (SSE2, SSE4.1, AVX_128, AVX_256
  intrinsics)
- CUDA (two versions: for recent and legacy toolkit/drivers)

This commit also implements some additional optimizations targeting
performance:
- SSE acceleration for dihedrals;
- automated PP/PME load balancing called "PME tuning" which optimizes
  the electrostatics cut-off to improve load balance between CPU and GPU
  or separate PP and PME processes;
- hardware detection and automated run-configuration selection.

Change-Id: I3e1a15331c174265ec086565b978ffd079df2aaa

11 years agoMerge release-4-5-patches into release-4-6
Roland Schulz [Mon, 1 Oct 2012 13:20:00 +0000 (09:20 -0400)]
Merge release-4-5-patches into release-4-6

Conflicts:
src/gmxlib/confio.c
src/gmxlib/copyrite.c
src/gmxlib/statutil.c
src/kernel/readir.c
src/kernel/repl_ex.c
src/kernel/runner.c

Change-Id: I3828c50f8166a6095ee64672cfd4380d3e4c86f6

11 years agoFix problems found by cppcheck 1.56
Roland Schulz [Sun, 30 Sep 2012 19:57:59 +0000 (15:57 -0400)]
Fix problems found by cppcheck 1.56

Doesn't fix all problems. New suppressions in Jenkins for 4.6
(so that I can upgrade without having to fix all):

  --suppress=uninitvar:src/gmxlib/md5.c --suppress=nullPointer:src/mdlib/mdebin_bar.c --suppress=nullPointer:src/gmxlib/oenv.c --suppress=nullPointer:src/gmxlib/selection/selhelp.c \
  --suppress=memleak:src/tools/levenmar.c --suppress=selfAssignment:src/gmxlib/nonbonded/nb_kernel_bluegene/* \
  --suppress=invalidPointerCast:src/gmxlib/checkpoint.c --suppress=invalidPointerCast:src/gmxlib/nonbonded/nb_kernel_sse2_single/* --suppress=invalidPointerCast:src/mdlib/fftpack.c \
  --suppress=obsoleteFunctionsusleep:*.c --suppress=obsoleteFunctionsctime_r:*.c --suppress=invalidPrintfArgType_sint:*.c invalidPrintfArgType_uint:*.c

The remaining nullPointer are false positives as far as I know.
Problems found in 4.6 (haven't run cppcheck on 4.5) but
applied to 4.5 because it is also affected.

Change-Id: I5c0b4bce52a0c9ff6ef4ba51721cdf5baff42814

11 years agoMerge "Fixed an off-by-one error in atom counting in gmx_dist." into release-4-5...
Christoph Junghans [Thu, 27 Sep 2012 20:13:40 +0000 (22:13 +0200)]
Merge "Fixed an off-by-one error in atom counting in gmx_dist." into release-4-5-patches

11 years agoMerge "Fix insolidangle selections near poles." into release-4-5-patches
Teemu Murtola [Thu, 27 Sep 2012 17:56:52 +0000 (19:56 +0200)]
Merge "Fix insolidangle selections near poles." into release-4-5-patches

11 years agoFixed an off-by-one error in atom counting in gmx_dist.
Sander Pronk [Wed, 26 Sep 2012 18:12:48 +0000 (20:12 +0200)]
Fixed an off-by-one error in atom counting in gmx_dist.

Replaced atom number in gmx_rmpbc with total number, so it can
accomodate distances between parts of molecules.

Change-Id: I6279c6ae6d61fd761c4d8d37a01c7d856742e6b8

11 years agoMerge "Fix REMD use of gmx_large_int_t for #steps variable" into release-4-5-patches
Christoph Junghans [Tue, 25 Sep 2012 01:45:03 +0000 (03:45 +0200)]
Merge "Fix REMD use of gmx_large_int_t for #steps variable" into release-4-5-patches

11 years agoAdd pdbname selection keyword.
Teemu Murtola [Mon, 24 Sep 2012 04:48:01 +0000 (07:48 +0300)]
Add pdbname selection keyword.

As a supporting change, remove trailing space from t_pdbinfo.atomnm, as
the trailing whitespace does not seem to be used anywhere.
This makes it possible to use it easily in the selection code.

Fixes #1007; fix backported from Iac36bda8.

Also includes changes from 8bddac3 to make the backport easier.

Change-Id: Iac36bda8a84d0a6c131445e7f47ad91d7209fb10

11 years agoMerge "Fixed segfault with FE code for older tpr files." into release-4-6
Kasson [Mon, 24 Sep 2012 04:55:31 +0000 (06:55 +0200)]
Merge "Fixed segfault with FE code for older tpr files." into release-4-6

11 years agoFix REMD use of gmx_large_int_t for #steps variable
Mark Abraham [Mon, 24 Sep 2012 02:06:37 +0000 (12:06 +1000)]
Fix REMD use of gmx_large_int_t for #steps variable

Change-Id: I0a72a8b838de4d018c2715f9d620a86134969206

11 years agoFixes for numeric and position selection variables.
Teemu Murtola [Tue, 18 Sep 2012 05:11:47 +0000 (08:11 +0300)]
Fixes for numeric and position selection variables.

Fixed handling of numeric and position selection variables in cases
where they were referenced multiple times.

Backported from Ifbb585ca.

Fixes #1006.

Change-Id: Ieaa479b4b870e044dc269339be57f6b33533c46e

11 years agoMade construction of parallel filenames less noisy
Mark Abraham [Mon, 17 Sep 2012 13:45:35 +0000 (23:45 +1000)]
Made construction of parallel filenames less noisy

Berk introduced this in 6b4a52fc, but it is not essential to the
function there, is not very useful for the user, and spams the stdout
with every possible filename for every simulation in (say) a
multi-simulation.

Change-Id: Ifd017c3907f6a46a4f86ac9bc06c5983a5dea946

11 years agoFix insolidangle selections near poles.
Teemu Murtola [Fri, 14 Sep 2012 17:28:29 +0000 (20:28 +0300)]
Fix insolidangle selections near poles.

- Correctly treat cases where a point is so close the one of the poles
  that it completely covers one or more bins in the zenith angle
  direction.
- Adjust update_surface_bin() to be more robust to rounding errors and
  easier to understand by simplifying the code used for wrapping angles
  to [-pi, pi] interval.  Problems were triggered here by the first
  change.
- Update comments.

Fixes #1004.

Change-Id: I2707f775793fabb64ea197bdae5fbfe68d6a8933

11 years agoMerge "Fix some memory leaks." into release-4-5-patches
Kasson [Sat, 15 Sep 2012 15:04:38 +0000 (17:04 +0200)]
Merge "Fix some memory leaks." into release-4-5-patches

11 years agoMerge "Adapted NMR related data to new pdb format." into release-4-5-patches
David van der Spoel [Sat, 15 Sep 2012 12:52:22 +0000 (14:52 +0200)]
Merge "Adapted NMR related data to new pdb format." into release-4-5-patches

11 years agoMerge "fixed recent bug with grompp check for P-R P-coupling" into release-4-5-patches
Christoph Junghans [Fri, 14 Sep 2012 15:47:05 +0000 (17:47 +0200)]
Merge "fixed recent bug with grompp check for P-R P-coupling" into release-4-5-patches

11 years agofixed recent bug with grompp check for P-R P-coupling
Berk Hess [Thu, 13 Sep 2012 16:34:12 +0000 (18:34 +0200)]
fixed recent bug with grompp check for P-R P-coupling

Fix for recent commit 57dac834

Change-Id: I5bc631d6db848c8702a65c42ae27f096804abbf7

11 years agoBackport of md-vv rerun check from c7a82654f2eb8992
Roland Schulz [Thu, 13 Sep 2012 16:41:47 +0000 (12:41 -0400)]
Backport of md-vv rerun check from c7a82654f2eb8992

Rerun in parallel with md-vv is broken. The check was added
in c7a82654f2eb8992 but also affects 4.5.

Fixes #1003

Change-Id: Ie0e200a8328b2baecd2eba9eea1453c65a668633

11 years agoFixed a deadlock in tMPI_Comm_free()
Sander Pronk [Thu, 13 Sep 2012 09:26:09 +0000 (11:26 +0200)]
Fixed a deadlock in tMPI_Comm_free()

Fixes a deadlock on overcommitted systems while calling tMPI_Comm_free(),
as first noticed by Roland.

Brings tMPI_Barrier()'s use of atomic variables and memory barriers
in line with the rest of the thread_mpi code.

Change-Id: I86613cdf3c657e907f1168feb544e534889d0557

11 years agoFix some memory leaks.
Teemu Murtola [Thu, 13 Sep 2012 04:20:42 +0000 (07:20 +0300)]
Fix some memory leaks.

Fixes part of #1004.

Change-Id: I22280999c5c3c40e8efae45461bd53bae8e2ff40

11 years agoSet valid build information if gmx_detectcpu fails
Roland Schulz [Wed, 5 Sep 2012 10:57:56 +0000 (06:57 -0400)]
Set valid build information if gmx_detectcpu fails

If gmx_detectcpu failed the error message was written
into the build info which could cause a compiler error.

Change-Id: Id7e367595c14270dc8fa91daa97ce13a4c686057

11 years agoMerge "Don't fail linking if man page building fails" into release-4-6
Mark Abraham [Wed, 12 Sep 2012 00:17:28 +0000 (02:17 +0200)]
Merge "Don't fail linking if man page building fails" into release-4-6

11 years agoupdated references
Christoph Junghans [Mon, 10 Sep 2012 23:07:21 +0000 (17:07 -0600)]
updated references

Change-Id: I74a53433b31c0d50524e0edb5865a8ef9fca1956

11 years agoMerge "Update use of CPack components and add install targets" into release-4-6
Roland Schulz [Mon, 10 Sep 2012 13:01:01 +0000 (15:01 +0200)]
Merge "Update use of CPack components and add install targets" into release-4-6

11 years agoCorrected REMD citation
Mark Abraham [Mon, 10 Sep 2012 09:52:22 +0000 (19:52 +1000)]
Corrected REMD citation

The Fukushima paper relates exclusively to MC and spin glasses.

Change-Id: I58c4eafbe41b0cbd1f3e4afac6f34458ed27eea2

11 years agoMerge "Fix VMD plugins on Windows" into release-4-6
Christoph Junghans [Fri, 7 Sep 2012 19:29:06 +0000 (21:29 +0200)]
Merge "Fix VMD plugins on Windows" into release-4-6

11 years agoMerge "Check that gmx_detectcpu runs correctly" into release-4-6
Christoph Junghans [Fri, 7 Sep 2012 19:28:31 +0000 (21:28 +0200)]
Merge "Check that gmx_detectcpu runs correctly" into release-4-6

11 years agoAdapted NMR related data to new pdb format.
David van der Spoel [Fri, 7 Sep 2012 19:13:22 +0000 (21:13 +0200)]
Adapted NMR related data to new pdb format.

Since gromacs had adopted the pdb output format to
some standard, the script to convert xplor files
with NMR restratints, such as can be downloaded from
the pdb do not work anymore. The script and accompanying
table have been updated to work with the new pdb format
and simultaneously the extra argument for a residue offset
has been removed. Now the script can be run like
xplor2gmx.pl conf.pdb < restraints.md > disre.itp

Change-Id: I7c3c8bd49b002e2bf0760f4226c913aa36d64611

11 years agoFix illegal call to MPI without being initialized
Roland Schulz [Thu, 6 Sep 2012 19:42:04 +0000 (15:42 -0400)]
Fix illegal call to MPI without being initialized

Introduced by babdd87ca126

Change-Id: I428ef8ce706cc3a23fc980fa54c3e26e7a6d68b2

11 years agoMerge "Fixed .g96 trajectory reading." into release-4-5-patches
Roland Schulz [Thu, 6 Sep 2012 17:04:48 +0000 (19:04 +0200)]
Merge "Fixed .g96 trajectory reading." into release-4-5-patches

11 years agoDon't fail linking if man page building fails
Roland Schulz [Wed, 5 Sep 2012 14:01:26 +0000 (10:01 -0400)]
Don't fail linking if man page building fails

If building of man page fails because binary cannot be
executed (e.g. undetected cross-compile) then fail
silently. A warning is printed when installing.
Only affects deverloper version (not source from cpack).

Change-Id: I9201d44a103602bb26a29b03d14ce08a0089540a

11 years agoCheck that gmx_detectcpu runs correctly
Roland Schulz [Wed, 5 Sep 2012 10:04:00 +0000 (06:04 -0400)]
Check that gmx_detectcpu runs correctly

If it doesn't run correctly set acceleration to None and
print warning. Same as check whether it compiled, which already
existed.

Change-Id: I59a2d531c41f931d162725540d5483b39aa7a3df

11 years agoFixed an undefined return value in tMPI_Scan()
Sander Pronk [Wed, 5 Sep 2012 09:36:23 +0000 (11:36 +0200)]
Fixed an undefined return value in tMPI_Scan()

As caught by Szilárd, the tMPI_Scan() return value was undefined
for rank==0. Also removed an unused variable in tMPI_Thread_create().

Change-Id: I0b15f55089f50e0c237635ad322c7d38ce82c275

11 years agoMerge "Fixes too many backup files for *.nroff files" into release-4-6
Christoph Junghans [Tue, 4 Sep 2012 16:42:00 +0000 (18:42 +0200)]
Merge "Fixes too many backup files for *.nroff files" into release-4-6

11 years agoMade tutorial slightly less confusing.
David van der Spoel [Tue, 4 Sep 2012 13:27:57 +0000 (15:27 +0200)]
Made tutorial slightly less confusing.

Change-Id: Ief3132a54770e8b3c3b69b24b5582ba321ccc5fd

11 years agoFixed .g96 trajectory reading.
Sander Pronk [Mon, 3 Sep 2012 11:58:25 +0000 (13:58 +0200)]
Fixed .g96 trajectory reading.

The line variable in .g96 configuration reading can now be made
persistent - and is done so for reading .g96 trajectories.

This commit fixes #781

Change-Id: If2005a00bb925b41802c4b0dc92e66eb5635f22c

11 years agoMerge "Document correct comm_mode option" into release-4-5-patches
Kasson [Mon, 3 Sep 2012 10:53:57 +0000 (12:53 +0200)]
Merge "Document correct comm_mode option" into release-4-5-patches

11 years agoMerge "Improved pdb2gmx output" into release-4-5-patches
Kasson [Mon, 3 Sep 2012 10:51:40 +0000 (12:51 +0200)]
Merge "Improved pdb2gmx output" into release-4-5-patches

11 years agoMerge branch 'release-4-5-patches' into release-4-6
Szilard Pall [Mon, 3 Sep 2012 10:40:56 +0000 (12:40 +0200)]
Merge branch 'release-4-5-patches' into release-4-6

Conflicts:
src/mdlib/tpi.c

Change-Id: I1b5d92291ece7cf3194b4e1d88cd686a5aa18696

11 years agoFix VMD plugins on Windows
Roland Schulz [Mon, 3 Sep 2012 02:49:27 +0000 (22:49 -0400)]
Fix VMD plugins on Windows

VMD libraries are named *.so even on Windows

Change-Id: I4502af3a716b79820502c70fcfe2fc68749a77fc

11 years agoFix stack error in grompp
Roland Schulz [Sun, 2 Sep 2012 16:26:22 +0000 (12:26 -0400)]
Fix stack error in grompp

vsiteatoms array was one to short

Fixes #997

Change-Id: I0897694dfc431a20bd1ebf769b24d09038d588b2

11 years agoUpdate use of CPack components and add install targets
Mark Abraham [Wed, 22 Aug 2012 08:21:34 +0000 (18:21 +1000)]
Update use of CPack components and add install targets

* Removed component runtime and replaced it with component "scripts",
a component for each tool, and the component group tools. This means
CPack is capable of dealing with a single tool, or with the whole
group.
* Moved gmxpreprocess library to libraries component.
* Created CPack dependencies so that shared libraries accompany
executables.
* Created non-CPack install targets for each GROMACS tool, e.g.
"make install-grompp". Shared libraries are installed with these
tools as appropriate. Using library suffices could be right here,
but that's the user's problem to solve.

Development, regression testing and bug testing is more convenient if
you can easily build and install just a subset of tools. This could
always have been done with CMake black magic, but these targets makes
lives easier. Also users can now easily install MPI or
double-precision flavours of selected tools as suitable.

Change-Id: I1053f7ff91d50169ac930f1ac5b84378d3ab2e67

11 years agoImproved pdb2gmx output
Mark Abraham [Fri, 31 Aug 2012 03:43:29 +0000 (13:43 +1000)]
Improved pdb2gmx output

Now there is explicit feedback that pdb2gmx is starting generating
hydrogens and termini, which can help the user deduce that problems
lie with those databases, and not necessarily the residue topology
database.

Change-Id: Ie4100b8586d6389a6965ea8cb09eb24cc4e7d3d9

11 years agoFixes too many backup files for *.nroff files
Roland Schulz [Thu, 30 Aug 2012 03:34:21 +0000 (23:34 -0400)]
Fixes too many backup files for *.nroff files

Problem introduced by 26bd5f7ac7af. nroff files are generated
automatically and one could get erorr message when 99 backup files
existed.

Change-Id: Ia0a5c7e04064a0d304266e1dc6af347d3e846864

11 years agobug fix for pme.c MPI_COMM_NULL fix dcf8b67e
Berk Hess [Wed, 29 Aug 2012 16:00:08 +0000 (18:00 +0200)]
bug fix for pme.c MPI_COMM_NULL fix dcf8b67e

Change-Id: Idb233db1337bcb881041caec96572e5df6183e6e

11 years agoDocument correct comm_mode option
Mark Abraham [Tue, 28 Aug 2012 01:16:19 +0000 (11:16 +1000)]
Document correct comm_mode option

Change-Id: I18d9896c51d486dfcc52e4d15b052d65de91426d

11 years agoNewer version of thread_mpi, with various fixes, including tMPI_Scan()
Sander Pronk [Tue, 21 Aug 2012 11:10:45 +0000 (13:10 +0200)]
Newer version of thread_mpi, with various fixes, including tMPI_Scan()

- Implements tMPI_Scan()
- Many doxygen fixes
- removed unused variables from atomic operations
- Added C++11 compatible thread and mutex class

Change-Id: I4cce48627fa846da3c599a7de64d3898c358390b

11 years agoFixed segfault with FE code for older tpr files.
Sander Pronk [Thu, 23 Aug 2012 09:16:05 +0000 (11:16 +0200)]
Fixed segfault with FE code for older tpr files.

Full all_lambda array wasn't allocated for gmx 4.5 tpr files, even
though the rest of the code depends on it.

Change-Id: I3e4b6273d9e769a430fffc95e3a9c94fb672f6f3

11 years agoAdded PGLU entry in aminoacids.n.tdb for OPLS-AA.
Bogdan Iorga [Wed, 22 Aug 2012 16:30:26 +0000 (18:30 +0200)]
Added PGLU entry in aminoacids.n.tdb for OPLS-AA.

Previously, pdb2gmx would fail during terminus selection for this residue.

Change submitted initially on the master branch, then abandoned.
(https://gerrit.gromacs.org/#/c/1290/)

Fixes #804.

Change-Id: Ic810242dc65019858c0332d352ef1ba96d4662d6

11 years agoMerge "Fixing of things associated with aminoacid.rtp header" into release-4-6
Christoph Junghans [Mon, 20 Aug 2012 17:52:48 +0000 (19:52 +0200)]
Merge "Fixing of things associated with aminoacid.rtp header" into release-4-6

11 years agoMerge "Clean up some variable naming for eigensolving" into release-4-6
Christoph Junghans [Mon, 20 Aug 2012 17:51:08 +0000 (19:51 +0200)]
Merge "Clean up some variable naming for eigensolving" into release-4-6

11 years agoMerge "Fix coordinate is zero check in gmxcheck" into release-4-5-patches
Christoph Junghans [Mon, 20 Aug 2012 17:50:53 +0000 (19:50 +0200)]
Merge "Fix coordinate is zero check in gmxcheck" into release-4-5-patches

11 years agoMerge "Explicitly noted an issue with use of genbox -maxsol" into release-4-6
Christoph Junghans [Mon, 20 Aug 2012 17:50:35 +0000 (19:50 +0200)]
Merge "Explicitly noted an issue with use of genbox -maxsol" into release-4-6

11 years agoMerge "fix AdResS and long-range electrostatics warning" into release-4-6
Roland Schulz [Sat, 18 Aug 2012 19:30:09 +0000 (21:30 +0200)]
Merge "fix AdResS and long-range electrostatics warning" into release-4-6

11 years agoFix coordinate is zero check in gmxcheck
Roland Schulz [Thu, 16 Aug 2012 23:50:15 +0000 (19:50 -0400)]
Fix coordinate is zero check in gmxcheck

Change-Id: I7504d235edc659b586d61243f3cbf72add2f92b2

11 years agoOptional computation of fluct. props in g_energy. Fixes #954
David van der Spoel [Thu, 16 Aug 2012 07:45:41 +0000 (09:45 +0200)]
Optional computation of fluct. props in g_energy. Fixes #954

Added a command line option -fluct_props to turn on the computation
of heat capacity etc. in g_energy. This prevents a warning message
from appearing on the screen each time the program is run.

Change-Id: I0cac44494ec5a366762d4d0a915146298d2ce1e0

11 years agoExplicitly noted an issue with use of genbox -maxsol
Mark Abraham [Tue, 14 Aug 2012 05:02:34 +0000 (15:02 +1000)]
Explicitly noted an issue with use of genbox -maxsol

Change-Id: I6f16c94296e7e17150331e4d3072d6430fb87bff

11 years agoDon't silently accept genbox -nmol without -ci
Mark Abraham [Tue, 14 Aug 2012 04:59:11 +0000 (14:59 +1000)]
Don't silently accept genbox -nmol without -ci

Change-Id: Ia50da1ee741eec9ea49ec04eb9fd14dd6b3116fc

11 years agofix AdResS and long-range electrostatics warning
Christoph Junghans [Mon, 13 Aug 2012 01:57:56 +0000 (19:57 -0600)]
fix AdResS and long-range electrostatics warning

Change-Id: Ibe6615e327a1a386f2fec5746e843fcf8fba5401

11 years agoClean up some variable naming for eigensolving
Mark Abraham [Fri, 10 Aug 2012 01:41:25 +0000 (11:41 +1000)]
Clean up some variable naming for eigensolving

Change-Id: I42c1751f505e931c7245a4804c1609d0e369e23f

11 years agoMake GCC OpenMP libraries static if GMX_PREFER_STATIC_OPENMP
Roland Schulz [Sat, 28 Jul 2012 18:32:18 +0000 (14:32 -0400)]
Make GCC OpenMP libraries static if GMX_PREFER_STATIC_OPENMP

Change-Id: I9ef26070c289f83f9d0f9e76635bb3a3dd493570

11 years agoGuarantee OpenMP flags for linker and make them user modifiable
Roland Schulz [Sat, 28 Jul 2012 17:25:34 +0000 (13:25 -0400)]
Guarantee OpenMP flags for linker and make them user modifiable

- Linker files were set only C/C++ compiler flags. For Fortran
  language it wasn't guranteed that the linker had the correct flags.
- The FindOpenMP module doesn't check for correct openmp linker flags
  and we assumed that compiler, library-linker, and executable linker
  flags are all the same.
- This also allows to create binaries with OpenMP linked in
  statically.

Change-Id: Ifde1d3f875bb779f04aa44a969138fe04620f224

11 years agoFixing of things associated with aminoacid.rtp header
Mark Abraham [Sat, 5 May 2012 03:54:18 +0000 (13:54 +1000)]
Fixing of things associated with aminoacid.rtp header

Code, commenting and documentation changes, including
* expanded self-documention boolean variable names
* clean up of dihedral generation code
* more reuse of output code
* more use of t_restp objects
* documentation in every force field's .rtp files
* clarified why and when generated dihedrals get superseded

Change-Id: I384f498f1124795e33c0ec1707ad52558bf15eb1

11 years agoAdded TIP4P back into CHARMM27
Mark Abraham [Tue, 31 Jul 2012 01:05:19 +0000 (11:05 +1000)]
Added TIP4P back into CHARMM27

I think Par erroneously removed this in 73b6d636a

Change-Id: Ie9f64636b1b28030ec86248649acad343b7c9a76

11 years agofixed trjconv not writing velocities with cpt input
Berk Hess [Thu, 9 Aug 2012 12:25:24 +0000 (14:25 +0200)]
fixed trjconv not writing velocities with cpt input

Fixes #930

Change-Id: I554dd729484a4238620f2773b5c3b3672cab72ee

11 years agoMerge "fixed incorrect TPI results with dynamic box" into release-4-5-patches
Christoph Junghans [Tue, 7 Aug 2012 16:10:56 +0000 (18:10 +0200)]
Merge "fixed incorrect TPI results with dynamic box" into release-4-5-patches

11 years agoFixed essential dynamics / flooding group PBC serial
Carsten Kutzner [Tue, 7 Aug 2012 09:15:59 +0000 (11:15 +0200)]
Fixed essential dynamics / flooding group PBC serial

In former versions, the PBC representation of essential dynamics /
flooding group atoms could be incorrect in serial runs if the ED group
contained more than a single molecule. In multi-molecule cases, the required
steps to choose the correct PBC image in communicate_group_positions()
therefore need to be performed also in serial runs. Since the PBC representation
can only change in neigborsearching steps, we only need to check the
shifts then. In parallel, NS is signalled by the bUpdateShifts
variable, which is set in dd_make_local_ed_indices(). The latter
function is however not called in serial runs; but still we can pass
the bNS boolean to do_flood() to signal the NS status. For essential
dynamics, unfortunately, since do_edsam() is called from constrain(), there
is no information about the NS status at that point. Until someone
comes up with a better idea, we therefore do the PBC check in every step
in serial essential dynamics - the performance impact will be negligible
anyway.

Change-Id: I86336a5e34131bdeac7e28f35b1ccb633450e54e

11 years agofixed incorrect TPI results with dynamic box
Berk Hess [Mon, 6 Aug 2012 18:52:59 +0000 (20:52 +0200)]
fixed incorrect TPI results with dynamic box

TPI with a box in the -rerun file different from the tpr gave systematic
errors. In Gromacs 4.0 there was a minor error, but not systematic.
Now TPI with any box setup is fully correct. Fixes #799

Change-Id: I69279874c2d1192e63efa224a0f035d43e919e88

11 years agoMerge "Added comment in get_structure about which structures are included" into relea...
Christoph Junghans [Mon, 6 Aug 2012 17:18:50 +0000 (19:18 +0200)]
Merge "Added comment in get_structure about which structures are included" into release-4-5-patches

11 years agoFixed calculation of projection for STAR and/or SORI
Carsten Kutzner [Mon, 6 Aug 2012 13:45:08 +0000 (15:45 +0200)]
Fixed calculation of projection for STAR and/or SORI

Both for STAR and for SORI, if provided to make_edi, the
fit structure and the average structure can be the same
(in these cases the old code works fine), or one can do
the fit on another (possibly larger) part of the molecule.
In the latter case, STAR (or SORI) contains first the fit and
then the average structure (concatenated). Here, the fit has to
be performed using the fit structure while the projection(s) have
to be calculated using the average structure. This is now
taken care of by the 'avindex' index variable.

Change-Id: Id97235030f3394df2931e30249083ad439dbe791

11 years agoAdded comment in get_structure about which structures are included
Carsten Kutzner [Mon, 6 Aug 2012 12:26:53 +0000 (14:26 +0200)]
Added comment in get_structure about which structures are included

This patch just adds a comment and refactors natoms -> nav to better
clarify when we deal with the AVERAGE and when with the REFERENCE (fit)
structure. 'natoms' is not a good choice if we are talking about
the number of atoms in the average structure only.

Change-Id: I7025fb6ea59af0a7bcd7953a25abd09be0dd2979

11 years agoRemove share/tutor
Roland Schulz [Sun, 5 Aug 2012 23:01:45 +0000 (19:01 -0400)]
Remove share/tutor

Not up-to-date and better tutorials exists.

Fixes #811

Change-Id: I52708a534e641039ccb05538e0a5387079370761

11 years agoMerge "Fixed segv in essential dynamics module" into release-4-5-patches
Roland Schulz [Sat, 4 Aug 2012 18:12:18 +0000 (20:12 +0200)]
Merge "Fixed segv in essential dynamics module" into release-4-5-patches

11 years agoFixed segv in essential dynamics module
Carsten Kutzner [Thu, 2 Aug 2012 09:52:41 +0000 (11:52 +0200)]
Fixed segv in essential dynamics module

Change-Id: Ia5657a535e7e31d55bf2b310a20dfee2a5e3b7f4

11 years agoFix overlapping memcpy
Roland Schulz [Fri, 3 Aug 2012 02:02:09 +0000 (22:02 -0400)]
Fix overlapping memcpy

The memcpy were not neccessary.

Fixes #984

Change-Id: Iea1d34756444cba2493940ab3f2252e7c108323f

11 years agoAdd note about SD integrator and t-coupling
Christoph Junghans [Wed, 1 Aug 2012 23:32:17 +0000 (17:32 -0600)]
Add note about SD integrator and t-coupling

Change-Id: I6c2bd1a332abbaf5312c9ad46de24bcd7205a085

11 years agoFix use after free memory error with adress
Roland Schulz [Wed, 1 Aug 2012 00:38:43 +0000 (20:38 -0400)]
Fix use after free memory error with adress

Change-Id: I481a55704a0a93235df531269bbbe40240dd12dc

11 years agoAdded a check for efep that was missing.
Michael Shirts [Mon, 30 Jul 2012 03:19:19 +0000 (21:19 -0600)]
Added a check for efep that was missing.

Fixes #983

Change-Id: Icdc1dd68f782fd6385fd55b616993fadea0c4448

11 years agoMerge "Clarified reasons for termination of EM" into release-4-6
Christoph Junghans [Tue, 31 Jul 2012 00:24:04 +0000 (02:24 +0200)]
Merge "Clarified reasons for termination of EM" into release-4-6

11 years agoClarified reasons for termination of EM
Mark Abraham [Thu, 26 Jul 2012 14:34:11 +0000 (00:34 +1000)]
Clarified reasons for termination of EM

"Step size too small" can be misinterpreted as nsteps is too small,
and so the error message is now more explicit.

Change-Id: I5680b3d13f34f7186ce28c553ac5736c4a74818e

11 years agoFix in when to call the constraints for andersen.
Michael Shirts [Wed, 18 Jul 2012 13:59:53 +0000 (09:59 -0400)]
Fix in when to call the constraints for andersen.

Change-Id: Ifa7eebd3a23312cb5abe66f7bf0d7a3299740f9a

11 years agoFix Segfaults in Genion
Roland Schulz [Sun, 29 Jul 2012 07:24:26 +0000 (03:24 -0400)]
Fix Segfaults in Genion

Introduced by babdd87c and c7a82654f

Change-Id: Id42042966931f3b7dfbd2eebcde29d659f80c0f0
Fixes: 982

11 years agoFix that VMD version check was performed for binary not plugin
Roland Schulz [Tue, 3 Jul 2012 00:05:19 +0000 (20:05 -0400)]
Fix that VMD version check was performed for binary not plugin

Gromacs is not using the VMD binary and thus it is not very
insightful to check the VMD binary version. Also checking the VMD
binary version was potential very slow.
The new code tries to find and load one of the VMD plugins and
check the version of the plugin.

Change-Id: Iba7be9cb742c530ce4edb8963597b8ea467e5520

11 years agoMerge "cmake: allow switch between single and double" into release-4-6
Roland Schulz [Wed, 25 Jul 2012 23:27:56 +0000 (01:27 +0200)]
Merge "cmake: allow switch between single and double" into release-4-6

11 years agoMerge "fix a segfault in sse_mask_init" into release-4-6
Roland Schulz [Wed, 25 Jul 2012 23:24:54 +0000 (01:24 +0200)]
Merge "fix a segfault in sse_mask_init" into release-4-6

11 years agoFix installation rules for man pages: don't install gromacs.7.cmakein
Roland Schulz [Tue, 24 Jul 2012 11:44:07 +0000 (07:44 -0400)]
Fix installation rules for man pages: don't install gromacs.7.cmakein

8c87e60 added gromacs.7.cmakein and didn't add an exclusion rule.

Change to CPackInit.cmake: Removing wrong (incorrect path) and unnessary file in message.

Change-Id: I8fe7436b8164d80ad6db64eb54dc81424cd44e4a

11 years agoAdd default root folder to cpack archives
Roland Schulz [Tue, 24 Jul 2012 11:26:07 +0000 (07:26 -0400)]
Add default root folder to cpack archives

Fixes that source archives had no root folder. If non-default
root folder for binary archives is wanted, this still can be
achived by:
cmake -DGMX_INSTALL_PREFIX={path}/ -DCPACK_INCLUDE_TOPLEVEL_DIRECTORY=0

Fixes #977

Change-Id: Iaf42afd3617873e5c1e5e7cb7c327986efa20fcd

11 years agoClean up of environment variables
Mark Abraham [Tue, 24 Jul 2012 00:16:27 +0000 (10:16 +1000)]
Clean up of environment variables

In particular, reduce ambiguous usage of "force".

Refs #974

Change-Id: Ia6178ce3392f66451341dd7a4af98312f9e72c0f

11 years agocmake: allow switch between single and double
Christoph Junghans [Thu, 19 Jul 2012 22:34:54 +0000 (16:34 -0600)]
cmake: allow switch between single and double

* only use FFTW_INCLUDE_DIR and FFTW_LIBRARY if user set them
* otherwise do not initialize them
* description will still show up in ccmake as advanced
* fixes #971 (linking error when switching without "make rebuild_cache")

Change-Id: Idfce7d912c3d432f48fd3a7021c8c04d6311569b

11 years agofixed DD charge group displacement error check
Berk Hess [Wed, 18 Jul 2012 12:36:01 +0000 (14:36 +0200)]
fixed DD charge group displacement error check

One of the two checks for large charge group displacement during
domain decomposition mixed the dimension index and the dimension.
The check was correct for decomposition in x, xy or xyz. Other setups
could lead to false positives and false negatives (unlikely).
Fixes #959

Change-Id: I9e38c43f931e6ca8149faae40f49f675a7ae9664

11 years agofix a segfault in sse_mask_init
Berk Hess [Tue, 17 Jul 2012 16:50:24 +0000 (10:50 -0600)]
fix a segfault in sse_mask_init

* work array was unaligned in some cases
* fixes #970

Change-Id: I1b474019bf93e6ef6f7cc935aa3f73f2597a91a8

11 years agoMerge "Removed commas from gmx_hbond OpenMP constructs." into release-4-6
Christoph Junghans [Mon, 16 Jul 2012 15:26:35 +0000 (17:26 +0200)]
Merge "Removed commas from gmx_hbond OpenMP constructs." into release-4-6

11 years agoMerge "Enforced rotation: PBC/restart fix" into release-4-6
Christoph Junghans [Mon, 16 Jul 2012 15:25:35 +0000 (17:25 +0200)]
Merge "Enforced rotation: PBC/restart fix" into release-4-6

11 years agoTake first description if programs.txt has more than one entry
Roland Schulz [Wed, 11 Jul 2012 19:31:33 +0000 (15:31 -0400)]
Take first description if programs.txt has more than one entry

26bd5f7ac took the last description of programs.txt. I wasn't
aware at the time that programs.txt can have more than one
description for one program. I think this is not a particularly
good to allow more than one description, and then somewhat
arbitrary take the first one. But this is how mknroff.pl behaved
and I don't want to change more then needed at this point.

Change-Id: Ia4fba1b1a66baab8b409fbb3932ee099cec80298

11 years agoMerge "Autogenerate gromacs.7 from programs.txt" into release-4-6
David van der Spoel [Sun, 15 Jul 2012 12:44:04 +0000 (14:44 +0200)]
Merge "Autogenerate gromacs.7 from programs.txt" into release-4-6

11 years agoAdding missing entries in programs.txt
Roland Schulz [Tue, 10 Jul 2012 16:49:32 +0000 (12:49 -0400)]
Adding missing entries in programs.txt

Change-Id: I323524d32f07409c02de6066a24e73fb8a966481

11 years agoRemoved commas from gmx_hbond OpenMP constructs.
Teemu Murtola [Sun, 15 Jul 2012 09:44:39 +0000 (12:44 +0300)]
Removed commas from gmx_hbond OpenMP constructs.

Commas between clauses within #pragma omp caused compilation to fail
with some compilers (e.g., gcc 4.2 on OS X 10.5), even with OpenMP
disabled.

Change-Id: I089d67a6442a745faa3bf5e3be1c779855725a67

11 years agoMerge release-4.5-patches into HEAD
Roland Schulz [Fri, 13 Jul 2012 13:04:58 +0000 (09:04 -0400)]
Merge release-4.5-patches into HEAD

Conflicts:
src/mdlib/mdebin.c
src/mdlib/minimize.c
src/tools/gmx_hbond.c
src/tools/gmx_tune_pme.c

Change-Id: I114f1ab4d58c9ccca0261e8588b61c39feaae874

11 years agoAdding missing entries in programs.txt
Roland Schulz [Tue, 10 Jul 2012 16:32:05 +0000 (12:32 -0400)]
Adding missing entries in programs.txt

Change-Id: I3b7879fc93d9b3a7c5eed5f14825331a12589b25

11 years agoUse relative rpath to support relocatable binary packages
Roland Schulz [Tue, 10 Jul 2012 07:28:24 +0000 (03:28 -0400)]
Use relative rpath to support relocatable binary packages

Change-Id: I7ec8707acf021b0f168691014fb0ba2f68ae29a6