Merge branch release-5-1
authorMark Abraham <mark.j.abraham@gmail.com>
Fri, 19 Feb 2016 09:18:47 +0000 (10:18 +0100)
committerBerk Hess <hess@kth.se>
Fri, 19 Feb 2016 11:01:24 +0000 (12:01 +0100)
Change-Id: I8935d1351656d6b0888e923c8316fce5d5c27cde

13 files changed:
docs/conf.py
docs/download.rst
docs/manual/forcefield.tex
docs/manual/plots/f-imps.eps [deleted file]
docs/manual/plots/f-imps.pdf [new file with mode: 0644]
docs/manual/plots/ring-imp.eps
docs/manual/plots/subst-im.eps
docs/manual/plots/tetra-im.eps
src/gromacs/gmxpreprocess/toppush.cpp
src/gromacs/mdlib/forcerec.cpp
src/gromacs/mdlib/nbnxn_search.cpp
src/gromacs/mdlib/tgroup.cpp
src/gromacs/tools/compare.cpp

index 4f9cc9f866c3dfe309dfb08f051c6ee12c610148..5ceab000e862dfb3ed3adb97953ed0ff7a9daab0 100644 (file)
@@ -1,7 +1,7 @@
 #
 # This file is part of the GROMACS molecular simulation package.
 #
-# Copyright (c) 2015, by the GROMACS development team, led by
+# Copyright (c) 2015,2016, by the GROMACS development team, led by
 # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 # and including many others, as listed in the AUTHORS file in the
 # top-level source directory and at http://www.gromacs.org.
@@ -145,7 +145,8 @@ rst_epilog += """
 .. |Gromacs| replace:: GROMACS
 .. _gmx-manual: manual-{gmx_version_string}.pdf
 .. _gmx-manual-parent-dir: ../manual-{gmx_version_string}.pdf
-.. |gmx-source-package| replace:: ftp://ftp.gromacs.org/pub/gromacs/gromacs-{gmx_version_string}.tar.gz
+.. |gmx-source-package-ftp| replace:: As ftp ftp://ftp.gromacs.org/pub/gromacs/gromacs-{gmx_version_string}.tar.gz
+.. |gmx-source-package-http| replace:: As http http://ftp.gromacs.org/pub/gromacs/gromacs-{gmx_version_string}.tar.gz
 .. |gmx-regressiontests-package| replace:: http://gerrit.gromacs.org/download/regressiontests-{regressiontest_version}.tar.gz
 .. _up-to-date installation instructions: http://www.gromacs.org/Documentation/Installation_Instructions
 .. _CUDA: http://www.nvidia.com/object/cuda_home_new.html
index e0bc5bede6f4a46e29e5e7c0fd94dd41af5a2e0b..fc58bab707766735a2d2d57d5f96764b45be0053 100644 (file)
@@ -5,7 +5,8 @@ Downloads
 
 Source code
 -----------
-* |gmx-source-package|
+* |gmx-source-package-ftp|
+* |gmx-source-package-http|
 * (md5sum |SOURCE_MD5SUM|)
 
 Other source code versions may be found at the
index 74bdb3f974c4e9e11bd8623f8573c0bcacafb7e2..169c13d4f94572fc785e1ce0424ea67ade1a2f5c 100644 (file)
@@ -731,7 +731,7 @@ this will never cause problems.
 force constants in kJ/mol/rad$^2$.
 
 \begin{figure}
-\centerline{\includegraphics[width=8cm]{plots/f-imps}}
+\centerline{\includegraphics[width=10cm]{plots/f-imps.pdf}}
 \caption{Improper dihedral potential.}
 \label{fig:imps}
 \end{figure}
@@ -1932,7 +1932,7 @@ rather than using soft-core interactions, which should be less
 statistically noisy in most cases. This behavior can be overwritten
 by using the mdp option {\tt sc-coul} to {\tt yes}. Note that the {\tt sc-coul}
 is only taken into account when lambda states are used, not with
-{\tt couple-lambda0/couple-lambda1}, and you can still turn off soft-core
+{\tt couple-lambda0}~/ {\tt couple-lambda1}, and you can still turn off soft-core
 interactions by setting {\tt sc-alpha=0}. Additionally, the soft-core
 interaction potential is only applied when either the A or B
 state has zero interaction potential. If both A and B states have
@@ -2488,33 +2488,9 @@ It is recommended to optimize the parameters for calculation of
 electrostatic interaction such as PME grid dimensions and cut-off radii.
 This is particularly relevant to do before launching long production runs.
 
-{\gromacs} includes a special tool, {\tt g_tune_pme}, which automates the 
-process of selecting the optimal size of the grid and number of PME-only
-notes.
-
-%
-% Temporarily removed since I am not sure about the state of the testlr
-% program...
-%
-%It is possible to test the accuracy of your settings using the program
-%{\tt\normindex{testlr}} in the {\tt src/gmxlib} dir. This program computes
-%forces and potentials using PPPM and an Ewald implementation and gives the
-%absolute and RMS errors in both:
-%\begin{verbatim}
-%ERROR ANALYSIS
-%Error:         Max Abs         RMS
-%Force            1.132       0.251
-%Potential        0.113       0.035
-%\end{verbatim}
-%{\bf Note:} these numbers were generated using a grid spacing of
-%0.058 nm and $r_c$ = 1.0 nm.
-%
-%You can see what the accuracy is without optimizing the
-%$\hat{G}(k)$ function, if you pass the {\tt -ghat} option to {\tt
-%testlr}. Try it if you think the {\tt mk_ghat} procedure is a waste
-%of time.
-%} % Brace matches ifthenelse test for gmxlite
-
+{\tt gmx mdrun} will automatically do a lot of PME optimization, and
+{\gromacs} also includes a special tool, {\tt gmx tune_pme}, which
+automates the process of selecting the optimal number of PME-only ranks.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/docs/manual/plots/f-imps.eps b/docs/manual/plots/f-imps.eps
deleted file mode 100644 (file)
index 9328ebd..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-%!PostScript
-%%BoundingBox: 18 18 552 711
-%%Creator: Xvgr version 2.10 - PJ Turner OGI-ESE
-%%EndComments
-/m {moveto} bind def
-/l {lineto} bind def
-/RJ {
- stringwidth neg exch neg exch
- rmoveto
-} bind def
-/CS {
- stringwidth
- 2 div neg exch 2 div neg exch
- rmoveto
-} bind def
-0.25 0.25 scale
-1 setlinecap
-2450 0 translate
-90 rotate
-0.000000 0.000000 0.000000 setrgbcolor
-1 setlinewidth
-/Times-Italic findfont 
-60 scalefont
- setfont
-[] 0 setdash
-519 420 m
-519 2030 l
-2595 2030 l
-2595 420 l
-519 420 l
-stroke
-[] 0 setdash
-519 420 m
-519 430 l
-779 420 m
-779 430 l
-1038 420 m
-1038 430 l
-1298 420 m
-1298 430 l
-1557 420 m
-1557 430 l
-1816 420 m
-1816 430 l
-2076 420 m
-2076 430 l
-2335 420 m
-2335 430 l
-2595 420 m
-2595 430 l
-519 2030 m
-519 2020 l
-779 2030 m
-779 2020 l
-1038 2030 m
-1038 2020 l
-1298 2030 m
-1298 2020 l
-1557 2030 m
-1557 2020 l
-1816 2030 m
-1816 2020 l
-2076 2030 m
-2076 2020 l
-2335 2030 m
-2335 2020 l
-2595 2030 m
-2595 2020 l
-stroke
-519 420 m
-519 440 l
-1038 420 m
-1038 440 l
-1557 420 m
-1557 440 l
-2076 420 m
-2076 440 l
-2595 420 m
-2595 440 l
-519 2030 m
-519 2010 l
-1038 2030 m
-1038 2010 l
-1557 2030 m
-1557 2010 l
-2076 2030 m
-2076 2010 l
-2595 2030 m
-2595 2010 l
-/Times-Italic findfont 
-60 scalefont
- setfont
-/Helvetica findfont 
-60 scalefont
- setfont
-stroke
-519 370 m
-gsave
-519 370 translate
-0 rotate
-0 -20  m
-(-20.0) CS
-(�20.0) show
-grestore
-newpath
-1038 370 m
-gsave
-1038 370 translate
-0 rotate
-0 -20  m
-(-10.0) CS
-(�10.0) show
-grestore
-newpath
-1557 370 m
-gsave
-1557 370 translate
-0 rotate
-0 -20  m
-(0.0) CS
-(0.0) show
-grestore
-newpath
-2076 370 m
-gsave
-2076 370 translate
-0 rotate
-0 -20  m
-(10.0) CS
-(10.0) show
-grestore
-newpath
-2595 370 m
-gsave
-2595 370 translate
-0 rotate
-0 -20  m
-(20.0) CS
-(20.0) show
-grestore
-newpath
-/Helvetica findfont 
-60 scalefont
- setfont
-1557 270 m
-gsave
-1557 270 translate
-0 rotate
-0 0  m
-(x) CS
-/Symbol findfont 
-60 scalefont
- setfont
-(x) show
-grestore
-newpath
-519 420 m
-529 420 l
-519 688 m
-529 688 l
-519 956 m
-529 956 l
-519 1225 m
-529 1225 l
-519 1493 m
-529 1493 l
-519 1761 m
-529 1761 l
-519 2030 m
-529 2030 l
-2595 420 m
-2585 420 l
-2595 688 m
-2585 688 l
-2595 956 m
-2585 956 l
-2595 1225 m
-2585 1225 l
-2595 1493 m
-2585 1493 l
-2595 1761 m
-2585 1761 l
-2595 2030 m
-2585 2030 l
-stroke
-519 420 m
-539 420 l
-519 956 m
-539 956 l
-519 1493 m
-539 1493 l
-519 2030 m
-539 2030 l
-2595 420 m
-2575 420 l
-2595 956 m
-2575 956 l
-2595 1493 m
-2575 1493 l
-2595 2030 m
-2575 2030 l
-/Symbol findfont 
-60 scalefont
- setfont
-/Helvetica findfont 
-60 scalefont
- setfont
-stroke
-479 420 m
-gsave
-479 420 translate
-0 rotate
-0 -20  m
-(0.0) RJ
-(0.0) show
-grestore
-newpath
-479 956 m
-gsave
-479 956 translate
-0 rotate
-0 -20  m
-(10.0) RJ
-(10.0) show
-grestore
-newpath
-479 1493 m
-gsave
-479 1493 translate
-0 rotate
-0 -20  m
-(20.0) RJ
-(20.0) show
-grestore
-newpath
-479 2030 m
-gsave
-479 2030 translate
-0 rotate
-0 -20  m
-(30.0) RJ
-(30.0) show
-grestore
-newpath
-/Helvetica findfont 
-60 scalefont
- setfont
-305 1225 m
-gsave
-305 1225 translate
-90 rotate
-0 0  m
-(Vi \(kJ mole-1\)) CS
-(V) show
-/Helvetica findfont 
-36 scalefont
- setfont
-0 -18 rmoveto
-(i) show
-/Helvetica findfont 
-60 scalefont
- setfont
-0 18 rmoveto
-( \(kJ mole) show
-/Helvetica findfont 
-36 scalefont
- setfont
-0 36 rmoveto
-(�1) show
-/Helvetica findfont 
-60 scalefont
- setfont
-0 -36 rmoveto
-(\)) show
-grestore
-newpath
-519 1512 m
-540 1469 l
-560 1427 l
-581 1386 l
-601 1345 l
-622 1306 l
-643 1267 l
-663 1230 l
-684 1193 l
-704 1157 l
-725 1122 l
-745 1088 l
-766 1054 l
-786 1022 l
-807 990 l
-827 959 l
-848 929 l
-869 900 l
-889 872 l
-910 844 l
-930 818 l
-951 792 l
-971 767 l
-992 743 l
-1012 720 l
-1033 698 l
-1054 677 l
-1074 656 l
-1095 636 l
-1115 617 l
-1136 599 l
-1156 582 l
-1177 566 l
-1197 551 l
-1218 536 l
-1238 522 l
-1259 510 l
-1280 498 l
-1300 486 l
-1321 476 l
-1341 467 l
-1362 458 l
-1382 450 l
-1403 444 l
-1423 438 l
-1444 432 l
-1465 428 l
-1485 425 l
-1506 422 l
-1526 420 l
-1547 420 l
-1567 420 l
-1588 420 l
-1608 422 l
-1629 425 l
-1649 428 l
-1670 432 l
-1691 438 l
-1711 444 l
-1732 450 l
-1752 458 l
-1773 467 l
-1793 476 l
-1814 486 l
-1834 498 l
-1855 510 l
-1876 522 l
-1896 536 l
-1917 551 l
-1937 566 l
-1958 582 l
-1978 599 l
-1999 617 l
-2019 636 l
-2040 656 l
-2060 677 l
-2081 698 l
-2102 720 l
-2122 743 l
-2143 767 l
-2163 792 l
-2184 818 l
-2204 844 l
-2225 872 l
-2245 900 l
-2266 929 l
-2287 959 l
-2307 990 l
-2328 1022 l
-2348 1054 l
-2369 1088 l
-2389 1122 l
-2410 1157 l
-2430 1193 l
-2451 1230 l
-2471 1267 l
-2492 1306 l
-2513 1345 l
-2533 1386 l
-2554 1427 l
-2574 1469 l
-2595 1512 l
-stroke
-showpage
-%%Trailer
diff --git a/docs/manual/plots/f-imps.pdf b/docs/manual/plots/f-imps.pdf
new file mode 100644 (file)
index 0000000..6c8dca3
Binary files /dev/null and b/docs/manual/plots/f-imps.pdf differ
index 205566626069ab08a37b0667908b90e205d9dfa4..dc6490504bf820d303d734dc8d872ffb8bb0111b 100644 (file)
@@ -1,32 +1,82 @@
-%!PS-Adobe-2.0 EPSF
-%%Title: /tmp/xfig-fig016217
-%%Creator: fig2dev
-%%CreationDate: Fri Sep 23 10:06:25 1994
-%%For: spoel@rugmd15 (David van der Spoel,Room 17.14,4327)
-%%BoundingBox: 0 0 108 306
-%%Pages: 0
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: ring-imp.fig
+%%Creator: fig2dev Version 3.2 Patchlevel 5e
+%%CreationDate: Sun Feb 14 18:41:35 2016
+%%For: mark@arch-mark-mba ()
+%%BoundingBox: 0 0 307 110
+%Magnification: 1.0000
 %%EndComments
-/$F2psDict 200 dict def 
+%%BeginProlog
+/$F2psDict 200 dict def
 $F2psDict begin
 $F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
 /l {lineto} bind def
 /m {moveto} bind def
-/s {stroke} bind def
+/rm {rmoveto} bind def
 /n {newpath} bind def
-/gs {gsave} bind def
-/gr {grestore} bind def
-/clp {closepath} bind def
-/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-4 -2 roll mul setrgbcolor} bind def
-/col-1 {} def
-/col0 {0 0 0 setrgbcolor} bind def
-/col1 {0 0 1 setrgbcolor} bind def
-/col2 {0 1 0 setrgbcolor} bind def
-/col3 {0 1 1 setrgbcolor} bind def
-/col4 {1 0 0 setrgbcolor} bind def
-/col5 {1 0 1 setrgbcolor} bind def
-/col6 {1 1 0 setrgbcolor} bind def
-/col7 {1 1 1 setrgbcolor} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
  /DrawEllipse {
        /endangle exch def
        /startangle exch def
@@ -35,61 +85,82 @@ $F2psDict /mtrx matrix put
        /y exch def
        /x exch def
        /savematrix mtrx currentmatrix def
-       x y translate xrad yrad scale 0 0 1 startangle endangle arc
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
        savematrix setmatrix
        } def
 
-       end
 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
 /$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
 
+/pageheader {
+save
+newpath 0 110 moveto 0 0 lineto 307 0 lineto 307 110 lineto closepath clip newpath
+-134.5 198.9 translate
+1 -1 scale
 $F2psBegin
-0 setlinecap 0 setlinejoin
--90.0 -135.0 translate 90 rotate 0.900 -0.900 scale
-0.500 setlinewidth
+10 setmiterlimit
+0 slj 0 slc
+ 0.06000 0.06000 sc
+} bind def
+/pagefooter {
+$F2psEnd
+restore
+} bind def
+%%EndProlog
+pageheader
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 0
 % Ellipse
-n 159 189 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+7.500 slw
+n 2400 2850 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 259 109 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 3900 1650 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 379 109 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 5700 1650 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 479 189 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
-1.000 setlinewidth
+n 7200 2850 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Polyline
-n 159 189 m 259 109 l gs 0.00 setgray fill gr
-gs col-1 s gr
+0 slj
+0 slc
+15.000 slw
+n 2400 2850 m
+ 3900 1650 l gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 259 109 m 379 109 l gs 0.00 setgray fill gr
-gs col-1 s gr
+n 3900 1650 m
+ 5700 1650 l gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 379 109 m 479 189 l gs 0.00 setgray fill gr
-gs col-1 s gr
-       [6.000000] 0 setdash
+n 5700 1650 m
+ 7200 2850 l gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 159 189 m 379 109 l gs 0.00 setgray fill gr
-gs col-1 s gr
-       [] 0 setdash
-       [6.000000] 0 setdash
+ [90] 0 sd
+n 2400 2850 m
+ 5700 1650 l gs 0.00 setgray ef gr gs col-1 s gr  [] 0 sd
 % Polyline
-n 259 109 m 479 189 l gs 0.00 setgray fill gr
-gs col-1 s gr
-       [] 0 setdash
-/Times-BoldItalic findfont 18.00 scalefont setfont
-379 139 m 
-gs 1 -1 scale (k) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-479 219 m 
-gs 1 -1 scale (l) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-159 219 m 
-gs 1 -1 scale (i) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-259 139 m 
-gs 1 -1 scale (j) col-1 show gr
-$F2psEnd
+ [90] 0 sd
+n 3900 1650 m
+ 7200 2850 l gs 0.00 setgray ef gr gs col-1 s gr  [] 0 sd
+/Times-BoldItalic ff 300.00 scf sf
+5700 2100 m
+gs 1 -1 sc (k) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+7200 3300 m
+gs 1 -1 sc (l) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+2400 3300 m
+gs 1 -1 sc (i) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+3900 2100 m
+gs 1 -1 sc (j) col-1 sh gr
+% here ends figure;
+pagefooter
+showpage
+%%Trailer
+%EOF
index 2906c6d94bf56c4e7a24f2e7f94602d802d13bec..78b1909a9add9393f6820b5afb962edeb19dcfa3 100644 (file)
@@ -1,32 +1,82 @@
-%!PS-Adobe-2.0 EPSF
-%%Title: /tmp/xfig-fig016217
-%%Creator: fig2dev
-%%CreationDate: Fri Sep 23 10:42:55 1994
-%%For: spoel@rugmd15 (David van der Spoel,Room 17.14,4327)
-%%BoundingBox: 0 0 210 234
-%%Pages: 0
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: subst-im.fig
+%%Creator: fig2dev Version 3.2 Patchlevel 5e
+%%CreationDate: Sun Feb 14 18:40:16 2016
+%%For: mark@arch-mark-mba ()
+%%BoundingBox: 0 0 236 217
+%Magnification: 1.0000
 %%EndComments
-/$F2psDict 200 dict def 
+%%BeginProlog
+/$F2psDict 200 dict def
 $F2psDict begin
 $F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
 /l {lineto} bind def
 /m {moveto} bind def
-/s {stroke} bind def
+/rm {rmoveto} bind def
 /n {newpath} bind def
-/gs {gsave} bind def
-/gr {grestore} bind def
-/clp {closepath} bind def
-/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-4 -2 roll mul setrgbcolor} bind def
-/col-1 {} def
-/col0 {0 0 0 setrgbcolor} bind def
-/col1 {0 0 1 setrgbcolor} bind def
-/col2 {0 1 0 setrgbcolor} bind def
-/col3 {0 1 1 setrgbcolor} bind def
-/col4 {1 0 0 setrgbcolor} bind def
-/col5 {1 0 1 setrgbcolor} bind def
-/col6 {1 1 0 setrgbcolor} bind def
-/col7 {1 1 1 setrgbcolor} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
  /DrawEllipse {
        /endangle exch def
        /startangle exch def
@@ -35,61 +85,88 @@ $F2psDict /mtrx matrix put
        /y exch def
        /x exch def
        /savematrix mtrx currentmatrix def
-       x y translate xrad yrad scale 0 0 1 startangle endangle arc
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
        savematrix setmatrix
        } def
 
-       end
 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
 /$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
 
+/pageheader {
+save
+newpath 0 217 moveto 0 0 lineto 236 0 lineto 236 217 lineto closepath clip newpath
+-134.5 352.0 translate
+1 -1 scale
 $F2psBegin
-0 setlinecap 0 setlinejoin
--136.0 -135.0 translate 90 rotate 0.900 -0.900 scale
-0.500 setlinewidth
+10 setmiterlimit
+0 slj 0 slc
+ 0.06000 0.06000 sc
+} bind def
+/pagefooter {
+$F2psEnd
+restore
+} bind def
+%%EndProlog
+pageheader
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 0
 % Ellipse
-n 159 349 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+7.500 slw
+n 2400 5250 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 279 289 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 4200 4350 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 399 349 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 6000 5250 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 279 189 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
-1.000 setlinewidth
+n 4200 2850 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Polyline
-n 279 199 m 279 279 l gs col-1 s gr
-n 279 279 m 279 279 l gs col-1 s gr
+0 slj
+0 slc
+15.000 slw
+n 4200 3000 m
+ 4200 4200 l gs col-1 s gr 
 % Polyline
-n 279 289 m 399 349 l gs col-1 s gr
+n 4193 4200 m 4208 4200 l gs col-1 s gr
 % Polyline
-n 279 289 m 159 349 l gs col-1 s gr
-       [6.000000] 0 setdash
+n 4200 4350 m
+ 6000 5250 l gs col-1 s gr 
 % Polyline
-n 159 349 m 404 349 l gs col-1 s gr
-       [] 0 setdash
-       [6.000000] 0 setdash
+n 4200 4350 m
+ 2400 5250 l gs col-1 s gr 
 % Polyline
-n 404 349 m 279 189 l gs col-1 s gr
-       [] 0 setdash
-       [6.000000] 0 setdash
+ [90] 0 sd
+n 2400 5250 m
+ 6075 5250 l gs col-1 s gr  [] 0 sd
 % Polyline
-n 279 189 m 159 349 l gs col-1 s gr
-       [] 0 setdash
-/Times-BoldItalic findfont 18.00 scalefont setfont
-279 319 m 
-gs 1 -1 scale (i) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-399 384 m 
-gs 1 -1 scale (k) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-159 384 m 
-gs 1 -1 scale (j) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-279 164 m 
-gs 1 -1 scale (l) col-1 show gr
-$F2psEnd
+ [90] 0 sd
+n 6075 5250 m
+ 4200 2850 l gs col-1 s gr  [] 0 sd
+% Polyline
+ [90] 0 sd
+n 4200 2850 m
+ 2400 5250 l gs col-1 s gr  [] 0 sd
+/Times-BoldItalic ff 300.00 scf sf
+4200 4800 m
+gs 1 -1 sc (i) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+6000 5775 m
+gs 1 -1 sc (k) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+2400 5775 m
+gs 1 -1 sc (j) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+4200 2475 m
+gs 1 -1 sc (l) col-1 sh gr
+% here ends figure;
+pagefooter
+showpage
+%%Trailer
+%EOF
index 886388f42e33c0915af823007157eee472bd9b52..1d65621ad8f74dcd179a63ce78f5050796beb3bd 100644 (file)
@@ -1,32 +1,82 @@
-%!PS-Adobe-2.0 EPSF
-%%Title: /tmp/xfig-fig016217
-%%Creator: fig2dev
-%%CreationDate: Fri Sep 23 10:34:58 1994
-%%For: spoel@rugmd15 (David van der Spoel,Room 17.14,4327)
-%%BoundingBox: 0 0 224 234
-%%Pages: 0
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: tetra-im.fig
+%%Creator: fig2dev Version 3.2 Patchlevel 5e
+%%CreationDate: Sun Feb 14 18:41:09 2016
+%%For: mark@arch-mark-mba ()
+%%BoundingBox: 0 0 236 226
+%Magnification: 1.0000
 %%EndComments
-/$F2psDict 200 dict def 
+%%BeginProlog
+/$F2psDict 200 dict def
 $F2psDict begin
 $F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
 /l {lineto} bind def
 /m {moveto} bind def
-/s {stroke} bind def
+/rm {rmoveto} bind def
 /n {newpath} bind def
-/gs {gsave} bind def
-/gr {grestore} bind def
-/clp {closepath} bind def
-/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-4 -2 roll mul setrgbcolor} bind def
-/col-1 {} def
-/col0 {0 0 0 setrgbcolor} bind def
-/col1 {0 0 1 setrgbcolor} bind def
-/col2 {0 1 0 setrgbcolor} bind def
-/col3 {0 1 1 setrgbcolor} bind def
-/col4 {1 0 0 setrgbcolor} bind def
-/col5 {1 0 1 setrgbcolor} bind def
-/col6 {1 1 0 setrgbcolor} bind def
-/col7 {1 1 1 setrgbcolor} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
  /DrawEllipse {
        /endangle exch def
        /startangle exch def
@@ -35,57 +85,93 @@ $F2psDict /mtrx matrix put
        /y exch def
        /x exch def
        /savematrix mtrx currentmatrix def
-       x y translate xrad yrad scale 0 0 1 startangle endangle arc
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
        savematrix setmatrix
        } def
 
-       end
 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
 /$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
 
+/pageheader {
+save
+newpath 0 226 moveto 0 0 lineto 236 0 lineto 236 226 lineto closepath clip newpath
+-134.5 235.0 translate
+1 -1 scale
 $F2psBegin
-0 setlinecap 0 setlinejoin
--10.0 -135.0 translate 90 rotate 0.900 -0.900 scale
-0.500 setlinewidth
+10 setmiterlimit
+0 slj 0 slc
+ 0.06000 0.06000 sc
+} bind def
+/pagefooter {
+$F2psEnd
+restore
+} bind def
+%%EndProlog
+pageheader
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 0
 % Ellipse
-n 279 49 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+7.500 slw
+n 4200 750 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 279 149 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 4200 2250 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 279 219 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 4200 3300 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 399 219 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 6000 3300 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Ellipse
-n 159 219 10 10 0 360 DrawEllipse gs 0.00 setgray fill gr
-gs col-1 s gr
+n 2400 3300 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
+
 % Polyline
-n 274 164 m 279 204 l  284 164 l  274 164 l gs 0.00 setgray fill gr
-gs col-1 s gr
+0 slj
+0 slc
+n 4125 2475 m 4200 3075 l 4275 2475 l
+ 4125 2475 l  cp gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 294 159 m 379 214 l  384 204 l  294 159 l gs 0.00 setgray fill gr
-gs col-1 s gr
+n 4425 2400 m 5700 3225 l 5775 3075 l
+ 4425 2400 l  cp gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 264 159 m 179 214 l  174 204 l  264 159 l gs 0.00 setgray fill gr
-gs col-1 s gr
-2.000 setlinewidth
+n 3975 2400 m 2700 3225 l 2625 3075 l
+ 3975 2400 l  cp gs 0.00 setgray ef gr gs col-1 s gr 
 % Polyline
-n 279 64 m 279 134 l gs 0.00 setgray fill gr
-gs col-1 s gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-399 259 m 
-gs 1 -1 scale (k) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-299 139 m 
-gs 1 -1 scale (i) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-159 254 m 
-gs 1 -1 scale (j) col-1 show gr
-/Times-BoldItalic findfont 18.00 scalefont setfont
-279 24 m 
-gs 1 -1 scale (l) col-1 show gr
-$F2psEnd
+30.000 slw
+n 4200 975 m
+ 4200 2025 l gs 0.00 setgray ef gr gs col-1 s gr 
+% Polyline
+15.000 slw
+ [90] 0 sd
+n 2400 3300 m
+ 6000 3300 l gs col-1 s gr  [] 0 sd
+% Polyline
+ [90] 0 sd
+n 2400 3300 m
+ 4200 675 l gs col-1 s gr  [] 0 sd
+% Polyline
+ [90] 0 sd
+n 4200 675 m
+ 6000 3300 l gs col-1 s gr  [] 0 sd
+/Times-BoldItalic ff 300.00 scf sf
+6000 3900 m
+gs 1 -1 sc (k) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+4500 2100 m
+gs 1 -1 sc (i) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+2400 3825 m
+gs 1 -1 sc (j) col-1 sh gr
+/Times-BoldItalic ff 300.00 scf sf
+4200 375 m
+gs 1 -1 sc (l) col-1 sh gr
+% here ends figure;
+pagefooter
+showpage
+%%Trailer
+%EOF
index 10bd4a0218fef09a03bf0f0c250ff32a5a967c26..9bc3a53aecc10af74ad4615915f824cf682d81dc 100644 (file)
@@ -1078,10 +1078,10 @@ push_cmaptype(directive d, t_params bt[], int nral, gpp_atomtype_t at,
               t_bond_atomtype bat, char *line,
               warninp_t wi)
 {
-    const char  *formal = "%s%s%s%s%s%s%s%s";
+    const char  *formal = "%s%s%s%s%s%s%s%s%n";
 
     int          i, ft, ftype, nn, nrfp, nrfpA, nrfpB;
-    int          start;
+    int          start, nchar_consumed;
     int          nxcmap, nycmap, ncmap, read_cmap, sl, nct;
     char         s[20], alc[MAXATOMLIST+2][20];
     t_param      p;
@@ -1091,24 +1091,16 @@ push_cmaptype(directive d, t_params bt[], int nral, gpp_atomtype_t at,
     read_cmap = 0;
     start     = 0;
 
-    if ((nn = sscanf(line, formal, alc[0], alc[1], alc[2], alc[3], alc[4], alc[5], alc[6], alc[7])) != nral+3)
+    GMX_ASSERT(nral == 5, "CMAP requires 5 atoms per interaction");
+
+    /* Here we can only check for < 8 */
+    if ((nn = sscanf(line, formal, alc[0], alc[1], alc[2], alc[3], alc[4], alc[5], alc[6], alc[7], &nchar_consumed)) < nral+3)
     {
         sprintf(errbuf, "Incorrect number of atomtypes for cmap (%d instead of 5)", nn-1);
         warning_error(wi, errbuf);
         return;
     }
-
-    /* Compute an offset for each line where the cmap parameters start
-     * ie. where the atom types and grid spacing information ends
-     */
-    for (i = 0; i < nn; i++)
-    {
-        start += (int)strlen(alc[i]);
-    }
-
-    /* There are nn-1 spaces between the atom types and the grid spacing info in the cmap.itp file */
-    /* start is the position on the line where we start to read the actual cmap grid data from the itp file */
-    start = start + nn -1;
+    start += nchar_consumed;
 
     ft     = strtol(alc[nral], NULL, 10);
     nxcmap = strtol(alc[nral+1], NULL, 10);
index ba73710a20e0bb8831ed5f7dd867edc981d6da57..1d13d3550aa96b1714352adf5480c530b706b628 100644 (file)
@@ -1535,15 +1535,6 @@ gmx_bool nbnxn_gpu_acceleration_supported(FILE             *fplog,
         return FALSE;
     }
 
-    if (ir->vdwtype == evdwPME && ir->ljpme_combination_rule == eljpmeLB)
-    {
-        /* LJ PME with LB combination rule does 7 mesh operations.
-         * This so slow that we don't compile GPU non-bonded kernels for that.
-         */
-        md_print_warn(cr, fplog, "LJ-PME with Lorentz-Berthelot is not supported with GPUs, falling back to CPU only\n");
-        return FALSE;
-    }
-
     return TRUE;
 }
 
index 7cf2114f381e5d2fa9ee002ad1e999ac553b0359..14bdadede10ddc133513f026582c71a28e8b9c10 100644 (file)
@@ -2237,10 +2237,9 @@ static void close_ci_entry_simple(nbnxn_pairlist_t *nbl)
  */
 static void split_sci_entry(nbnxn_pairlist_t *nbl,
                             int nsp_target_av,
-                            gmx_bool progBal, int nsp_tot_est,
+                            gmx_bool progBal, float nsp_tot_est,
                             int thread, int nthread)
 {
-    int nsp_est;
     int nsp_max;
     int cj4_start, cj4_end, j4len;
     int sci;
@@ -2248,6 +2247,8 @@ static void split_sci_entry(nbnxn_pairlist_t *nbl,
 
     if (progBal)
     {
+        float nsp_est;
+
         /* Estimate the total numbers of ci's of the nblist combined
          * over all threads using the target number of ci's.
          */
@@ -2257,9 +2258,9 @@ static void split_sci_entry(nbnxn_pairlist_t *nbl,
          * The last ci blocks should be smaller, to improve load balancing.
          * The factor 3/2 makes the first block 3/2 times the target average
          * and ensures that the total number of blocks end up equal to
-         * that with of equally sized blocks of size nsp_target_av.
+         * that of equally sized blocks of size nsp_target_av.
          */
-        nsp_max = nsp_target_av*nsp_tot_est*3/(2*(nsp_est + nsp_tot_est));
+        nsp_max = static_cast<int>(nsp_target_av*(nsp_tot_est*1.5/(nsp_est + nsp_tot_est)));
     }
     else
     {
@@ -2337,7 +2338,7 @@ static void split_sci_entry(nbnxn_pairlist_t *nbl,
 /* Clost this super/sub list i entry */
 static void close_ci_entry_supersub(nbnxn_pairlist_t *nbl,
                                     int nsp_max_av,
-                                    gmx_bool progBal, int nsp_tot_est,
+                                    gmx_bool progBal, float nsp_tot_est,
                                     int thread, int nthread)
 {
     /* All content of the new ci entry have already been filled correctly,
@@ -2617,7 +2618,7 @@ static void get_nsubpair_target(const nbnxn_search_t  nbs,
                                 real                  rlist,
                                 int                   min_ci_balanced,
                                 int                  *nsubpair_target,
-                                int                  *nsubpair_tot_est)
+                                float                *nsubpair_tot_est)
 {
     /* The target value of 36 seems to be the optimum for Kepler.
      * Maxwell is less sensitive to the exact value.
@@ -2629,9 +2630,15 @@ static void get_nsubpair_target(const nbnxn_search_t  nbs,
 
     grid = &nbs->grid[0];
 
+    /* We don't need to balance list sizes if:
+     * - We didn't request balancing.
+     * - The number of grid cells >= the number of lists requested,
+     *   since we will always generate at least #cells lists.
+     * - We don't have any cells, since then there won't be any lists.
+     */
     if (min_ci_balanced <= 0 || grid->nc >= min_ci_balanced || grid->nc == 0)
     {
-        /* We don't need to balance the list sizes */
+        /* nsubpair_target==0 signals no balancing */
         *nsubpair_target  = 0;
         *nsubpair_tot_est = 0;
 
@@ -3130,7 +3137,7 @@ static void nbnxn_make_pairlist_part(const nbnxn_search_t nbs,
                                      gmx_bool bFBufferFlag,
                                      int nsubpair_max,
                                      gmx_bool progBal,
-                                     int nsubpair_tot_est,
+                                     float nsubpair_tot_est,
                                      int th, int nth,
                                      nbnxn_pairlist_t *nbl,
                                      t_nblist *nbl_fep)
@@ -3895,7 +3902,8 @@ void nbnxn_make_pairlist(const nbnxn_search_t  nbs,
     nbnxn_grid_t      *gridi, *gridj;
     gmx_bool           bGPUCPU;
     int                nzi, zj0, zj1;
-    int                nsubpair_target, nsubpair_tot_est;
+    int                nsubpair_target;
+    float              nsubpair_tot_est;
     int                nnbl;
     nbnxn_pairlist_t **nbl;
     int                ci_block;
index e8e117b4287b59f823de629bb02c7fa0e36d8436..78ece843ca9321ea3707a4833b826577dbefeb37 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2016, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -110,7 +110,7 @@ void init_ekindata(FILE gmx_unused *log, gmx_mtop_t *mtop, t_grpopts *opts,
      * Turn this on when we have multiple acceleration groups
      * or one accelerated group.
      */
-    ekind->bNEMD = (opts->ngacc > 1 || norm(opts->acc[0]) > 0);
+    ekind->bNEMD = (opts->ngacc > 1 || norm2(opts->acc[0]) > 0);
 
     ekind->ngtc = opts->ngtc;
     snew(ekind->tcstat, opts->ngtc);
index 95e13233f98bce2e8d712ac591f279a1de968090..c5afe10f5825604a275097a935a50a9806191e2b 100644 (file)
@@ -344,6 +344,29 @@ void cmp_iparm_AB(FILE *fp, const char *s, t_functype ft, t_iparams ip1, real ft
     }
 }
 
+static void cmp_cmap(FILE *fp, const gmx_cmap_t *cmap1, const gmx_cmap_t *cmap2, real ftol, real abstol)
+{
+    cmp_int(fp, "cmap ngrid", -1, cmap1->ngrid, cmap2->ngrid);
+    cmp_int(fp, "cmap grid_spacing", -1, cmap1->grid_spacing, cmap2->grid_spacing);
+    if (cmap1->ngrid == cmap2->ngrid &&
+        cmap1->grid_spacing == cmap2->grid_spacing)
+    {
+        int g;
+
+        for (g = 0; g < cmap1->ngrid; g++)
+        {
+            int i;
+
+            fprintf(fp, "comparing cmap %d\n", g);
+
+            for (i = 0; i < 4*cmap1->grid_spacing*cmap1->grid_spacing; i++)
+            {
+                cmp_real(fp, "", i, cmap1->cmapdata[g].cmap[i], cmap2->cmapdata[g].cmap[i], ftol, abstol);
+            }
+        }
+    }
+}
+
 static void cmp_idef(FILE *fp, t_idef *id1, t_idef *id2, real ftol, real abstol)
 {
     int  i;
@@ -363,6 +386,7 @@ static void cmp_idef(FILE *fp, t_idef *id1, t_idef *id2, real ftol, real abstol)
                       id1->iparams[i], id2->iparams[i], ftol, abstol);
         }
         cmp_real(fp, "fudgeQQ", -1, id1->fudgeQQ, id2->fudgeQQ, ftol, abstol);
+        cmp_cmap(fp, &id1->cmap_grid, &id2->cmap_grid, ftol, abstol);
         for (i = 0; (i < F_NRE); i++)
         {
             cmp_ilist(fp, i, &(id1->il[i]), &(id2->il[i]));