#
# 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.
.. |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
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
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}
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
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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+++ /dev/null
-%!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
-%!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
/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
-%!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
/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
-%!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
/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
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;
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);
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;
}
*/
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;
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.
*/
* 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
{
/* 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,
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.
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;
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)
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;
*
* 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.
* 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);
}
}
+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;
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]));