Compare commits
350 Commits
patch_4May
...
patch_23Ju
| Author | SHA1 | Date | |
|---|---|---|---|
| 1370385c8c | |||
| 2240c3d7d3 | |||
| 4fcbd58d5a | |||
| 25a5d12af3 | |||
| feb500b526 | |||
| a714b57741 | |||
| c5430b0a26 | |||
| 60c3f3d64c | |||
| 7a4a569859 | |||
| 4fc3f4f7e5 | |||
| b0ddabbcde | |||
| de3157f720 | |||
| 0c6a751751 | |||
| 612b44a895 | |||
| 684b7334a5 | |||
| 1fc2eb1e3e | |||
| e69ef56f10 | |||
| 7dc380b113 | |||
| 1a77135ed6 | |||
| f45c7e1fb0 | |||
| 0cfe8980d4 | |||
| 2988508cee | |||
| 15c596153a | |||
| e13c94ed4f | |||
| 812f1a8fab | |||
| 218bc92c82 | |||
| ffa906de6f | |||
| cccf72a21d | |||
| 87c028ed02 | |||
| 84b530cca1 | |||
| 50c9167913 | |||
| d2610d9e7c | |||
| 326a8a1289 | |||
| b5300724bb | |||
| e129f18e6f | |||
| 8c54fcd1b6 | |||
| f5047ac3c7 | |||
| 164cedf353 | |||
| 3c329d1707 | |||
| b687d16177 | |||
| 9d3e34e492 | |||
| 8988b692a3 | |||
| c97415aefa | |||
| 9b8de3ba29 | |||
| cd88b31450 | |||
| 9b9f6d6fe2 | |||
| c1b0b1b3f9 | |||
| bc0241576f | |||
| 2a6f026853 | |||
| 8728a8ddae | |||
| 9aa450b832 | |||
| 0588c382f0 | |||
| d3c90f3c14 | |||
| b62d526cc9 | |||
| 1a29048940 | |||
| 0a6b3f8790 | |||
| 7227bc415d | |||
| a4bc233d86 | |||
| 5c5b4ffadb | |||
| 30177c4eae | |||
| 178eff237b | |||
| 576b7f1d97 | |||
| 86369fec6b | |||
| 79341ac5d1 | |||
| 66945294a9 | |||
| 9a7207e34c | |||
| d41c617d1d | |||
| 1ec9e588ff | |||
| 3c7417fb59 | |||
| 34cfc7bd51 | |||
| c98bb7fa5f | |||
| 77ca68a2b4 | |||
| 06fe703eed | |||
| 8500a197ae | |||
| 1f17e8ebbb | |||
| fcc387f232 | |||
| e7634a44f4 | |||
| 3214d639aa | |||
| 0ad66ecb89 | |||
| e139a7fd45 | |||
| d7646aeeed | |||
| 5f9341813d | |||
| 8441307185 | |||
| 720af5c360 | |||
| eeff0b8633 | |||
| 32b967ed9c | |||
| 11751521e7 | |||
| 7a05d87f7c | |||
| b01143102d | |||
| e530ba46f4 | |||
| 420db44596 | |||
| cfeb9b5ba5 | |||
| 0c805d0b70 | |||
| 6b289b0794 | |||
| daa77176ad | |||
| 8f18c284d3 | |||
| 06915162b0 | |||
| a849f35dcd | |||
| 4c69bbcf5c | |||
| dd44189d1f | |||
| 2f6bbcfbbc | |||
| 2686b7f830 | |||
| d3a863e7af | |||
| 64e8000720 | |||
| c160d0cd5e | |||
| 9222278fb5 | |||
| bdf03757e6 | |||
| c81bc108f9 | |||
| 10d2e7c380 | |||
| bd83c7c7f9 | |||
| d51cee1b82 | |||
| be476c9e1d | |||
| 0ecdb99885 | |||
| 00ce15d043 | |||
| 5c1d17d1c0 | |||
| afd4f5b0a6 | |||
| 31a734b03d | |||
| 2e728972e2 | |||
| 36c8b26fef | |||
| 99ef36f440 | |||
| a2edef7c9c | |||
| 1f9504c546 | |||
| 04ebd81ac5 | |||
| 5cb56796a2 | |||
| 0c1b87c8cf | |||
| cd67eaa5f4 | |||
| 18dee3f78e | |||
| 06c8e95774 | |||
| d437650c77 | |||
| 46c5cbae8f | |||
| deff6c666e | |||
| 3a01836325 | |||
| 0034d2db35 | |||
| ed50bd2254 | |||
| 90ca0852c7 | |||
| 968de8548c | |||
| 95d6f05a76 | |||
| ff58ccac28 | |||
| e03cc99467 | |||
| f59ee5bd62 | |||
| af5f19604c | |||
| 3025996407 | |||
| d2b6559039 | |||
| 3c0cef9927 | |||
| 937cf0b996 | |||
| f57f1efdff | |||
| 2b3c124e61 | |||
| 85e917ae52 | |||
| 0be2cd3d43 | |||
| 066123007c | |||
| 167a51538e | |||
| 5c6f63d8b4 | |||
| 03ab8d0f48 | |||
| 75b567a457 | |||
| cace3e3530 | |||
| 286d4f2743 | |||
| 952b18fc02 | |||
| 816fa93429 | |||
| f4f975edd6 | |||
| cff4e4a837 | |||
| 32db4660bd | |||
| 22fdb1fc14 | |||
| 412cb8f089 | |||
| 092806ad4f | |||
| 4ae314731d | |||
| 4b8d2e829c | |||
| d93938f7e1 | |||
| c904cfb8bc | |||
| 32c87f3131 | |||
| ba0ddea5e1 | |||
| c0339120d2 | |||
| 5a23d2d1da | |||
| de446ace2f | |||
| 2055110e05 | |||
| 5b1e582f03 | |||
| f1ec6dc41a | |||
| c3f6e27bfe | |||
| 0a2fe70511 | |||
| 53e7fee5b7 | |||
| 5291f2ed6e | |||
| 99a68e487f | |||
| 271431ab18 | |||
| 88d4150d2b | |||
| 0e3cfbc007 | |||
| 5345ad2da7 | |||
| ead05f81c0 | |||
| 4f9e7cbd16 | |||
| bb890941ca | |||
| 4002dce639 | |||
| c801cdd81f | |||
| 9008a31190 | |||
| bdfb7c69ea | |||
| 084626e60b | |||
| a7d790a827 | |||
| 8a630ff4ec | |||
| 617ca4e0c8 | |||
| 62601678cd | |||
| 081910adbc | |||
| f73fd0625d | |||
| 06a4f47a4c | |||
| 7185db98b4 | |||
| 4780d72809 | |||
| 3fd91a239f | |||
| 8bc829c7f1 | |||
| 97d3c843c4 | |||
| 546aed7ccd | |||
| 6ef79d3715 | |||
| c2bf3269ac | |||
| aca16745e4 | |||
| a5110d81ea | |||
| 2225fce94e | |||
| 9593e05c9e | |||
| 941b737319 | |||
| 654e09e999 | |||
| 8751850eca | |||
| 0f88348917 | |||
| d4ee03c778 | |||
| 069f3e746b | |||
| b28ecd44c2 | |||
| 9db9fc9de3 | |||
| 6ac9b7a1b0 | |||
| 34dbf6b225 | |||
| 26d71b66e4 | |||
| 65eacb6b90 | |||
| cb3344a337 | |||
| 5d38cbbce9 | |||
| 30babd8157 | |||
| aa09f45b7e | |||
| 4b61cf6f52 | |||
| 683f3d9d2a | |||
| ce18524251 | |||
| 95dae9737b | |||
| 8daba01151 | |||
| 640edbc1d4 | |||
| 4b1914aa1f | |||
| bd11479a16 | |||
| 0208fe9996 | |||
| 24654ad28f | |||
| 8d46aa6056 | |||
| 09f3b687f7 | |||
| 436d3fd761 | |||
| 9833f38499 | |||
| 9725708b90 | |||
| 67962b15fc | |||
| 1d48f287f0 | |||
| 43efe9e417 | |||
| 278b9f7fba | |||
| 085f3afdfb | |||
| 45becfb235 | |||
| a34c935e20 | |||
| 13e16dc3f1 | |||
| 96f0a82aa5 | |||
| 7caf6cf459 | |||
| 8936b99e9f | |||
| d2810f9f83 | |||
| 597f95fb1b | |||
| 7f9a331c73 | |||
| 35e92733e9 | |||
| c11e87618b | |||
| ca87e57129 | |||
| 66084ad1f4 | |||
| d807ba1974 | |||
| 51fc386e72 | |||
| a6f0d700f1 | |||
| 14f3deed6b | |||
| d66a696a84 | |||
| 69ccbd1562 | |||
| d9d4ef17c8 | |||
| 93cc6f4a5d | |||
| 0a40a7af7b | |||
| eb6f6a77e5 | |||
| fb7164a811 | |||
| 64cf52d3b5 | |||
| 6a1f7e61f2 | |||
| d662f5d429 | |||
| df55a90ef6 | |||
| 6e113c1eaf | |||
| f484ab6dfb | |||
| 86283c6309 | |||
| 34cc3946b8 | |||
| 6aa0250bc5 | |||
| c5db3ff401 | |||
| 06c151421c | |||
| 0008b6fc2d | |||
| b6a70ec6fd | |||
| c4d0f07093 | |||
| 93f6033061 | |||
| 110bb79b14 | |||
| d84f8898b7 | |||
| 27a6371f9b | |||
| 7c3b8e014c | |||
| a069d21621 | |||
| d7f54464c6 | |||
| 998eb44e83 | |||
| 96d1de8575 | |||
| deff6ffaac | |||
| 328ef873d8 | |||
| 4ecf876a64 | |||
| c4ac5773cb | |||
| cac1bf83ef | |||
| abeb1e096a | |||
| 9f7ce39f9f | |||
| 29ae8d4ca3 | |||
| 3f4aee1046 | |||
| d0da0639f0 | |||
| 390ceb1475 | |||
| 6c5edf6c70 | |||
| 9cd994f57c | |||
| a6e2d5b5f7 | |||
| 08ec55743e | |||
| c4f90b3841 | |||
| f8af7edf92 | |||
| a73402ad93 | |||
| d7dbff0f54 | |||
| 42531389df | |||
| f7230006fe | |||
| 754b40cb31 | |||
| ffdc8b556d | |||
| 5accce976a | |||
| 349c1443a1 | |||
| 2f71245d82 | |||
| 480727815a | |||
| 45187a0fc7 | |||
| 7409c6d781 | |||
| 11cb0212b7 | |||
| 7adc7f02e0 | |||
| 50c7234f26 | |||
| f58fc9488f | |||
| 408cc19885 | |||
| c76d27373e | |||
| fb08dc09f3 | |||
| 914848433a | |||
| 8bddf105bf | |||
| 31446e35b9 | |||
| 9bdc43bb66 | |||
| a0b61d17b5 | |||
| 8cc8441367 | |||
| 7d9670bc6c | |||
| 67fced37c8 | |||
| 2e1f8b4aef | |||
| 958f05a6f3 | |||
| c9bc141335 | |||
| 3cbf4f3b58 | |||
| 6c2dd7ebb1 | |||
| d3187b22c4 | |||
| e6f30ebc9c | |||
| 3fa9f0a27b | |||
| 05d7bc556f | |||
| 2d8bce78a6 | |||
| 9a027a01da |
@ -100,6 +100,7 @@ epub: $(OBJECTS)
|
||||
|
||||
pdf: utils/txt2html/txt2html.exe
|
||||
@(\
|
||||
set -e; \
|
||||
cd src; \
|
||||
../utils/txt2html/txt2html.exe -b *.txt; \
|
||||
htmldoc --batch lammps.book; \
|
||||
@ -158,7 +159,7 @@ $(VENV):
|
||||
@( \
|
||||
virtualenv -p $(PYTHON) $(VENV); \
|
||||
. $(VENV)/bin/activate; \
|
||||
pip install Sphinx; \
|
||||
pip install Sphinx==1.5.6; \
|
||||
pip install sphinxcontrib-images; \
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
BIN
doc/src/Eqs/cnp_cutoff.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
14
doc/src/Eqs/cnp_cutoff.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass[12pt,article]{article}
|
||||
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
r_{c}^{fcc} & = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\
|
||||
r_{c}^{bcc} & = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\
|
||||
r_{c}^{hcp} & = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/cnp_cutoff2.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
12
doc/src/Eqs/cnp_cutoff2.tex
Normal file
@ -0,0 +1,12 @@
|
||||
\documentclass[12pt,article]{article}
|
||||
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
Rc + Rs > 2*{\rm cutoff}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/cnp_eq.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
9
doc/src/Eqs/cnp_eq.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 15 KiB |
@ -1,11 +0,0 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
F & = & F_{\mathrm{LJ}}(r) - F_{\mathrm{LJ}}(r_{\mathrm{c}}) \qquad r < r_{\mathrm{c}} \\
|
||||
E & = & E_{\mathrm{LJ}}(r) - E_{\mathrm{LJ}}(r_{\mathrm{c}}) + (r - r_{\mathrm{c}}) F_{\mathrm{LJ}}(r_{\mathrm{c}}) \qquad r < r_{\mathrm{c}} \\
|
||||
\mathrm{with} \qquad E_{\mathrm{LJ}}(r) & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad \mathrm{and} \qquad F_{\mathrm{LJ}}(r) = - E^\prime_{\mathrm{LJ}}(r)
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 21 KiB |
@ -1,13 +1,14 @@
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E=\sum_{ij}\phi(r_{ij})+\sum_{i}U(\rho_{i}),
|
||||
E=\sum_{i<j}\phi(r_{ij})+\sum_{i}U(n_{i}),
|
||||
$$
|
||||
|
||||
$$
|
||||
\rho_{i}=\sum_{j}\rho(r_{ij})+\sum_{jk}f(r_{ij})f(r_{ik})g[\cos(\theta_{jik})]
|
||||
n_{i}=\sum_{j}\rho(r_{ij})+\sum_{\substack{j<k,\\j,k\neq i}}f(r_{ij})f(r_{ik})g[\cos(\theta_{jik})]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
doc/src/Eqs/pair_meam_spline_multicomponent.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
14
doc/src/Eqs/pair_meam_spline_multicomponent.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E=\sum_{i<j}\phi_{ij}(r_{ij})+\sum_{i}U_i(n_{i}),
|
||||
$$
|
||||
|
||||
$$
|
||||
n_{i}=\sum_{j\ne i}\rho_j(r_{ij})+\sum_{\substack{j<k,\\j,k\neq i}}f_{j}(r_{ij})f_{k}(r_{ik})g_{jk}[\cos(\theta_{jik})]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="4 May 2017 version">
|
||||
<META NAME="docnumber" CONTENT="23 Jun 2017 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS Documentation :c,h3
|
||||
4 May 2017 version :c,h4
|
||||
23 Jun 2017 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
|
||||
@ -527,9 +527,9 @@ These are additional commands in USER packages, which can be used if
|
||||
"LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"dump custom/vtk"_dump_custom_vtk.html,
|
||||
"dump nc"_dump_nc.html,
|
||||
"dump nc/mpiio"_dump_nc.html,
|
||||
"dump netcdf"_dump_netcdf.html,
|
||||
"dump netcdf/mpiio"_dump_netcdf.html,
|
||||
"dump vtk"_dump_vtk.html,
|
||||
"group2ndx"_group2ndx.html,
|
||||
"ndx2group"_group2ndx.html,
|
||||
"temper/grem"_temper_grem.html :tb(c=3,ea=c)
|
||||
@ -618,6 +618,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"press/berendsen"_fix_press_berendsen.html,
|
||||
"print"_fix_print.html,
|
||||
"property/atom"_fix_property_atom.html,
|
||||
"python"_fix_python.html,
|
||||
"qeq/comb (o)"_fix_qeq_comb.html,
|
||||
"qeq/dynamic"_fix_qeq.html,
|
||||
"qeq/fire"_fix_qeq.html,
|
||||
@ -716,7 +717,7 @@ package"_Section_start.html#start_3.
|
||||
"phonon"_fix_phonon.html,
|
||||
"pimd"_fix_pimd.html,
|
||||
"qbmsst"_fix_qbmsst.html,
|
||||
"qeq/reax"_fix_qeq_reax.html,
|
||||
"qeq/reax (ko)"_fix_qeq_reax.html,
|
||||
"qmmm"_fix_qmmm.html,
|
||||
"qtb"_fix_qtb.html,
|
||||
"reax/c/bonds"_fix_reax_bonds.html,
|
||||
@ -830,6 +831,7 @@ package"_Section_start.html#start_3.
|
||||
|
||||
"ackland/atom"_compute_ackland_atom.html,
|
||||
"basal/atom"_compute_basal_atom.html,
|
||||
"cnp/atom"_compute_cnp_atom.html,
|
||||
"dpd"_compute_dpd.html,
|
||||
"dpd/atom"_compute_dpd_atom.html,
|
||||
"fep"_compute_fep.html,
|
||||
@ -931,6 +933,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"gran/hertz/history (o)"_pair_gran.html,
|
||||
"gran/hooke (o)"_pair_gran.html,
|
||||
"gran/hooke/history (o)"_pair_gran.html,
|
||||
"gw"_pair_gw.html,
|
||||
"gw/zbl"_pair_gw.html,
|
||||
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
||||
"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html,
|
||||
"kim"_pair_kim.html,
|
||||
@ -960,7 +964,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lj/expand (gko)"_pair_lj_expand.html,
|
||||
"lj/gromacs (gko)"_pair_gromacs.html,
|
||||
"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html,
|
||||
"lj/long/coul/long (o)"_pair_lj_long.html,
|
||||
"lj/long/coul/long (io)"_pair_lj_long.html,
|
||||
"lj/long/dipole/long"_pair_dipole.html,
|
||||
"lj/long/tip4p/long"_pair_lj_long.html,
|
||||
"lj/smooth (o)"_pair_lj_smooth.html,
|
||||
@ -982,6 +986,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"peri/pmb (o)"_pair_peri.html,
|
||||
"peri/ves"_pair_peri.html,
|
||||
"polymorphic"_pair_polymorphic.html,
|
||||
"python"_pair_python.html,
|
||||
"reax"_pair_reax.html,
|
||||
"rebo (o)"_pair_airebo.html,
|
||||
"resquared (go)"_pair_resquared.html,
|
||||
@ -1016,6 +1021,7 @@ package"_Section_start.html#start_3.
|
||||
"dpd/fdt/energy"_pair_dpd_fdt.html,
|
||||
"eam/cd (o)"_pair_eam.html,
|
||||
"edip (o)"_pair_edip.html,
|
||||
"edip/multi"_pair_edip.html,
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
@ -1033,7 +1039,6 @@ package"_Section_start.html#start_3.
|
||||
"lj/sdk (gko)"_pair_sdk.html,
|
||||
"lj/sdk/coul/long (go)"_pair_sdk.html,
|
||||
"lj/sdk/coul/msm (o)"_pair_sdk.html,
|
||||
"lj/sf (o)"_pair_lj_sf.html,
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
@ -1052,7 +1057,7 @@ package"_Section_start.html#start_3.
|
||||
"oxdna2/excv"_pair_oxdna2.html,
|
||||
"oxdna2/stk"_pair_oxdna2.html,
|
||||
"quip"_pair_quip.html,
|
||||
"reax/c (k)"_pair_reaxc.html,
|
||||
"reax/c (ko)"_pair_reaxc.html,
|
||||
"smd/hertz"_pair_smd_hertz.html,
|
||||
"smd/tlsph"_pair_smd_tlsph.html,
|
||||
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
|
||||
@ -1068,7 +1073,7 @@ package"_Section_start.html#start_3.
|
||||
"table/rx"_pair_table_rx.html,
|
||||
"tersoff/table (o)"_pair_tersoff.html,
|
||||
"thole"_pair_thole.html,
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -1220,7 +1225,7 @@ USER-OMP, t = OPT.
|
||||
"msm/cg (o)"_kspace_style.html,
|
||||
"pppm (go)"_kspace_style.html,
|
||||
"pppm/cg (o)"_kspace_style.html,
|
||||
"pppm/disp"_kspace_style.html,
|
||||
"pppm/disp (i)"_kspace_style.html,
|
||||
"pppm/disp/tip4p"_kspace_style.html,
|
||||
"pppm/stagger"_kspace_style.html,
|
||||
"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c)
|
||||
|
||||
@ -8890,6 +8890,14 @@ This is a requirement to use this potential. :dd
|
||||
|
||||
See the newton command. This is a restriction to use this potential. :dd
|
||||
|
||||
{Pair style vashishta/gpu requires atom IDs} :dt
|
||||
|
||||
This is a requirement to use this potential. :dd
|
||||
|
||||
{Pair style vashishta/gpu requires newton pair off} :dt
|
||||
|
||||
See the newton command. This is a restriction to use this potential. :dd
|
||||
|
||||
{Pair style tersoff/gpu requires atom IDs} :dt
|
||||
|
||||
This is a requirement to use the tersoff/gpu potential. :dd
|
||||
|
||||
@ -1938,7 +1938,7 @@ documentation in the src/library.cpp file for details, including
|
||||
which quantities can be queried by name:
|
||||
|
||||
void *lammps_extract_global(void *, char *)
|
||||
void lammps_extract_box(void *, double *, double *,
|
||||
void lammps_extract_box(void *, double *, double *,
|
||||
double *, double *, double *, int *, int *)
|
||||
void *lammps_extract_atom(void *, char *)
|
||||
void *lammps_extract_compute(void *, char *, int, int)
|
||||
@ -2682,14 +2682,14 @@ bond_coeff 2 25.724 0.0 :pre
|
||||
|
||||
When running dynamics with the adiabatic core/shell model, the
|
||||
following issues should be considered. The relative motion of
|
||||
the core and shell particles corresponds to the polarization,
|
||||
hereby an instantaneous relaxation of the shells is approximated
|
||||
the core and shell particles corresponds to the polarization,
|
||||
hereby an instantaneous relaxation of the shells is approximated
|
||||
and a fast core/shell spring frequency ensures a nearly constant
|
||||
internal kinetic energy during the simulation.
|
||||
internal kinetic energy during the simulation.
|
||||
Thermostats can alter this polarization behaviour, by scaling the
|
||||
internal kinetic energy, meaning the shell will not react freely to
|
||||
its electrostatic environment.
|
||||
Therefore it is typically desirable to decouple the relative motion of
|
||||
internal kinetic energy, meaning the shell will not react freely to
|
||||
its electrostatic environment.
|
||||
Therefore it is typically desirable to decouple the relative motion of
|
||||
the core/shell pair, which is an imaginary degree of freedom, from the
|
||||
real physical system. To do that, the "compute
|
||||
temp/cs"_compute_temp_cs.html command can be used, in conjunction with
|
||||
@ -2721,13 +2721,13 @@ fix thermostatequ all nve # integrator as needed f
|
||||
fix_modify thermoberendsen temp CSequ
|
||||
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
|
||||
|
||||
The pressure for the core/shell system is computed via the regular
|
||||
LAMMPS convention by "treating the cores and shells as individual
|
||||
particles"_#MitchellFincham2. For the thermo output of the pressure
|
||||
as well as for the application of a barostat, it is necessary to
|
||||
use an additional "pressure"_compute_pressure compute based on the
|
||||
default "temperature"_compute_temp and specifying it as a second
|
||||
argument in "fix modify"_fix_modify.html and
|
||||
The pressure for the core/shell system is computed via the regular
|
||||
LAMMPS convention by "treating the cores and shells as individual
|
||||
particles"_#MitchellFincham2. For the thermo output of the pressure
|
||||
as well as for the application of a barostat, it is necessary to
|
||||
use an additional "pressure"_compute_pressure compute based on the
|
||||
default "temperature"_compute_temp and specifying it as a second
|
||||
argument in "fix modify"_fix_modify.html and
|
||||
"thermo_modify"_thermo_modify.html resulting in:
|
||||
|
||||
(...)
|
||||
@ -2757,18 +2757,18 @@ temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
|
||||
velocity all create 1427 134 bias yes temp CSequ
|
||||
velocity all scale 1427 temp CSequ :pre
|
||||
|
||||
To maintain the correct polarizability of the core/shell pairs, the
|
||||
kinetic energy of the internal motion shall remain nearly constant.
|
||||
Therefore the choice of spring force and mass ratio need to ensure
|
||||
much faster relative motion of the 2 atoms within the core/shell pair
|
||||
than their center-of-mass velocity. This allows the shells to
|
||||
effectively react instantaneously to the electrostatic environment and
|
||||
To maintain the correct polarizability of the core/shell pairs, the
|
||||
kinetic energy of the internal motion shall remain nearly constant.
|
||||
Therefore the choice of spring force and mass ratio need to ensure
|
||||
much faster relative motion of the 2 atoms within the core/shell pair
|
||||
than their center-of-mass velocity. This allows the shells to
|
||||
effectively react instantaneously to the electrostatic environment and
|
||||
limits energy transfer to or from the core/shell oscillators.
|
||||
This fast movement also dictates the timestep that can be used.
|
||||
|
||||
The primary literature of the adiabatic core/shell model suggests that
|
||||
the fast relative motion of the core/shell pairs only allows negligible
|
||||
energy transfer to the environment.
|
||||
energy transfer to the environment.
|
||||
The mentioned energy transfer will typically lead to a small drift
|
||||
in total energy over time. This internal energy can be monitored
|
||||
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
|
||||
@ -2790,7 +2790,7 @@ pairs as chunks.
|
||||
|
||||
For example if core/shell pairs are the only molecules:
|
||||
|
||||
read_data NaCl_CS_x0.1_prop.data
|
||||
read_data NaCl_CS_x0.1_prop.data
|
||||
compute prop all property/atom molecule
|
||||
compute cs_chunk all chunk/atom c_prop
|
||||
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs
|
||||
|
||||
@ -123,7 +123,7 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, -
|
||||
"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, -
|
||||
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, -
|
||||
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext
|
||||
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext
|
||||
"USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext
|
||||
"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, WWW bench, -
|
||||
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, -
|
||||
@ -135,7 +135,7 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, -
|
||||
"USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, -
|
||||
"USER-TALLY"_#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, -
|
||||
"USER-VTK"_#USER-VTK, dump output via VTK, "compute custom/vtk"_dump_custom_vtk.html, -, ext
|
||||
"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext
|
||||
:tb(ea=c,ca1=l)
|
||||
|
||||
:line
|
||||
@ -529,7 +529,7 @@ what hardware and software is required on your system, and how to
|
||||
build and use this package. Its styles can be invoked at run time via
|
||||
the "-sf kk" or "-suffix kk" "command-line
|
||||
switches"_Section_start.html#start_7. Also see the "GPU"_#GPU,
|
||||
"OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER_OMP
|
||||
"OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP
|
||||
packages, which have styles optimized for CPUs, KNLs, and GPUs.
|
||||
|
||||
You must have a C++11 compatible compiler to use this package.
|
||||
@ -585,7 +585,7 @@ do not recommend building with other acceleration packages installed
|
||||
|
||||
make yes-kokkos
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-kokkos
|
||||
make machine :pre
|
||||
|
||||
@ -839,13 +839,13 @@ written and read in parallel.
|
||||
Note that MPIIO is part of the standard message-passing interface
|
||||
(MPI) library, so you should not need any additional compiler or link
|
||||
settings, beyond what LAMMPS normally uses for MPI on your system.
|
||||
|
||||
|
||||
make yes-mpiio
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-mpiio
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/MPIIO: filenames -> commands
|
||||
@ -855,16 +855,16 @@ src/MPIIO: filenames -> commands
|
||||
"read_restart"_read_restart.html :ul
|
||||
|
||||
:line
|
||||
|
||||
MSCG package :link(MSCG),h4
|
||||
|
||||
MSCG package :link(mscg),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A "fix mscg"_fix_mscg.html command which can parameterize a
|
||||
Mulit-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
|
||||
library"_mscg.
|
||||
library"_mscg_home.
|
||||
|
||||
:link(mscg,https://github.com/uchicago-voth/MSCG-release)
|
||||
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
|
||||
|
||||
To use this package you must have the MS-CG library available on your
|
||||
system.
|
||||
@ -914,7 +914,7 @@ lib/mscg/README
|
||||
examples/mscg :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
OPT package :link(OPT),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1323,11 +1323,11 @@ VORONOI package :link(VORONOI),h4
|
||||
[Contents:]
|
||||
|
||||
A compute command which calculates the Voronoi tesselation of a
|
||||
collection of atoms by wrapping the "Voro++ library"_voronoi. This
|
||||
collection of atoms by wrapping the "Voro++ library"_voro_home. This
|
||||
can be used to calculate the local volume or each atoms or its near
|
||||
neighbors.
|
||||
|
||||
:link(voronoi,http://math.lbl.gov/voro++)
|
||||
:link(voro_home,http://math.lbl.gov/voro++)
|
||||
|
||||
To use this package you must have the Voro++ library available on your
|
||||
system.
|
||||
@ -1387,7 +1387,7 @@ atomic information to continuum fields.
|
||||
[Authors:] Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
Before building LAMMPS with this package, you must first build the ATC
|
||||
library in lib/atc. You can do this manually if you prefer; follow
|
||||
the instructions in lib/atc/README. You can also do it in one step
|
||||
@ -1420,10 +1420,10 @@ usual manner:
|
||||
|
||||
make yes-user-atc
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-atc
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-ATC: filenames -> commands
|
||||
@ -1446,7 +1446,7 @@ model.
|
||||
[Author:] Ilya Valuev (JIHT, Russia).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
Before building LAMMPS with this package, you must first build the
|
||||
AWPMD library in lib/awpmd. You can do this manually if you prefer;
|
||||
follow the instructions in lib/awpmd/README. You can also do it in
|
||||
@ -1479,16 +1479,15 @@ usual manner:
|
||||
|
||||
make yes-user-awpmd
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-awpmd
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-AWPMD: filenames -> commands
|
||||
src/USER-AWPMD/README
|
||||
"pair awpmd/cut"_pair_awpmd.html
|
||||
"fix nve/awpmd"_fix_nve_awpmd.html
|
||||
examples/USER/awpmd :ul
|
||||
|
||||
:line
|
||||
@ -1503,16 +1502,16 @@ oxDNA model of Doye, Louis and Ouldridge at the University of Oxford.
|
||||
This includes Langevin-type rigid-body integrators with improved
|
||||
stability.
|
||||
|
||||
[Author:] Oliver Henrich (University of Edinburgh).
|
||||
[Author:] Oliver Henrich (University of Strathclyde, Glasgow).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-cgdna
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-cgdna
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-CGDNA: filenames -> commands
|
||||
@ -1520,7 +1519,7 @@ src/USER-CGDNA: filenames -> commands
|
||||
"pair_style oxdna/*"_pair_oxdna.html
|
||||
"pair_style oxdna2/*"_pair_oxdna2.html
|
||||
"bond_style oxdna/*"_bond_oxdna.html
|
||||
"bond_style oxdna2/*"_bond_oxdna2.html
|
||||
"bond_style oxdna2/*"_bond_oxdna.html
|
||||
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
|
||||
|
||||
:line
|
||||
@ -1537,13 +1536,13 @@ acids.
|
||||
[Author:] Axel Kohlmeyer (Temple U).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-cgsdk
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-cgsdk
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-CGSDK: filenames -> commands
|
||||
@ -1571,7 +1570,7 @@ by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and
|
||||
Jerome Henin (LISM, CNRS, Marseille, France).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
Before building LAMMPS with this package, you must first build the
|
||||
COLVARS library in lib/colvars. You can do this manually if you
|
||||
prefer; follow the instructions in lib/colvars/README. You can also
|
||||
@ -1595,10 +1594,10 @@ usual manner:
|
||||
|
||||
make yes-user-colvars
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-colvars
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-COLVARS: filenames -> commands
|
||||
@ -1620,13 +1619,13 @@ intensities based on kinematic diffraction theory.
|
||||
[Author:] Shawn Coleman while at the U Arkansas.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-diffraction
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-diffraction
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-DIFFRACTION: filenames -> commands
|
||||
@ -1655,13 +1654,13 @@ algorithm.
|
||||
Brennan (ARL).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-dpd
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-dpd
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-DPD: filenames -> commands
|
||||
@ -1697,13 +1696,13 @@ tools/drude.
|
||||
Devemy (CNRS), and Agilio Padua (U Blaise Pascal).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-drude
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-drude
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-DRUDE: filenames -> commands
|
||||
@ -1735,21 +1734,21 @@ tools/eff; see its README file.
|
||||
[Author:] Andres Jaramillo-Botero (CalTech).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-eff
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-eff
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-EFF: filenames -> commands
|
||||
src/USER-EFF/README
|
||||
"atom_style electron"_atom_style.html
|
||||
"fix nve/eff"_fix_nve_eff.html
|
||||
"fix nvt/eff"_fix_nvt_eff.html
|
||||
"fix npt/eff"_fix_npt_eff.html
|
||||
"fix nvt/eff"_fix_nh_eff.html
|
||||
"fix npt/eff"_fix_nh_eff.html
|
||||
"fix langevin/eff"_fix_langevin_eff.html
|
||||
"compute temp/eff"_compute_temp_eff.html
|
||||
"pair eff/cut"_pair_eff.html
|
||||
@ -1774,13 +1773,13 @@ for using this package in tools/fep; see its README file.
|
||||
[Author:] Agilio Padua (Universite Blaise Pascal Clermont-Ferrand)
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-fep
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-fep
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-FEP: filenames -> commands
|
||||
@ -1837,13 +1836,13 @@ file.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
|
||||
|
||||
make yes-user-h5md
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-h5md
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-H5MD: filenames -> commands
|
||||
@ -1909,7 +1908,7 @@ explained in "Section 5.3.2"_accelerate_intel.html.
|
||||
|
||||
make yes-user-intel yes-user-omp
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-intel no-user-omp
|
||||
make machine :pre
|
||||
|
||||
@ -1939,13 +1938,13 @@ can be used to model MD particles influenced by hydrodynamic forces.
|
||||
Ontario).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-lb
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-lb
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-LB: filenames -> commands
|
||||
@ -1973,13 +1972,13 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL.
|
||||
[Authors:] Tomas Oppelstrup and John Moriarty (LLNL).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-mgpt
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-mgpt
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MGPT: filenames -> commands
|
||||
@ -2001,13 +2000,13 @@ dihedral, improper, or command style.
|
||||
src/USER-MISC/README file.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-misc
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-misc
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MISC: filenames -> commands
|
||||
@ -2028,25 +2027,25 @@ algorithm to formulate single-particle constraint functions
|
||||
g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold)
|
||||
n = grad(g).
|
||||
|
||||
[Author:] Stefan Paquay (Eindhoven University of Technology (TU/e), The
|
||||
Netherlands)
|
||||
[Author:] Stefan Paquay (until 2017: Eindhoven University of Technology (TU/e), The
|
||||
Netherlands; since 2017: Brandeis University, Waltham, MA, USA)
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-manifold
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-manifold
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MANIFOLD: filenames -> commands
|
||||
src/USER-MANIFOLD/README
|
||||
"doc/manifolds"_manifolds.html
|
||||
"fix manifoldforce"_fix_manifoldforce.html
|
||||
"fix nve/manifold/rattle"_fix_nve_manifold/rattle.html
|
||||
"fix nvt/manifold/rattle"_fix_nvt_manifold/rattle.html
|
||||
"fix nve/manifold/rattle"_fix_nve_manifold_rattle.html
|
||||
"fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html
|
||||
examples/USER/manifold
|
||||
http://lammps.sandia.gov/movies.html#manifold :ul
|
||||
|
||||
@ -2057,11 +2056,13 @@ USER-MOLFILE package :link(USER-MOLFILE),h4
|
||||
[Contents:]
|
||||
|
||||
A "dump molfile"_dump_molfile.html command which uses molfile plugins
|
||||
that are bundled with the "VMD"_http://www.ks.uiuc.edu/Research/vmd
|
||||
that are bundled with the "VMD"_vmd_home
|
||||
molecular visualization and analysis program, to enable LAMMPS to dump
|
||||
snapshots in formats compatible with various molecular simulation
|
||||
tools.
|
||||
|
||||
:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd)
|
||||
|
||||
To use this package you must have the desired VMD plugins available on
|
||||
your system.
|
||||
|
||||
@ -2079,7 +2080,7 @@ at
|
||||
[Author:] Axel Kohlmeyer (Temple U).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
Note that the lib/molfile/Makefile.lammps file has a setting for a
|
||||
dynamic loading library libdl.a that should is typically present on
|
||||
all systems, which is required for LAMMPS to link with this package.
|
||||
@ -2089,10 +2090,10 @@ lib/molfile/Makefile.lammps for details.
|
||||
|
||||
make yes-user-molfile
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-molfile
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MOLFILE: filenames -> commands
|
||||
@ -2118,7 +2119,7 @@ Note that NetCDF files can be directly visualized with the following
|
||||
tools:
|
||||
|
||||
"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above)
|
||||
"VMD"_vmd
|
||||
"VMD"_vmd_home
|
||||
"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
|
||||
|
||||
:link(ovito,http://www.ovito.org)
|
||||
@ -2127,7 +2128,7 @@ tools:
|
||||
[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
Note that to follow these steps, you need the standard NetCDF software
|
||||
package installed on your system. The lib/netcdf/Makefile.lammps file
|
||||
has settings for NetCDF include and library files that LAMMPS needs to
|
||||
@ -2137,7 +2138,7 @@ lib/netcdf/README for details.
|
||||
|
||||
make yes-user-netcdf
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-netcdf
|
||||
make machine :pre
|
||||
|
||||
@ -2177,10 +2178,10 @@ Once you have an appropriate Makefile.machine, you can
|
||||
install/un-install the package and build LAMMPS in the usual manner:
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-omp
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-omp
|
||||
make machine :pre
|
||||
|
||||
@ -2212,13 +2213,13 @@ relations, directly from molecular dynamics simulations.
|
||||
[Author:] Ling-Ti Kong (Shanghai Jiao Tong University).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-phonon
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-phonon
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-PHONON: filenames -> commands
|
||||
@ -2234,7 +2235,7 @@ USER-QMMM package :link(USER-QMMM),h4
|
||||
|
||||
A "fix qmmm"_fix_qmmm.html command which allows LAMMPS to be used in a
|
||||
QM/MM simulation, currently only in combination with the "Quantum
|
||||
ESPRESSO"_espresso package.
|
||||
ESPRESSO"_espresso package.
|
||||
|
||||
:link(espresso,http://www.quantum-espresso.org)
|
||||
|
||||
@ -2274,7 +2275,7 @@ usual manner:
|
||||
|
||||
make yes-user-qmmm
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-qmmm
|
||||
make machine :pre
|
||||
|
||||
@ -2283,7 +2284,7 @@ for a QM/MM simulation. You must also build Quantum ESPRESSO and
|
||||
create a new executable which links LAMMPS and Quanutm ESPRESSO
|
||||
together. These are steps 3 and 4 described in the lib/qmmm/README
|
||||
file.
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-QMMM: filenames -> commands
|
||||
@ -2311,13 +2312,13 @@ simulation.
|
||||
[Author:] Yuan Shen (Stanford U).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-qtb
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-qtb
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-QTB: filenames -> commands
|
||||
@ -2361,10 +2362,10 @@ usual manner:
|
||||
|
||||
make yes-user-quip
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-quip
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-QUIP: filenames -> commands
|
||||
@ -2387,13 +2388,13 @@ for monitoring molecules as bonds are created and destroyed.
|
||||
[Author:] Hasan Metin Aktulga (MSU) while at Purdue University.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-reaxc
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-reaxc
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-REAXC: filenames -> commands
|
||||
@ -2450,10 +2451,10 @@ usual manner:
|
||||
|
||||
make yes-user-smd
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-smd
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SMD: filenames -> commands
|
||||
@ -2476,13 +2477,13 @@ ionocovalent bonds in oxides.
|
||||
Tetot (LAAS-CNRS, France).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-smtbq
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-smtbq
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SMTBQ: filenames -> commands
|
||||
@ -2515,13 +2516,13 @@ property/atom"_compute_property_atom.html command.
|
||||
Dynamics, Ernst Mach Institute, Germany).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-sph
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-sph
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SPH: filenames -> commands
|
||||
@ -2543,13 +2544,13 @@ stress, etc) about individual interactions.
|
||||
[Author:] Axel Kohlmeyer (Temple U).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
make yes-user-tally
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-tally
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-TALLY: filenames -> commands
|
||||
@ -2563,7 +2564,7 @@ USER-VTK package :link(USER-VTK),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A "dump custom/vtk"_dump_custom_vtk.html command which outputs
|
||||
A "dump vtk"_dump_vtk.html command which outputs
|
||||
snapshot info in the "VTK format"_vtk, enabling visualization by
|
||||
"Paraview"_paraview or other visuzlization packages.
|
||||
|
||||
@ -2576,7 +2577,7 @@ system.
|
||||
[Authors:] Richard Berger (JKU) and Daniel Queteschiner (DCS Computing).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
|
||||
The lib/vtk/Makefile.lammps file has settings for accessing VTK files
|
||||
and its library, which are required for LAMMPS to build and link with
|
||||
this package. If the settings are not valid for your system, check if
|
||||
@ -2589,13 +2590,13 @@ usual manner:
|
||||
|
||||
make yes-user-vtk
|
||||
make machine :pre
|
||||
|
||||
|
||||
make no-user-vtk
|
||||
make machine :pre
|
||||
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-VTK: filenames -> commands
|
||||
src/USER-VTK/README
|
||||
lib/vtk/README
|
||||
"dump custom/vtk"_dump_custom_vtk.html :ul
|
||||
"dump vtk"_dump_vtk.html :ul
|
||||
|
||||
@ -118,18 +118,21 @@ check which version of Python you have installed, by simply typing
|
||||
|
||||
11.2 Overview of using Python from a LAMMPS script :link(py_2),h4
|
||||
|
||||
NOTE: It is not currently possible to use the "python"_python.html
|
||||
command described in this section with Python 3, only with Python 2.
|
||||
The C API changed from Python 2 to 3 and the LAMMPS code is not
|
||||
compatible with both.
|
||||
LAMMPS has several commands which can be used to invoke Python
|
||||
code directly from an input script:
|
||||
|
||||
LAMMPS has a "python"_python.html command which can be used in an
|
||||
input script to define and execute a Python function that you write
|
||||
the code for. The Python function can also be assigned to a LAMMPS
|
||||
python-style variable via the "variable"_variable.html command. Each
|
||||
time the variable is evaluated, either in the LAMMPS input script
|
||||
itself, or by another LAMMPS command that uses the variable, this will
|
||||
trigger the Python function to be invoked.
|
||||
"python"_python.html
|
||||
"variable python"_variable.html
|
||||
"fix python"_fix_python.html
|
||||
"pair_style python"_pair_python.html :ul
|
||||
|
||||
The "python"_python.html command which can be used to define and
|
||||
execute a Python function that you write the code for. The Python
|
||||
function can also be assigned to a LAMMPS python-style variable via
|
||||
the "variable"_variable.html command. Each time the variable is
|
||||
evaluated, either in the LAMMPS input script itself, or by another
|
||||
LAMMPS command that uses the variable, this will trigger the Python
|
||||
function to be invoked.
|
||||
|
||||
The Python code for the function can be included directly in the input
|
||||
script or in an auxiliary file. The function can have arguments which
|
||||
@ -162,8 +165,16 @@ doc page for its python-style variables for more info, including
|
||||
examples of Python code you can write for both pure Python operations
|
||||
and callbacks to LAMMPS.
|
||||
|
||||
To run pure Python code from LAMMPS, you only need to build LAMMPS
|
||||
with the PYTHON package installed:
|
||||
The "fix python"_fix_python.html command can execute
|
||||
Python code at selected timesteps during a simulation run.
|
||||
|
||||
The "pair_style python"_pair_python command allows you to define
|
||||
pairwise potentials as python code which encodes a single pairwise
|
||||
interaction. This is useful for rapid-developement and debugging of a
|
||||
new potential.
|
||||
|
||||
To use any of these commands, you only need to build LAMMPS with the
|
||||
PYTHON package installed:
|
||||
|
||||
make yes-python
|
||||
make machine :pre
|
||||
@ -703,7 +714,7 @@ stored in the "image" property. All three image flags are stored in
|
||||
a packed format in a single integer, so count would be 1 to retrieve
|
||||
that integer, however also a count value of 3 can be used and then
|
||||
the image flags will be unpacked into 3 individual integers, ordered
|
||||
in a similar fashion as coordinates.
|
||||
in a similar fashion as coordinates.
|
||||
|
||||
Note that the data structure gather_atoms("x") returns is different
|
||||
from the data structure returned by extract_atom("x") in four ways.
|
||||
|
||||
@ -655,8 +655,7 @@ This section has the following sub-sections:
|
||||
|
||||
2.3.1 "Package basics"_#start_3_1
|
||||
2.3.2 "Including/excluding packages"_#start_3_2
|
||||
2.3.3 "Packages that require extra libraries"_#start_3_3
|
||||
2.3.4 "Packages that require Makefile.machine settings"_#start_3_4 :all(b)
|
||||
2.3.3 "Packages that require extra libraries"_#start_3_3 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
@ -828,13 +827,13 @@ Packages in the tables "Section 4"_Section_packages.html with an "ext"
|
||||
in the last column link to exernal libraries whose source code is not
|
||||
included with LAMMPS. You must first download and install the library
|
||||
before building LAMMPS with that package installed. E.g. the voronoi
|
||||
package links to the freely available "Voro++ library"_voronoi. You
|
||||
package links to the freely available "Voro++ library"_voro_home2. You
|
||||
can often do the download/build in one step by typing "make lib-name
|
||||
args=..." from the src dir, with appropriate arguments. You can leave
|
||||
off the args to see a help message. See "Section
|
||||
4"_Section_packages.html for details for each package.
|
||||
|
||||
:link(voronoi,http://math.lbl.gov/voro++)
|
||||
:link(voro_home2,http://math.lbl.gov/voro++)
|
||||
|
||||
[Possible errors:]
|
||||
|
||||
|
||||
@ -30,8 +30,8 @@ Dihedral Styles: charmm, harmonic, opls :l
|
||||
Fixes: nve, npt, nvt, nvt/sllod :l
|
||||
Improper Styles: cvff, harmonic :l
|
||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, eam, gayberne,
|
||||
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
||||
K-Space Styles: pppm :l
|
||||
charmm/coul/long, lj/cut, lj/cut/coul/long, lj/long/coul/long, sw, tersoff :l
|
||||
K-Space Styles: pppm, pppm/disp :l
|
||||
:ule
|
||||
|
||||
[Speed-ups to expect:]
|
||||
@ -42,61 +42,88 @@ precision mode. Performance improvements are shown compared to
|
||||
LAMMPS {without using other acceleration packages} as these are
|
||||
under active development (and subject to performance changes). The
|
||||
measurements were performed using the input files available in
|
||||
the src/USER-INTEL/TEST directory. These are scalable in size; the
|
||||
results given are with 512K particles (524K for Liquid Crystal).
|
||||
Most of the simulations are standard LAMMPS benchmarks (indicated
|
||||
by the filename extension in parenthesis) with modifications to the
|
||||
run length and to add a warmup run (for use with offload
|
||||
benchmarks).
|
||||
the src/USER-INTEL/TEST directory with the provided run script.
|
||||
These are scalable in size; the results given are with 512K
|
||||
particles (524K for Liquid Crystal). Most of the simulations are
|
||||
standard LAMMPS benchmarks (indicated by the filename extension in
|
||||
parenthesis) with modifications to the run length and to add a
|
||||
warmup run (for use with offload benchmarks).
|
||||
|
||||
:c,image(JPG/user_intel.png)
|
||||
|
||||
Results are speedups obtained on Intel Xeon E5-2697v4 processors
|
||||
(code-named Broadwell) and Intel Xeon Phi 7250 processors
|
||||
(code-named Knights Landing) with "18 Jun 2016" LAMMPS built with
|
||||
Intel Parallel Studio 2016 update 3. Results are with 1 MPI task
|
||||
(code-named Knights Landing) with "June 2017" LAMMPS built with
|
||||
Intel Parallel Studio 2017 update 2. Results are with 1 MPI task
|
||||
per physical core. See {src/USER-INTEL/TEST/README} for the raw
|
||||
simulation rates and instructions to reproduce.
|
||||
|
||||
:line
|
||||
|
||||
[Accuracy and order of operations:]
|
||||
|
||||
In most molecular dynamics software, parallelization parameters
|
||||
(# of MPI, OpenMP, and vectorization) can change the results due
|
||||
to changing the order of operations with finite-precision
|
||||
calculations. The USER-INTEL package is deterministic. This means
|
||||
that the results should be reproducible from run to run with the
|
||||
{same} parallel configurations and when using determinstic
|
||||
libraries or library settings (MPI, OpenMP, FFT). However, there
|
||||
are differences in the USER-INTEL package that can change the
|
||||
order of operations compared to LAMMPS without acceleration:
|
||||
|
||||
Neighbor lists can be created in a different order :ulb,l
|
||||
Bins used for sorting atoms can be oriented differently :l
|
||||
The default stencil order for PPPM is 7. By default, LAMMPS will
|
||||
calculate other PPPM parameters to fit the desired acuracy with
|
||||
this order :l
|
||||
The {newton} setting applies to all atoms, not just atoms shared
|
||||
between MPI tasks :l
|
||||
Vectorization can change the order for adding pairwise forces :l
|
||||
:ule
|
||||
|
||||
The precision mode (described below) used with the USER-INTEL
|
||||
package can change the {accuracy} of the calculations. For the
|
||||
default {mixed} precision option, calculations between pairs or
|
||||
triplets of atoms are performed in single precision, intended to
|
||||
be within the inherent error of MD simulations. All accumulation
|
||||
is performed in double precision to prevent the error from growing
|
||||
with the number of atoms in the simulation. {Single} precision
|
||||
mode should not be used without appropriate validation.
|
||||
|
||||
:line
|
||||
|
||||
[Quick Start for Experienced Users:]
|
||||
|
||||
LAMMPS should be built with the USER-INTEL package installed.
|
||||
Simulations should be run with 1 MPI task per physical {core},
|
||||
not {hardware thread}.
|
||||
|
||||
For Intel Xeon CPUs:
|
||||
|
||||
Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. :ulb,l
|
||||
If using {kspace_style pppm} in the input script, add "neigh_modify binsize 3" and "kspace_modify diff ad" to the input script for better
|
||||
performance. :l
|
||||
"-pk intel 0 omp 2 -sf intel" added to LAMMPS command-line :l
|
||||
Set the environment variable KMP_BLOCKTIME=0 :l
|
||||
"-pk intel 0 omp $t -sf intel" added to LAMMPS command-line :l
|
||||
$t should be 2 for Intel Xeon CPUs and 2 or 4 for Intel Xeon Phi :l
|
||||
For some of the simple 2-body potentials without long-range
|
||||
electrostatics, performance and scalability can be better with
|
||||
the "newton off" setting added to the input script :l
|
||||
If using {kspace_style pppm} in the input script, add
|
||||
"kspace_modify diff ad" for better performance :l
|
||||
:ule
|
||||
|
||||
For Intel Xeon Phi CPUs for simulations without {kspace_style
|
||||
pppm} in the input script :
|
||||
For Intel Xeon Phi CPUs:
|
||||
|
||||
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
||||
Runs should be performed using MCDRAM. :l
|
||||
"-pk intel 0 omp 2 -sf intel" {or} "-pk intel 0 omp 4 -sf intel"
|
||||
should be added to the LAMMPS command-line. Choice for best
|
||||
performance will depend on the simulation. :l
|
||||
Runs should be performed using MCDRAM. :ulb,l
|
||||
:ule
|
||||
|
||||
For Intel Xeon Phi CPUs for simulations with {kspace_style
|
||||
pppm} in the input script:
|
||||
For simulations using {kspace_style pppm} on Intel CPUs
|
||||
supporting AVX-512:
|
||||
|
||||
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
||||
Runs should be performed using MCDRAM. :l
|
||||
Add "neigh_modify binsize 3" to the input script for better
|
||||
performance. :l
|
||||
Add "kspace_modify diff ad" to the input script for better
|
||||
performance. :l
|
||||
export KMP_AFFINITY=none :l
|
||||
"-pk intel 0 omp 3 lrt yes -sf intel" or "-pk intel 0 omp 1 lrt yes
|
||||
-sf intel" added to LAMMPS command-line. Choice for best performance
|
||||
will depend on the simulation. :l
|
||||
Add "kspace_modify diff ad" to the input script :ulb,l
|
||||
The command-line option should be changed to
|
||||
"-pk intel 0 omp $r lrt yes -sf intel" where $r is the number of
|
||||
threads minus 1. :l
|
||||
Do not use thread affinity (set KMP_AFFINITY=none) :l
|
||||
The "newton off" setting may provide better scalability :l
|
||||
:ule
|
||||
|
||||
For Intel Xeon Phi coprocessors (Offload):
|
||||
@ -168,6 +195,10 @@ cat /proc/cpuinfo :pre
|
||||
|
||||
[Building LAMMPS with the USER-INTEL package:]
|
||||
|
||||
NOTE: See the src/USER-INTEL/README file for additional flags that
|
||||
might be needed for best performance on Intel server processors
|
||||
code-named "Skylake".
|
||||
|
||||
The USER-INTEL package must be installed into the source directory:
|
||||
|
||||
make yes-user-intel :pre
|
||||
@ -321,8 +352,8 @@ follow in the input script.
|
||||
|
||||
NOTE: The USER-INTEL package will perform better with modifications
|
||||
to the input script when "PPPM"_kspace_style.html is used:
|
||||
"kspace_modify diff ad"_kspace_modify.html and "neigh_modify binsize
|
||||
3"_neigh_modify.html should be added to the input script.
|
||||
"kspace_modify diff ad"_kspace_modify.html should be added to the
|
||||
input script.
|
||||
|
||||
Long-Range Thread (LRT) mode is an option to the "package
|
||||
intel"_package.html command that can improve performance when using
|
||||
@ -341,6 +372,10 @@ would normally perform best with "-pk intel 0 omp 4", instead use
|
||||
environment variable "KMP_AFFINITY=none". LRT mode is not supported
|
||||
when using offload.
|
||||
|
||||
NOTE: Changing the "newton"_newton.html setting to off can improve
|
||||
performance and/or scalability for simple 2-body potentials such as
|
||||
lj/cut or when using LRT mode on processors supporting AVX-512.
|
||||
|
||||
Not all styles are supported in the USER-INTEL package. You can mix
|
||||
the USER-INTEL package with styles from the "OPT"_accelerate_opt.html
|
||||
package or the "USER-OMP package"_accelerate_omp.html. Of course,
|
||||
@ -466,7 +501,7 @@ supported.
|
||||
|
||||
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
|
||||
|
||||
Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. 2016 International Conference for High Performance Computing. In press. :l
|
||||
Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. "Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency."_http://dl.acm.org/citation.cfm?id=3014915 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95). :l
|
||||
|
||||
Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101. :l
|
||||
:ule
|
||||
|
||||
@ -415,15 +415,15 @@ For binding threads with the KOKKOS OMP option, use thread affinity
|
||||
environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or
|
||||
later, intel 12 or later) setting the environment variable
|
||||
OMP_PROC_BIND=true should be sufficient. For binding threads with the
|
||||
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option, as
|
||||
discussed in "Section 2.3.4"_Sections_start.html#start_3_4 of the
|
||||
manual.
|
||||
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option
|
||||
(see "this section"_Section_packages.html#KOKKOS of the manual for
|
||||
details).
|
||||
|
||||
[Running on GPUs:]
|
||||
|
||||
Insure the -arch setting in the machine makefile you are using,
|
||||
e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software
|
||||
(see "this section"_Section_start.html#start_3_4 of the manual for
|
||||
e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software.
|
||||
(see "this section"_Section_packages.html#KOKKOS of the manual for
|
||||
details).
|
||||
|
||||
The -np setting of the mpirun command should set the number of MPI
|
||||
|
||||
@ -30,7 +30,7 @@ The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
|
||||
|
||||
to define a modified finite extensible nonlinear elastic (FENE) potential
|
||||
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
|
||||
in the oxDNA force field for coarse-grained modelling of DNA.
|
||||
in the oxDNA force field for coarse-grained modelling of DNA.
|
||||
|
||||
The following coefficients must be defined for the bond type via the
|
||||
"bond_coeff"_bond_coeff.html command as given in the above example, or in
|
||||
@ -43,8 +43,8 @@ r0 (distance) :ul
|
||||
|
||||
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
|
||||
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
|
||||
style {oxdna2/dh} have to be defined.
|
||||
The coefficients in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
|
||||
@ -66,7 +66,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
|
||||
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
|
||||
@ -32,12 +32,12 @@ Commands :h1
|
||||
dimension
|
||||
displace_atoms
|
||||
dump
|
||||
dump_custom_vtk
|
||||
dump_h5md
|
||||
dump_image
|
||||
dump_modify
|
||||
dump_molfile
|
||||
dump_nc
|
||||
dump_netcdf
|
||||
dump_vtk
|
||||
echo
|
||||
fix
|
||||
fix_modify
|
||||
|
||||
@ -26,7 +26,7 @@ Define a computation that calculates the CNA (Common Neighbor
|
||||
Analysis) pattern for each atom in the group. In solid-state systems
|
||||
the CNA pattern is a useful measure of the local crystal structure
|
||||
around an atom. The CNA methodology is described in "(Faken)"_#Faken
|
||||
and "(Tsuzuki)"_#Tsuzuki.
|
||||
and "(Tsuzuki)"_#Tsuzuki1.
|
||||
|
||||
Currently, there are five kinds of CNA patterns LAMMPS recognizes:
|
||||
|
||||
@ -93,5 +93,5 @@ above.
|
||||
:link(Faken)
|
||||
[(Faken)] Faken, Jonsson, Comput Mater Sci, 2, 279 (1994).
|
||||
|
||||
:link(Tsuzuki)
|
||||
:link(Tsuzuki1)
|
||||
[(Tsuzuki)] Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007).
|
||||
|
||||
111
doc/src/compute_cnp_atom.txt
Normal file
@ -0,0 +1,111 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
compute cnp/atom command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID cnp/atom cutoff :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
cnp/atom = style name of this compute command
|
||||
cutoff = cutoff distance for nearest neighbors (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all cnp/atom 3.08 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the Common Neighborhood
|
||||
Parameter (CNP) for each atom in the group. In solid-state systems
|
||||
the CNP is a useful measure of the local crystal structure
|
||||
around an atom and can be used to characterize whether the
|
||||
atom is part of a perfect lattice, a local defect (e.g. a dislocation
|
||||
or stacking fault), or at a surface.
|
||||
|
||||
The value of the CNP parameter will be 0.0 for atoms not in the
|
||||
specified compute group. Note that normally a CNP calculation should
|
||||
only be performed on single component systems.
|
||||
|
||||
This parameter is computed using the following formula from
|
||||
"(Tsuzuki)"_#Tsuzuki2
|
||||
|
||||
:c,image(Eqs/cnp_eq.jpg)
|
||||
|
||||
where the index {j} goes over the {n}i nearest neighbors of atom
|
||||
{i}, and the index {k} goes over the {n}ij common nearest neighbors
|
||||
between atom {i} and atom {j}. Rik and Rjk are the vectors connecting atom
|
||||
{k} to atoms {i} and {j}. The quantity in the double sum is computed
|
||||
for each atom.
|
||||
|
||||
The CNP calculation is sensitive to the specified cutoff value.
|
||||
You should ensure that the appropriate nearest neighbors of an atom are
|
||||
found within the cutoff distance for the presumed crystal structure.
|
||||
E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest
|
||||
neighbors for perfect BCC crystals. These formulas can be used to
|
||||
obtain a good cutoff distance:
|
||||
|
||||
:c,image(Eqs/cnp_cutoff.jpg)
|
||||
|
||||
where a is the lattice constant for the crystal structure concerned
|
||||
and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a
|
||||
for HCP crystals.
|
||||
|
||||
Also note that since the CNP calculation in LAMMPS uses the neighbors
|
||||
of an owned atom to find the nearest neighbors of a ghost atom, the
|
||||
following relation should also be satisfied:
|
||||
|
||||
:c,image(Eqs/cnp_cutoff2.jpg)
|
||||
|
||||
where Rc is the cutoff distance of the potential, Rs is the skin
|
||||
distance as specified by the "neighbor"_neighbor.html command, and
|
||||
cutoff is the argument used with the compute cnp/atom command. LAMMPS
|
||||
will issue a warning if this is not the case.
|
||||
|
||||
The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (e.g. each time a snapshot of atoms
|
||||
is dumped). Thus it can be inefficient to compute/dump this quantity
|
||||
too frequently or to have multiple compute/dump commands, each with a
|
||||
{cnp/atom} style.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a per-atom vector, which can be accessed by
|
||||
any command that uses per-atom values from a compute as input. See
|
||||
"Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-atom vector values will be real positive numbers. Some typical CNP
|
||||
values:
|
||||
|
||||
FCC lattice = 0.0
|
||||
BCC lattice = 0.0
|
||||
HCP lattice = 4.4 :pre
|
||||
|
||||
FCC (111) surface ~ 13.0
|
||||
FCC (100) surface ~ 26.5
|
||||
FCC dislocation core ~ 11 :pre
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This compute is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute cna/atom"_compute_cna_atom.html
|
||||
"compute centro/atom"_compute_centro_atom.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Tsuzuki2)
|
||||
[(Tsuzuki)] Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007).
|
||||
@ -76,7 +76,9 @@ command for the types of the two atoms is used. For the {radius}
|
||||
setting, the sum of the radii of the two particles is used as a
|
||||
cutoff. For example, this is appropriate for granular particles which
|
||||
only interact when they are overlapping, as computed by "granular pair
|
||||
styles"_pair_gran.txt.
|
||||
styles"_pair_gran.txt. Note that if a granular model defines atom
|
||||
types such that all particles of a specific type are monodisperse
|
||||
(same diameter), then the two settings are effectively identical.
|
||||
|
||||
Note that as atoms migrate from processor to processor, there will be
|
||||
no consistent ordering of the entries within the local vector or array
|
||||
|
||||
@ -79,6 +79,9 @@ the two atoms is used. For the {radius} setting, the sum of the radii
|
||||
of the two particles is used as a cutoff. For example, this is
|
||||
appropriate for granular particles which only interact when they are
|
||||
overlapping, as computed by "granular pair styles"_pair_gran.html.
|
||||
Note that if a granular model defines atom types such that all
|
||||
particles of a specific type are monodisperse (same diameter), then
|
||||
the two settings are effectively identical.
|
||||
|
||||
If the inputs are bond, angle, etc attributes, the local data is
|
||||
generated by looping over all the atoms owned on a processor and
|
||||
|
||||
@ -111,26 +111,26 @@ Coefficients parameterized by "(Fox)"_#Fox are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute saed are:
|
||||
|
||||
H: He: Li: Be: B:
|
||||
C: N: O: F: Ne:
|
||||
Na: Mg: Al: Si: P:
|
||||
S: Cl: Ar: K: Ca:
|
||||
Sc: Ti: V: Cr: Mn:
|
||||
Fe: Co: Ni: Cu: Zn:
|
||||
Ga: Ge: As: Se: Br:
|
||||
Kr: Rb: Sr: Y: Zr:
|
||||
Nb: Mo: Tc: Ru: Rh:
|
||||
Pd: Ag: Cd: In: Sn:
|
||||
Sb: Te: I: Xe: Cs:
|
||||
Ba: La: Ce: Pr: Nd:
|
||||
Pm: Sm: Eu: Gd: Tb:
|
||||
Dy: Ho: Er: Tm: Yb:
|
||||
Lu: Hf: Ta: W: Re:
|
||||
Os: Ir: Pt: Au: Hg:
|
||||
Tl: Pb: Bi: Po: At:
|
||||
Rn: Fr: Ra: Ac: Th:
|
||||
Pa: U: Np: Pu: Am:
|
||||
Cm: Bk: Cf:tb(c=5,s=:)
|
||||
H: He: Li: Be: B:
|
||||
C: N: O: F: Ne:
|
||||
Na: Mg: Al: Si: P:
|
||||
S: Cl: Ar: K: Ca:
|
||||
Sc: Ti: V: Cr: Mn:
|
||||
Fe: Co: Ni: Cu: Zn:
|
||||
Ga: Ge: As: Se: Br:
|
||||
Kr: Rb: Sr: Y: Zr:
|
||||
Nb: Mo: Tc: Ru: Rh:
|
||||
Pd: Ag: Cd: In: Sn:
|
||||
Sb: Te: I: Xe: Cs:
|
||||
Ba: La: Ce: Pr: Nd:
|
||||
Pm: Sm: Eu: Gd: Tb:
|
||||
Dy: Ho: Er: Tm: Yb:
|
||||
Lu: Hf: Ta: W: Re:
|
||||
Os: Ir: Pt: Au: Hg:
|
||||
Tl: Pb: Bi: Po: At:
|
||||
Rn: Fr: Ra: Ac: Th:
|
||||
Pa: U: Np: Pu: Am:
|
||||
Cm: Bk: Cf:tb(c=5,s=:)
|
||||
|
||||
|
||||
If the {echo} keyword is specified, compute saed will provide extra
|
||||
|
||||
@ -231,11 +231,12 @@ the numbers of columns are 930, 2790, and 5580, respectively.
|
||||
|
||||
If the {quadratic} keyword value is set to 1, then additional
|
||||
columns are appended to each per-atom array, corresponding to
|
||||
a matrix of quantities that are products of two bispectrum components. If the
|
||||
number of bispectrum components is {K}, then the number of matrix elements
|
||||
is {K}^2. These are output in subblocks of {K}^2 columns, using the same
|
||||
ordering of columns and sub-blocks as was used for the bispectrum
|
||||
components.
|
||||
the products of all distinct pairs of bispectrum components. If the
|
||||
number of bispectrum components is {K}, then the number of distinct pairs
|
||||
is {K}({K}+1)/2. These are output in subblocks of {K}({K}+1)/2 columns, using the same
|
||||
ordering of sub-blocks as was used for the bispectrum
|
||||
components. Within each sub-block, the ordering is upper-triangular,
|
||||
(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K})
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
from a compute as input. See "Section
|
||||
|
||||
@ -17,6 +17,7 @@ Computes :h1
|
||||
compute_chunk_atom
|
||||
compute_cluster_atom
|
||||
compute_cna_atom
|
||||
compute_cnp_atom
|
||||
compute_com
|
||||
compute_com_chunk
|
||||
compute_contact_atom
|
||||
|
||||
@ -138,7 +138,15 @@ more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This dihedral style can only be used if LAMMPS was built with the
|
||||
When using run_style "respa"_run_style.html, these dihedral styles
|
||||
must be assigned to the same r-RESPA level as {pair} or {outer}.
|
||||
|
||||
When used in combination with CHARMM pair styles, the 1-4
|
||||
"special_bonds"_special_bonds.html scaling factors must be set to 0.0.
|
||||
Otherwise non-bonded contributions for these 1-4 pairs will be
|
||||
computed multiple times.
|
||||
|
||||
These dihedral styles can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
|
||||
@ -14,10 +14,11 @@ dihedral_style spherical :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
|
||||
dihedral_coeff 1 3 286.1 1 114 1 1 90 0 1 90.0 0 &
|
||||
17.3 0 0.0 0 1 158 1 0 0.0 0 &
|
||||
15.1 0 0.0 0 0 0.0 0 1 167.3 1 :pre
|
||||
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
|
||||
dihedral_coeff 1 3 69.3 1 93.9 1 1 90 0 1 90 0 &
|
||||
49.1 0 0.00 0 1 74.4 1 0 0.00 0 &
|
||||
25.2 0 0.00 0 0 0.00 0 1 48.1 1
|
||||
:pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -35,13 +36,14 @@ the dihedral interaction even if it requires adding additional terms to
|
||||
the expansion (as was done in the second example). A careful choice of
|
||||
parameters can prevent singularities that occur with traditional
|
||||
force-fields whenever theta1 or theta2 approach 0 or 180 degrees.
|
||||
|
||||
The last example above corresponds to an interaction with a single energy
|
||||
minima located at phi=114, theta1=158, theta2=167.3 degrees, and it remains
|
||||
minima located near phi=93.9, theta1=74.4, theta2=48.1 degrees, and it remains
|
||||
numerically stable at all angles (phi, theta1, theta2). In this example,
|
||||
the coefficients 17.3, and 15.1 can be physically interpreted as the
|
||||
the coefficients 49.1, and 25.2 can be physically interpreted as the
|
||||
harmonic spring constants for theta1 and theta2 around their minima.
|
||||
The coefficient 286.1 is the harmonic spring constant for phi after
|
||||
division by sin(158)*sin(167.3) (the minima positions for theta1 and theta2).
|
||||
The coefficient 69.3 is the harmonic spring constant for phi after
|
||||
division by sin(74.4)*sin(48.1) (the minima positions for theta1 and theta2).
|
||||
|
||||
The following coefficients must be defined for each dihedral type via the
|
||||
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in
|
||||
|
||||
@ -16,7 +16,8 @@ dump-ID = ID of dump to modify :ulb,l
|
||||
one or more keyword/value pairs may be appended :l
|
||||
these keywords apply to various dump styles :l
|
||||
keyword = {append} or {buffer} or {element} or {every} or {fileper} or {first} or {flush} or {format} or {image} or {label} or {nfile} or {pad} or {precision} or {region} or {scale} or {sort} or {thresh} or {unwrap} :l
|
||||
{append} arg = {yes} or {no}
|
||||
{append} arg = {yes} or {no} or {at} N
|
||||
N = index of frame written upon first dump
|
||||
{buffer} arg = {yes} or {no}
|
||||
{element} args = E1 E2 ... EN, where N = # of atom types
|
||||
E1,...,EN = element name, e.g. C or Fe or Ga
|
||||
@ -41,6 +42,7 @@ keyword = {append} or {buffer} or {element} or {every} or {fileper} or {first} o
|
||||
{region} arg = region-ID or "none"
|
||||
{scale} arg = {yes} or {no}
|
||||
{sfactor} arg = coordinate scaling factor (> 0.0)
|
||||
{thermo} arg = {yes} or {no}
|
||||
{tfactor} arg = time scaling factor (> 0.0)
|
||||
{sort} arg = {off} or {id} or N or -N
|
||||
off = no sorting of per-atom lines within a snapshot
|
||||
@ -139,12 +141,13 @@ and {dcd}. It also applies only to text output files, not to binary
|
||||
or gzipped or image/movie files. If specified as {yes}, then dump
|
||||
snapshots are appended to the end of an existing dump file. If
|
||||
specified as {no}, then a new dump file will be created which will
|
||||
overwrite an existing file with the same name. This keyword can only
|
||||
take effect if the dump_modify command is used after the
|
||||
"dump"_dump.html command, but before the first command that causes
|
||||
dump snapshots to be output, e.g. a "run"_run.html or
|
||||
"minimize"_minimize.html command. Once the dump file has been opened,
|
||||
this keyword has no further effect.
|
||||
overwrite an existing file with the same name. If the {at} option is present
|
||||
({netcdf} only), then the frame to append to can be specified. Negative values
|
||||
are counted from the end of the file. This keyword can only take effect if the
|
||||
dump_modify command is used after the "dump"_dump.html command, but before the
|
||||
first command that causes dump snapshots to be output, e.g. a "run"_run.html or
|
||||
"minimize"_minimize.html command. Once the dump file has been opened, this
|
||||
keyword has no further effect.
|
||||
|
||||
:line
|
||||
|
||||
@ -413,6 +416,13 @@ most effective when the typical magnitude of position data is between
|
||||
|
||||
:line
|
||||
|
||||
The {thermo} keyword ({netcdf} only) triggers writing of "thermo"_thermo.html
|
||||
information to the dump file alongside per-atom data. The data included in the
|
||||
dump file is identical to the data specified by
|
||||
"thermo_style"_thermo_style.html.
|
||||
|
||||
:line
|
||||
|
||||
The {region} keyword only applies to the dump {custom}, {cfg},
|
||||
{image}, and {movie} styles. If specified, only atoms in the region
|
||||
will be written to the dump file or included in the image/movie. Only
|
||||
|
||||
@ -24,7 +24,7 @@ args = list of atom attributes, same as for "dump_style custom"_dump.html :l,ule
|
||||
[Examples:]
|
||||
|
||||
dump 1 all netcdf 100 traj.nc type x y z vx vy vz
|
||||
dump_modify 1 append yes at -1 global c_thermo_pe c_thermo_temp c_thermo_press
|
||||
dump_modify 1 append yes at -1 thermo yes
|
||||
dump 1 all netcdf/mpiio 1000 traj.nc id type x y z :pre
|
||||
|
||||
[Description:]
|
||||
@ -44,7 +44,7 @@ rank.
|
||||
NetCDF files can be directly visualized via the following tools:
|
||||
|
||||
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention and
|
||||
all of the above extensions. :ule,b
|
||||
all extensions of this dump style. :ule,b
|
||||
|
||||
VMD (http://www.ks.uiuc.edu/Research/vmd/). :l
|
||||
|
||||
@ -52,15 +52,9 @@ AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye
|
||||
contains a NetCDF reader that is not present in the standard
|
||||
distribution of AtomEye. :l,ule
|
||||
|
||||
In addition to per-atom data, global data can be included in the dump
|
||||
file, which are the kinds of values output by the
|
||||
"thermo_style"_thermo_style.html command . See "Section howto
|
||||
6.15"_Section_howto.html#howto_15 for an explanation of per-atom
|
||||
versus global data. The global output written into the dump file can
|
||||
be from computes, fixes, or variables, by prefixing the compute/fix ID
|
||||
or variable name with "c_" or "f_" or "v_" respectively, as in the
|
||||
example above. These global values are specified via the "dump_modify
|
||||
global"_dump_modify.html command.
|
||||
In addition to per-atom data, "thermo"_thermo.html data can be included in the
|
||||
dump file. The data included in the dump file is identical to the data specified
|
||||
by "thermo_style"_thermo_style.html.
|
||||
|
||||
:link(netcdf-home,http://www.unidata.ucar.edu/software/netcdf/)
|
||||
:link(pnetcdf-home,http://trac.mcs.anl.gov/projects/parallel-netcdf/)
|
||||
|
||||
@ -16,7 +16,7 @@ ID = user-assigned name for the dump
|
||||
group-ID = ID of the group of atoms to be dumped
|
||||
vtk = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page)
|
||||
N = dump every this many timesteps
|
||||
file = name of file to write dump info to
|
||||
file = name of file to write dump info to
|
||||
args = same as arguments for "dump_style custom"_dump.html :ul
|
||||
|
||||
[Examples:]
|
||||
@ -83,7 +83,7 @@ Triclinic simulation boxes (non-orthogonal) are saved as
|
||||
hexahedrons in either legacy .vtk or .vtu XML format.
|
||||
|
||||
Style {vtk} allows you to specify a list of atom attributes to be
|
||||
written to the dump file for each atom. The list of possible attributes
|
||||
written to the dump file for each atom. The list of possible attributes
|
||||
is the same as for the "dump_style custom"_dump.html command; see
|
||||
its doc page for a listing and an explanation of each attribute.
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ keyword = {scale} or {reset} :l
|
||||
fix 1 all adapt 1 pair soft a 1 1 v_prefactor
|
||||
fix 1 all adapt 1 pair soft a 2* 3 v_prefactor
|
||||
fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
|
||||
fix 1 all adapt 10 atom diameter v_size
|
||||
fix 1 all adapt 10 atom diameter v_size :pre
|
||||
|
||||
variable ramp_up equal "ramp(0.01,0.5)"
|
||||
fix stretch all adapt 1 bond harmonic r0 1 v_ramp_up :pre
|
||||
|
||||
@ -245,8 +245,8 @@ appear the system is converging to your specified pressure. The
|
||||
solution for this is to either (a) zero the velocities of all atoms
|
||||
before performing the minimization, or (b) make sure you are
|
||||
monitoring the pressure without its kinetic component. The latter can
|
||||
be done by outputting the pressure from the fix this command creates
|
||||
(see below) or a pressure fix you define yourself.
|
||||
be done by outputting the pressure from the pressure compute this
|
||||
command creates (see below) or a pressure compute you define yourself.
|
||||
|
||||
NOTE: Because pressure is often a very sensitive function of volume,
|
||||
it can be difficult for the minimizer to equilibrate the system the
|
||||
@ -308,7 +308,7 @@ thermo_modify command (or in two separate commands), then the order in
|
||||
which the keywords are specified is important. Note that a "pressure
|
||||
compute"_compute_pressure.html defines its own temperature compute as
|
||||
an argument when it is specified. The {temp} keyword will override
|
||||
this (for the pressure compute being used by fix npt), but only if the
|
||||
this (for the pressure compute being used by fix box/relax), but only if the
|
||||
{temp} keyword comes after the {press} keyword. If the {temp} keyword
|
||||
comes before the {press} keyword, then the new pressure compute
|
||||
specified by the {press} keyword will be unaffected by the {temp}
|
||||
@ -316,18 +316,16 @@ setting.
|
||||
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
"output commands"_Section_howto.html#howto_15. The scalar is the
|
||||
pressure-volume energy, plus the strain energy, if it exists.
|
||||
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
"output commands"_Section_howto.html#howto_15. The scalar is given
|
||||
by the energy expression shown above. The energy values reported
|
||||
at the end of a minimization run under "Minimization stats" include
|
||||
this energy, and so differ from what LAMMPS normally reports as
|
||||
potential energy. This fix does not support the
|
||||
"fix_modify"_fix_modify.html {energy} option,
|
||||
because that would result in double-counting of the fix energy in the
|
||||
minimization energy. Instead, the fix energy can be explicitly
|
||||
added to the potential energy using one of these two variants:
|
||||
pressure-volume energy, plus the strain energy, if it exists,
|
||||
as described above.
|
||||
The energy values reported at the
|
||||
end of a minimization run under "Minimization stats" include this
|
||||
energy, and so differ from what LAMMPS normally reports as potential
|
||||
energy. This fix does not support the "fix_modify"_fix_modify.html
|
||||
{energy} option, because that would result in double-counting of the
|
||||
fix energy in the minimization energy. Instead, the fix energy can be
|
||||
explicitly added to the potential energy using one of these two
|
||||
variants:
|
||||
|
||||
variable emin equal pe+f_1 :pre
|
||||
|
||||
|
||||
@ -565,8 +565,10 @@ more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||
This fix will restore the initial box settings from "binary restart
|
||||
files"_restart.html, which allows the fix to be properly continue
|
||||
deformation, when using the start/stop options of the "run"_run.html
|
||||
command. None of the "fix_modify"_fix_modify.html options
|
||||
are relevant to this fix. No global or per-atom quantities are stored
|
||||
by this fix for access by various "output
|
||||
commands"_Section_howto.html#howto_15.
|
||||
|
||||
@ -45,14 +45,14 @@ species {j} in particle {i}, {u_j} is the internal energy of species j,
|
||||
{DeltaH_f,j} is the heat of formation of species {j}, N is the number of
|
||||
molecules represented by the coarse-grained particle, kb is the
|
||||
Boltzmann constant, and T is the temperature of the system. Additionally,
|
||||
it is possible to modify the concentration-dependent particle internal
|
||||
energy relation by adding an energy correction, temperature-dependent
|
||||
it is possible to modify the concentration-dependent particle internal
|
||||
energy relation by adding an energy correction, temperature-dependent
|
||||
correction, and/or a molecule-dependent correction. An energy correction can
|
||||
be specified as a constant (in energy units). A temperature correction can be
|
||||
specified by multiplying a temperature correction coefficient by the
|
||||
internal temperature. A molecular correction can be specified by
|
||||
by multiplying a molecule correction coefficient by the average number of
|
||||
product gas particles in the coarse-grain particle.
|
||||
be specified as a constant (in energy units). A temperature correction can be
|
||||
specified by multiplying a temperature correction coefficient by the
|
||||
internal temperature. A molecular correction can be specified by
|
||||
by multiplying a molecule correction coefficient by the average number of
|
||||
product gas particles in the coarse-grain particle.
|
||||
|
||||
Fix {eos/table/rx} creates interpolation tables of length {N} from {m}
|
||||
internal energy values of each species {u_j} listed in a file as a
|
||||
@ -72,12 +72,12 @@ The second filename specifies a file containing heat of formation
|
||||
{DeltaH_f,j} for each species.
|
||||
|
||||
In cases where the coarse-grain particle represents a single molecular
|
||||
species (i.e., no reactions occur and fix {rx} is not present in the input file),
|
||||
fix {eos/table/rx} can be applied in a similar manner to fix {eos/table}
|
||||
within a non-reactive DPD simulation. In this case, the heat of formation
|
||||
species (i.e., no reactions occur and fix {rx} is not present in the input file),
|
||||
fix {eos/table/rx} can be applied in a similar manner to fix {eos/table}
|
||||
within a non-reactive DPD simulation. In this case, the heat of formation
|
||||
filename is replaced with the heat of formation value for the single species.
|
||||
Additionally, the energy correction and temperature correction coefficients may
|
||||
also be specified as fix arguments.
|
||||
Additionally, the energy correction and temperature correction coefficients may
|
||||
also be specified as fix arguments.
|
||||
|
||||
:line
|
||||
|
||||
@ -138,8 +138,8 @@ used as the species name must correspond with the tags used to define
|
||||
the reactions with the "fix rx"_fix_rx.html command.
|
||||
|
||||
Alternatively, corrections to the EOS can be included by specifying
|
||||
three additional columns that correspond to the energy correction,
|
||||
the temperature correction coefficient and molecule correction
|
||||
three additional columns that correspond to the energy correction,
|
||||
the temperature correction coefficient and molecule correction
|
||||
coefficient. In this case, the format of the file is as follows:
|
||||
|
||||
# HEAT OF FORMATION TABLE (one or more comment or blank lines) :pre
|
||||
|
||||
@ -70,8 +70,8 @@ minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
Currently, it does not support "molecule templates"_molecule.html.
|
||||
|
||||
@ -406,7 +406,7 @@ the user for each subsequent fix gcmc command.
|
||||
[Default:]
|
||||
|
||||
The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0,
|
||||
fugacity_coeff = 1, and full_energy = no,
|
||||
fugacity_coeff = 1, and full_energy = no,
|
||||
except for the situations where full_energy is required, as
|
||||
listed above.
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ matrix that gives canonical sampling for a given A is computed automatically.
|
||||
However, the GLE framework also allow for non-equilibrium sampling, that
|
||||
can be used for instance to model inexpensively zero-point energy
|
||||
effects "(Ceriotti2)"_#Ceriotti2. This is achieved specifying the {noneq}
|
||||
keyword followed by the name of the file that contains the static covariance
|
||||
keyword followed by the name of the file that contains the static covariance
|
||||
matrix for the non-equilibrium dynamics. Please note, that the covariance
|
||||
matrix is expected to be given in [temperature units].
|
||||
|
||||
|
||||
@ -85,13 +85,13 @@ No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "thermo_modify"_thermo_modify.html {press} option is supported
|
||||
by this fix to add the rescaled kinetic pressure as part of
|
||||
by this fix to add the rescaled kinetic pressure as part of
|
||||
"thermodynamic output"_thermo_style.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -58,14 +58,14 @@ input are listed in the same order as in the data file of LAMMPS. The
|
||||
initial configuration is ignored, as it will be substituted with the
|
||||
coordinates received from i-PI before forces are ever evaluated.
|
||||
|
||||
A note of caution when using potentials that contain long-range
|
||||
A note of caution when using potentials that contain long-range
|
||||
electrostatics, or that contain parameters that depend on box size:
|
||||
all of these options will be initialized based on the cell size in the
|
||||
LAMMPS-side initial configuration and kept constant during the run.
|
||||
This is required to e.g. obtain reproducible and conserved forces.
|
||||
If the cell varies too wildly, it may be advisable to reinitialize
|
||||
these interactions at each call. This behavior can be requested by
|
||||
setting the {reset} switch.
|
||||
LAMMPS-side initial configuration and kept constant during the run.
|
||||
This is required to e.g. obtain reproducible and conserved forces.
|
||||
If the cell varies too wildly, it may be advisable to reinitialize
|
||||
these interactions at each call. This behavior can be requested by
|
||||
setting the {reset} switch.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
|
||||
@ -67,11 +67,11 @@ The Langevin forces are computed as
|
||||
\(F_r'\) is a random force proportional to
|
||||
\(\sqrt \{ \frac \{2\, k_B \mathtt\{Tcom\}\, m'\}
|
||||
\{\mathrm dt\, \mathtt\{damp\_com\} \}
|
||||
\} \). :b
|
||||
\} \).
|
||||
\(f_r'\) is a random force proportional to
|
||||
\(\sqrt \{ \frac \{2\, k_B \mathtt\{Tdrude\}\, m'\}
|
||||
\{\mathrm dt\, \mathtt\{damp\_drude\} \}
|
||||
\} \). :b
|
||||
\} \).
|
||||
Then the real forces acting on the particles are computed from the inverse
|
||||
transform:
|
||||
\begin\{equation\} F = \frac M \{M'\}\, F' - f' \end\{equation\}
|
||||
|
||||
@ -57,7 +57,7 @@ simulations is as follows:
|
||||
Perform all-atom simulations on the system to be coarse grained.
|
||||
Generate a trajectory mapped to the coarse-grained model.
|
||||
Create input files for the MS-CG library.
|
||||
Run the range finder functionality of the MS-CG library.
|
||||
Run the range finder functionality of the MS-CG library.
|
||||
Run the force matching functionality of the MS-CG library.
|
||||
Check the results of the force matching.
|
||||
Run coarse-grained simulations using the new coarse-grained potentials. :ol
|
||||
@ -70,7 +70,7 @@ Step 2 can be performed using a Python script (what is the name?)
|
||||
provided with the MS-CG library which defines the coarse-grained model
|
||||
and converts a standard LAMMPS dump file for an all-atom simulation
|
||||
(step 1) into a LAMMPS dump file which has the positions of and forces
|
||||
on the coarse-grained beads.
|
||||
on the coarse-grained beads.
|
||||
|
||||
In step 3, an input file named "control.in" is needed by the MS-CG
|
||||
library which sets parameters for the range finding and force matching
|
||||
|
||||
@ -10,68 +10,183 @@ fix neb command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID neb Kspring :pre
|
||||
fix ID group-ID neb Kspring keyword value :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
neb = style name of this fix command
|
||||
Kspring = inter-replica spring constant (force/distance units) :ul
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
neb = style name of this fix command :l
|
||||
Kspring = spring constant for parallel nudging force (force/distance units or force units, see parallel keyword) :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {parallel} or {perp} or {end} :l
|
||||
{parallel} value = {neigh} or {ideal}
|
||||
{neigh} = parallel nudging force based on distance to neighbor replicas (Kspring = force/distance units)
|
||||
{ideal} = parallel nudging force based on interpolated ideal position (Kspring = force units)
|
||||
{perp} value = {Kspring2}
|
||||
{Kspring2} = spring constant for perpendicular nudging force (force/distance units)
|
||||
{end} values = estyle Kspring3
|
||||
{estyle} = {first} or {last} or {last/efirst} or {last/efirst/middle}
|
||||
{first} = apply force to first replica
|
||||
{last} = apply force to last replica
|
||||
{last/efirst} = apply force to last replica and set its target energy to that of first replica
|
||||
{last/efirst/middle} = same as {last/efirst} plus prevent middle replicas having lower energy than first replica
|
||||
{Kspring3} = spring constant for target energy term (1/distance units) :pre,ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 active neb 10.0 :pre
|
||||
fix 1 active neb 10.0
|
||||
fix 2 all neb 1.0 perp 1.0 end last
|
||||
fix 2 all neb 1.0 perp 1.0 end first 1.0 end last 1.0
|
||||
fix 1 all neb 1.0 nudge ideal end last/efirst 1 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Add inter-replica forces to atoms in the group for a multi-replica
|
||||
Add nudging forces to atoms in the group for a multi-replica
|
||||
simulation run via the "neb"_neb.html command to perform a nudged
|
||||
elastic band (NEB) calculation for transition state finding. Hi-level
|
||||
explanations of NEB are given with the "neb"_neb.html command and in
|
||||
"Section 6.5"_Section_howto.html#howto_5 of the manual. The fix
|
||||
neb command must be used with the "neb" command to define how
|
||||
inter-replica forces are computed.
|
||||
elastic band (NEB) calculation for finding the transition state.
|
||||
Hi-level explanations of NEB are given with the "neb"_neb.html command
|
||||
and in "Section_howto 5"_Section_howto.html#howto_5 of the manual.
|
||||
The fix neb command must be used with the "neb" command and defines
|
||||
how inter-replica nudging forces are computed. A NEB calculation is
|
||||
divided in two stages. In the first stage n replicas are relaxed
|
||||
toward a MEP until convergence. In the second stage, the climbing
|
||||
image scheme (see "(Henkelman2)"_#Henkelman2) is enabled, so that the
|
||||
replica having the highest energy relaxes toward the saddle point
|
||||
(i.e. the point of highest energy along the MEP), and a second
|
||||
relaxation is performed.
|
||||
|
||||
Only the N atoms in the fix group experience inter-replica forces.
|
||||
Atoms in the two end-point replicas do not experience these forces,
|
||||
but those in intermediate replicas do. During the initial stage of
|
||||
NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting
|
||||
on the atoms of each intermediate replica I is altered, as described
|
||||
in the "(Henkelman1)"_#Henkelman1 paper, to become:
|
||||
A key purpose of the nudging forces is to keep the replicas equally
|
||||
spaced. During the NEB calculation, the 3N-length vector of
|
||||
interatomic force Fi = -Grad(V) for each replica I is altered. For
|
||||
all intermediate replicas (i.e. for 1 < I < N, except the climbing
|
||||
replica) the force vector becomes:
|
||||
|
||||
Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (| Ri+i - Ri | - | Ri - Ri-1 |) That :pre
|
||||
Fi = -Grad(V) + (Grad(V) dot T') T' + Fnudge_parallel + Fnudge_perp :pre
|
||||
|
||||
Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the
|
||||
coordinates of its neighbor replicas. That (t with a hat over it) is
|
||||
the unit "tangent" vector for replica I which is a function of Ri,
|
||||
T' is the unit "tangent" vector for replica I and is a function of Ri,
|
||||
Ri-1, Ri+1, and the potential energy of the 3 replicas; it points
|
||||
roughly in the direction of (Ri+i - Ri-1); see the
|
||||
"(Henkelman1)"_#Henkelman1 paper for details.
|
||||
"(Henkelman1)"_#Henkelman1 paper for details. Ri are the atomic
|
||||
coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its
|
||||
neighbor replicas. The term (Grad(V) dot T') is used to remove the
|
||||
component of the gradient parallel to the path which would tend to
|
||||
distribute the replica unevenly along the path. Fnudge_parallel is an
|
||||
artificial nudging force which is applied only in the tangent
|
||||
direction and which maintains the equal spacing between replicas (see
|
||||
below for more information). Fnudge_perp is an optional artificial
|
||||
spring which is applied in a direction perpendicular to the tangent
|
||||
direction and which prevent the paths from forming acute kinks (see
|
||||
below for more information).
|
||||
|
||||
The first two terms in the above equation are the component of the
|
||||
interatomic forces perpendicular to the tangent vector. The last term
|
||||
is a spring force between replica I and its neighbors, parallel to the
|
||||
tangent vector direction with the specified spring constant {Kspring}.
|
||||
In the second stage of the NEB calculation, the interatomic force Fi
|
||||
for the climbing replica (the replica of highest energy after the
|
||||
first stage) is changed to:
|
||||
|
||||
The effect of the first two terms is to push the atoms of each replica
|
||||
toward the minimum energy path (MEP) of conformational states that
|
||||
transition over the energy barrier. The MEP for an energy barrier is
|
||||
defined as a sequence of 3N-dimensional states which cross the barrier
|
||||
at its saddle point, each of which has a potential energy gradient
|
||||
parallel to the MEP itself.
|
||||
Fi = -Grad(V) + 2 (Grad(V) dot T') T' :pre
|
||||
|
||||
The effect of the last term is to push each replica away from its two
|
||||
neighbors in a direction along the MEP, so that the final set of
|
||||
states are equidistant from each other.
|
||||
and the relaxation procedure is continued to a new converged MEP.
|
||||
|
||||
During the second stage of NEB, the forces on the N atoms in the
|
||||
replica nearest the top of the energy barrier are altered so that it
|
||||
climbs to the top of the barrier and finds the saddle point. The
|
||||
forces on atoms in this replica are described in the
|
||||
"(Henkelman2)"_#Henkelman2 paper, and become:
|
||||
:line
|
||||
|
||||
Fi = -Grad(V) + 2 (Grad(V) dot That) That :pre
|
||||
The keyword {parallel} specifies how the parallel nudging force is
|
||||
computed. With a value of {neigh}, the parallel nudging force is
|
||||
computed as in "(Henkelman1)"_#Henkelman1 by connecting each
|
||||
intermediate replica with the previous and the next image:
|
||||
|
||||
The inter-replica forces for the other replicas are unchanged from the
|
||||
first equation.
|
||||
Fnudge_parallel = {Kspring} * (|Ri+1 - Ri| - |Ri - Ri-1|) :pre
|
||||
|
||||
Note that in this case the specified {Kspring) is in force/distance
|
||||
units.
|
||||
|
||||
With a value of {ideal}, the spring force is computed as suggested in
|
||||
"(WeinenE)"_#WeinenE :
|
||||
|
||||
Fnudge_parallel = -{Kspring} * (RD-RDideal) / (2 * meanDist) :pre
|
||||
|
||||
where RD is the "reaction coordinate" see "neb"_neb.html section, and
|
||||
RDideal is the ideal RD for which all the images are equally spaced.
|
||||
I.e. RDideal = (I-1)*meanDist when the climbing replica is off, where
|
||||
I is the replica number). The meanDist is the average distance
|
||||
between replicas. Note that in this case the specified {Kspring) is
|
||||
in force units.
|
||||
|
||||
Note that the {ideal} form of nudging can often be more effective at
|
||||
keeping the replicas equally spaced.
|
||||
|
||||
:line
|
||||
|
||||
The keyword {perp} specifies if and how a perpendicual nudging force
|
||||
is computed. It adds a spring force perpendicular to the path in
|
||||
order to prevent the path from becoming too kinky. It can
|
||||
significantly improve the convergence of the NEB calculation when the
|
||||
resolution is poor. I.e. when few replicas are used; see
|
||||
"(Maras)"_#Maras1 for details.
|
||||
|
||||
The perpendicular spring force is given by
|
||||
|
||||
Fnudge_perp = {Kspring2} * F(Ri-1,Ri,Ri+1) (Ri+1 + Ri-1 - 2 Ri) :pre
|
||||
|
||||
where {Kspring2} is the specified value. F(Ri-1 Ri R+1) is a smooth
|
||||
scalar function of the angle Ri-1 Ri Ri+1. It is equal to 0.0 when
|
||||
the path is straight and is equal to 1 when the angle Ri-1 Ri Ri+1 is
|
||||
acute. F(Ri-1 Ri R+1) is defined in "(Jonsson)"_#Jonsson.
|
||||
|
||||
If {Kspring2} is set to 0.0 (the default) then no perpendicular spring
|
||||
force is added.
|
||||
|
||||
:line
|
||||
|
||||
By default, no additional forces act on the first and last replicas
|
||||
during the NEB relaxation, so these replicas simply relax toward their
|
||||
respective local minima. By using the key word {end}, additional
|
||||
forces can be applied to the first and/or last replicas, to enable
|
||||
them to relax toward a MEP while constraining their energy.
|
||||
|
||||
The interatomic force Fi for the specified replica becomes:
|
||||
|
||||
Fi = -Grad(V) + (Grad(V) dot T' + (E-ETarget)*Kspring3) T', {when} Grad(V) dot T' < 0
|
||||
Fi = -Grad(V) + (Grad(V) dot T' + (ETarget- E)*Kspring3) T', {when} Grad(V) dot T' > 0
|
||||
:pre
|
||||
|
||||
where E is the current energy of the replica and ETarget is the target
|
||||
energy. The "spring" constant on the difference in energies is the
|
||||
specified {Kspring3} value.
|
||||
|
||||
When {estyle} is specified as {first}, the force is applied to the
|
||||
first replica. When {estyle} is specified as {last}, the force is
|
||||
applied to the last replica. Note that the {end} keyword can be used
|
||||
twice to add forces to both the first and last replicas.
|
||||
|
||||
For both these {estyle} settings, the target energy {ETarget} is set
|
||||
to the initial energy of the replica (at the start of the NEB
|
||||
calculation).
|
||||
|
||||
If the {estyle} is specified as {last/efirst} or {last/efirst/middle},
|
||||
force is applied to the last replica, but the target energy {ETarget}
|
||||
is continuously set to the energy of the first replica, as it evolves
|
||||
during the NEB relaxation.
|
||||
|
||||
The difference between these two {estyle} options is as follows. When
|
||||
{estyle} is specified as {last/efirst}, no change is made to the
|
||||
inter-replica force applied to the intermediate replicas (neither
|
||||
first or last). If the initial path is too far from the MEP, an
|
||||
intermediate repilica may relax "faster" and reach a lower energy than
|
||||
the last replica. In this case the intermediate replica will be
|
||||
relaxing toward its own local minima. This behavior can be prevented
|
||||
by specifying {estyle} as {last/efirst/middle} which will alter the
|
||||
inter-replica force applied to intermediate replicas by removing the
|
||||
contribution of the gradient to the inter-replica force. This will
|
||||
only be done if a particular intermediate replica has a lower energy
|
||||
than the first replica. This should effectively prevent the
|
||||
intermediate replicas from over-relaxing.
|
||||
|
||||
After converging a NEB calculation using an {estyle} of
|
||||
{last/efirst/middle}, you should check that all intermediate replicas
|
||||
have a larger energy than the first replica. If this is not the case,
|
||||
the path is probably not a MEP.
|
||||
|
||||
Finally, note that if the last replica converges toward a local
|
||||
minimum which has a larger energy than the energy of the first
|
||||
replica, a NEB calculation using an {estyle} of {last/efirst} or
|
||||
{last/efirst/middle} cannot reach final convergence.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
@ -96,7 +211,12 @@ for more info on packages.
|
||||
|
||||
"neb"_neb.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
|
||||
The option defaults are nudge = neigh, perp = 0.0, ends is not
|
||||
specified (no inter-replica force on the end replicas).
|
||||
|
||||
:line
|
||||
|
||||
:link(Henkelman1)
|
||||
[(Henkelman1)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
|
||||
@ -104,3 +224,15 @@ for more info on packages.
|
||||
:link(Henkelman2)
|
||||
[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
|
||||
9901-9904 (2000).
|
||||
|
||||
:link(WeinenE)
|
||||
[(WeinenE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002).
|
||||
|
||||
:link(Jonsson)
|
||||
[(Jonsson)] Jonsson, Mills and Jacobsen, in Classical and Quantum
|
||||
Dynamics in Condensed Phase Simulations, edited by Berne, Ciccotti,
|
||||
and Coker World Scientific, Singapore, 1998, p 385.
|
||||
|
||||
:link(Maras1)
|
||||
[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson,
|
||||
Comp Phys Comm, 205, 13-21 (2016).
|
||||
|
||||
@ -23,13 +23,13 @@ fix 1 all nve/dot :pre
|
||||
[Description:]
|
||||
|
||||
Apply a rigid-body integrator as described in "(Davidchack)"_#Davidchack1
|
||||
to a group of atoms, but without Langevin dynamics.
|
||||
to a group of atoms, but without Langevin dynamics.
|
||||
This command performs Molecular dynamics (MD)
|
||||
via a velocity-Verlet algorithm and an evolution operator that rotates
|
||||
the quaternion degrees of freedom, similar to the scheme outlined in "(Miller)"_#Miller1.
|
||||
via a velocity-Verlet algorithm and an evolution operator that rotates
|
||||
the quaternion degrees of freedom, similar to the scheme outlined in "(Miller)"_#Miller1.
|
||||
|
||||
This command is the equivalent of the "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||
without damping and noise and can be used to determine the stability range
|
||||
without damping and noise and can be used to determine the stability range
|
||||
in a NVE ensemble prior to using the Langevin-type DOTC-integrator
|
||||
(see also "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html).
|
||||
The command is equivalent to the "fix nve"_fix_nve.html.
|
||||
|
||||
@ -28,20 +28,20 @@ fix 1 all nve/dotc/langevin 1.0 1.0 0.03 457145 angmom 10 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Apply a rigid-body Langevin-type integrator of the kind "Langevin C"
|
||||
Apply a rigid-body Langevin-type integrator of the kind "Langevin C"
|
||||
as described in "(Davidchack)"_#Davidchack2
|
||||
to a group of atoms, which models an interaction with an implicit background
|
||||
solvent. This command performs Brownian dynamics (BD)
|
||||
via a technique that splits the integration into a deterministic Hamiltonian
|
||||
part and the Ornstein-Uhlenbeck process for noise and damping.
|
||||
via a technique that splits the integration into a deterministic Hamiltonian
|
||||
part and the Ornstein-Uhlenbeck process for noise and damping.
|
||||
The quaternion degrees of freedom are updated though an evolution
|
||||
operator which performs a rotation in quaternion space, preserves
|
||||
the quaternion norm and is akin to "(Miller)"_#Miller2.
|
||||
|
||||
In terms of syntax this command has been closely modelled on the
|
||||
"fix langevin"_fix_langevin.html and its {angmom} option. But it combines
|
||||
the "fix nve"_fix_nve.html and the "fix langevin"_fix_langevin.html in
|
||||
one single command. The main feature is improved stability
|
||||
In terms of syntax this command has been closely modelled on the
|
||||
"fix langevin"_fix_langevin.html and its {angmom} option. But it combines
|
||||
the "fix nve"_fix_nve.html and the "fix langevin"_fix_langevin.html in
|
||||
one single command. The main feature is improved stability
|
||||
over the standard integrator, permitting slightly larger timestep sizes.
|
||||
|
||||
NOTE: Unlike the "fix langevin"_fix_langevin.html this command performs
|
||||
@ -57,7 +57,7 @@ Fc is the conservative force computed via the usual inter-particle
|
||||
interactions ("pair_style"_pair_style.html,
|
||||
"bond_style"_bond_style.html, etc).
|
||||
|
||||
The Ff and Fr terms are implicitly taken into account by this fix
|
||||
The Ff and Fr terms are implicitly taken into account by this fix
|
||||
on a per-particle basis.
|
||||
|
||||
Ff is a frictional drag or viscous damping term proportional to the
|
||||
@ -77,7 +77,7 @@ a Gaussian random number) for speed.
|
||||
|
||||
:line
|
||||
|
||||
{Tstart} and {Tstop} have to be constant values, i.e. they cannot
|
||||
{Tstart} and {Tstop} have to be constant values, i.e. they cannot
|
||||
be variables.
|
||||
|
||||
The {damp} parameter is specified in time units and determines how
|
||||
@ -98,16 +98,16 @@ different numbers of processors.
|
||||
|
||||
The keyword/value option has to be used in the following way:
|
||||
|
||||
This fix has to be used together with the {angmom} keyword. The
|
||||
particles are always considered to have a finite size.
|
||||
The keyword {angmom} enables thermostatting of the rotational degrees of
|
||||
freedom in addition to the usual translational degrees of freedom.
|
||||
This fix has to be used together with the {angmom} keyword. The
|
||||
particles are always considered to have a finite size.
|
||||
The keyword {angmom} enables thermostatting of the rotational degrees of
|
||||
freedom in addition to the usual translational degrees of freedom.
|
||||
|
||||
The scale factor after the {angmom} keyword gives the ratio of the rotational to
|
||||
The scale factor after the {angmom} keyword gives the ratio of the rotational to
|
||||
the translational friction coefficient.
|
||||
|
||||
An example input file can be found in /examples/USER/cgdna/examples/duplex2/.
|
||||
A technical report with more information on this integrator can be found
|
||||
A technical report with more information on this integrator can be found
|
||||
"here"_PDF/USER-CGDNA-overview.pdf.
|
||||
|
||||
:line
|
||||
@ -120,7 +120,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix nve"_fix_nve.html, "fix langevin"_fix_langevin.html, "fix nve/dot"_fix_nve_dot.html,
|
||||
"fix nve"_fix_nve.html, "fix langevin"_fix_langevin.html, "fix nve/dot"_fix_nve_dot.html,
|
||||
|
||||
[Default:] none
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ timestep. V is volume; K is kinetic energy. This creates a system
|
||||
trajectory consistent with the isokinetic ensemble.
|
||||
|
||||
The equations of motion used are those of Minary et al in
|
||||
"(Minary)"_#nvk-Minary, a variant of those initially given by Zhang in
|
||||
"(Minary)"_#nvk-Minary, a variant of those initially given by Zhang in
|
||||
"(Zhang)"_#nvk-Zhang.
|
||||
|
||||
The kinetic energy will be held constant at its value given when fix
|
||||
|
||||
76
doc/src/fix_python.txt
Normal file
@ -0,0 +1,76 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix python command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID python N callback function_name :pre
|
||||
|
||||
ID, group-ID are ignored by this fix :ulb,l
|
||||
python = style name of this fix command :l
|
||||
N = execute every N steps :l
|
||||
callback = {post_force} or {end_of_step} :l
|
||||
{post_force} = callback after force computations on atoms every N time steps
|
||||
{end_of_step} = callback after every N time steps :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
python post_force_callback here """
|
||||
from lammps import lammps :pre
|
||||
|
||||
def post_force_callback(lammps_ptr, vflag):
|
||||
lmp = lammps(ptr=lammps_ptr)
|
||||
# access LAMMPS state using Python interface
|
||||
""" :pre
|
||||
|
||||
python end_of_step_callback here """
|
||||
def end_of_step_callback(lammps_ptr):
|
||||
lmp = lammps(ptr=lammps_ptr)
|
||||
# access LAMMPS state using Python interface
|
||||
""" :pre
|
||||
|
||||
fix pf all python 50 post_force post_force_callback
|
||||
fix eos all python 50 end_of_step end_of_step_callback :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix allows you to call a Python function during a simulation run.
|
||||
The callback is either executed after forces have been applied to atoms
|
||||
or at the end of every N time steps.
|
||||
|
||||
Callback functions must be declared in the global scope of the
|
||||
active Python interpreter. This can either be done by defining it
|
||||
inline using the python command or by importing functions from other
|
||||
Python modules. If LAMMPS is driven using the library interface from
|
||||
Python, functions defined in the driving Python interpreter can also
|
||||
be executed.
|
||||
|
||||
Each callback is given a pointer object as first argument. This can be
|
||||
used to initialize an instance of the lammps Python interface, which
|
||||
gives access to the LAMMPS state from Python.
|
||||
|
||||
IMPORTANT NOTE: While you can access the state of LAMMPS via library functions
|
||||
from these callbacks, trying to execute input script commands will in the best
|
||||
case not work or in the worst case result in undefined behavior.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the PYTHON package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
Building LAMMPS with the PYTHON package will link LAMMPS with the
|
||||
Python library on your system. Settings to enable this are in the
|
||||
lib/python/Makefile.lammps file. See the lib/python/README file for
|
||||
information on those settings.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"python command"_python.html
|
||||
@ -8,17 +8,19 @@
|
||||
|
||||
fix qeq/reax command :h3
|
||||
fix qeq/reax/kk command :h3
|
||||
fix qeq/reax/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params :pre
|
||||
fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
qeq/reax = style name of this fix command
|
||||
Nevery = perform QEq every this many steps
|
||||
cutlo,cuthi = lo and hi cutoff for Taper radius
|
||||
tolerance = precision to which charges will be equilibrated
|
||||
params = reax/c or a filename :ul
|
||||
params = reax/c or a filename
|
||||
args = {dual} (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -59,6 +61,10 @@ potential file, except that eta is defined here as twice the eta value
|
||||
in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
||||
of this fix are hard-coded to be A, eV, and electronic charge.
|
||||
|
||||
The optional {dual} keyword allows to perform the optimization
|
||||
of the S and T matrices in parallel. This is only supported for
|
||||
the {qeq/reax/omp} style. Otherwise they are processed separately.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
|
||||
@ -34,7 +34,24 @@ written to {filename} on timesteps that are multiples of {Nevery},
|
||||
including timestep 0. For time-averaged chemical species analysis,
|
||||
please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
|
||||
|
||||
The format of the output file should be self-explanatory.
|
||||
The format of the output file should be reasonably self-explanatory.
|
||||
The meaning of the column header abbreviations is as follows:
|
||||
|
||||
id = atom id
|
||||
type = atom type
|
||||
nb = number of bonds
|
||||
id_1 = atom id of first bond
|
||||
id_nb = atom id of Nth bond
|
||||
mol = molecule id
|
||||
bo_1 = bond order of first bond
|
||||
bo_nb = bond order of Nth bond
|
||||
abo = atom bond order (sum of all bonds)
|
||||
nlp = number of lone pairs
|
||||
q = atomic charge :ul
|
||||
|
||||
If the filename ends with ".gz", the output file is written in gzipped
|
||||
format. A gzipped dump file will be about 3x smaller than the text
|
||||
version, but will also take longer to write.
|
||||
|
||||
:line
|
||||
|
||||
@ -85,6 +102,9 @@ USER-REAXC package. It is only enabled if LAMMPS was built with that
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info.
|
||||
|
||||
To write gzipped bond files, you must compile LAMMPS with the
|
||||
-DLAMMPS_GZIP option.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style reax"_pair_reax.html, "pair_style
|
||||
|
||||
@ -52,6 +52,10 @@ number of molecules of each species. In this context, "species" means
|
||||
a unique molecule. The chemical formula of each species is given in
|
||||
the first line.
|
||||
|
||||
If the filename ends with ".gz", the output file is written in gzipped
|
||||
format. A gzipped dump file will be about 3x smaller than the text version,
|
||||
but will also take longer to write.
|
||||
|
||||
Optional keyword {cutoff} can be assigned to change the minimum
|
||||
bond-order values used in identifying chemical bonds between pairs of
|
||||
atoms. Bond-order cutoffs should be carefully chosen, as bond-order
|
||||
@ -164,6 +168,9 @@ USER-REAXC package. It is only enabled if LAMMPS was built with that
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info.
|
||||
|
||||
To write gzipped species files, you must compile LAMMPS with the
|
||||
-DLAMMPS_GZIP option.
|
||||
|
||||
It should be possible to extend it to other reactive pair_styles (such as
|
||||
"rebo"_pair_airebo.html, "airebo"_pair_airebo.html,
|
||||
"comb"_pair_comb.html, and "bop"_pair_bop.html), but this has not yet been done.
|
||||
|
||||
@ -31,11 +31,12 @@ bodystyle = {single} or {molecule} or {group} :l
|
||||
groupID1, groupID2, ... = list of N group IDs :pre
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} :l
|
||||
keyword = {langevin} or {reinit} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} :l
|
||||
{langevin} values = Tstart Tstop Tperiod seed
|
||||
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
||||
Tdamp = temperature damping parameter (time units)
|
||||
seed = random number seed to use for white noise (positive integer)
|
||||
{reinit} = {yes} or {no}
|
||||
{temp} values = Tstart Tstop Tdamp
|
||||
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
||||
Tdamp = temperature damping parameter (time units)
|
||||
@ -68,10 +69,10 @@ keyword = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {coup
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 clump rigid single
|
||||
fix 1 clump rigid single reinit yes
|
||||
fix 1 clump rigid/small molecule
|
||||
fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
|
||||
fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
|
||||
fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0 reinit no
|
||||
fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
|
||||
fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984
|
||||
fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off
|
||||
@ -87,7 +88,12 @@ means that each timestep the total force and torque on each rigid body
|
||||
is computed as the sum of the forces and torques on its constituent
|
||||
particles. The coordinates, velocities, and orientations of the atoms
|
||||
in each body are then updated so that the body moves and rotates as a
|
||||
single entity.
|
||||
single entity. This is implemented by creating internal data structures
|
||||
for each rigid body and performing time integration on these data
|
||||
structures. Positions, velocities, and orientations of the constituent
|
||||
particles are regenerated from the rigid body data structures in every
|
||||
time step. This restricts which operations and fixes can be applied to
|
||||
rigid bodies. See below for a detailed discussion.
|
||||
|
||||
Examples of large rigid bodies are a colloidal particle, or portions
|
||||
of a biomolecule such as a protein.
|
||||
@ -148,8 +154,9 @@ differences may accumulate to produce divergent trajectories.
|
||||
|
||||
NOTE: You should not update the atoms in rigid bodies via other
|
||||
time-integration fixes (e.g. "fix nve"_fix_nve.html, "fix
|
||||
nvt"_fix_nh.html, "fix npt"_fix_nh.html), or you will be integrating
|
||||
their motion more than once each timestep. When performing a hybrid
|
||||
nvt"_fix_nh.html, "fix npt"_fix_nh.html, "fix move"_fix_move.html),
|
||||
or you will have conflicting updates to positions and velocities
|
||||
resulting in unphysical behavior in most cases. When performing a hybrid
|
||||
simulation with some atoms in rigid bodies, and some not, a separate
|
||||
time integration fix like "fix nve"_fix_nve.html or "fix
|
||||
nvt"_fix_nh.html should be used for the non-rigid particles.
|
||||
@ -165,23 +172,29 @@ setting the force on them to 0.0 (via the "fix
|
||||
setforce"_fix_setforce.html command), and integrating them as usual
|
||||
(e.g. via the "fix nve"_fix_nve.html command).
|
||||
|
||||
NOTE: The aggregate properties of each rigid body are calculated one
|
||||
time at the start of the first simulation run after these fixes are
|
||||
specified. The properties include the position and velocity of the
|
||||
center-of-mass of the body, its moments of inertia, and its angular
|
||||
momentum. This is done using the properties of the constituent atoms
|
||||
of the body at that point in time (or see the {infile} keyword
|
||||
option). Thereafter, changing properties of individual atoms in the
|
||||
body will have no effect on a rigid body's dynamics, unless they
|
||||
affect the "pair_style"_pair_style.html interactions that individual
|
||||
particles are part of. For example, you might think you could
|
||||
displace the atoms in a body or add a large velocity to each atom in a
|
||||
body to make it move in a desired direction before a 2nd run is
|
||||
IMPORTANT NOTE: The aggregate properties of each rigid body are
|
||||
calculated at the start of a simulation run and are maintained in
|
||||
internal data structures. The properties include the position and
|
||||
velocity of the center-of-mass of the body, its moments of inertia, and
|
||||
its angular momentum. This is done using the properties of the
|
||||
constituent atoms of the body at that point in time (or see the {infile}
|
||||
keyword option). Thereafter, changing these properties of individual
|
||||
atoms in the body will have no effect on a rigid body's dynamics, unless
|
||||
they effect any computation of per-atom forces or torques. If the
|
||||
keyword {reinit} is set to {yes} (the default), the rigid body data
|
||||
structures will be recreated at the beginning of each {run} command;
|
||||
if the keyword {reinit} is set to {no}, the rigid body data structures
|
||||
will be built only at the very first {run} command and maintained for
|
||||
as long as the rigid fix is defined. For example, you might think you
|
||||
could displace the atoms in a body or add a large velocity to each atom
|
||||
in a body to make it move in a desired direction before a 2nd run is
|
||||
performed, using the "set"_set.html or
|
||||
"displace_atoms"_displace_atoms.html or "velocity"_velocity.html
|
||||
command. But these commands will not affect the internal attributes
|
||||
of the body, and the position and velocity of individual atoms in the
|
||||
body will be reset when time integration starts.
|
||||
commands. But these commands will not affect the internal attributes
|
||||
of the body unless {reinit} is set to {yes}. With {reinit} set to {no}
|
||||
(or using the {infile} option, which implies {reinit} {no}) the position
|
||||
and velocity of individual atoms in the body will be reset when time
|
||||
integration starts again.
|
||||
|
||||
:line
|
||||
|
||||
@ -401,6 +414,14 @@ couple none :pre
|
||||
|
||||
The keyword/value option pairs are used in the following ways.
|
||||
|
||||
The {reinit} keyword determines, whether the rigid body properties
|
||||
are reinitialized between run commands. With the option {yes} (the
|
||||
default) this is done, with the option {no} this is not done. Turning
|
||||
off the reinitialization can be helpful to protect rigid bodies against
|
||||
unphysical manipulations between runs or when properties cannot be
|
||||
easily recomputed (e.g. when read from a file). When using the {infile}
|
||||
keyword, the {reinit} option is automatically set to {no}.
|
||||
|
||||
The {langevin} and {temp} and {tparam} keywords perform thermostatting
|
||||
of the rigid bodies, altering both their translational and rotational
|
||||
degrees of freedom. What is meant by "temperature" of a collection of
|
||||
@ -778,7 +799,7 @@ exclude, "fix shake"_fix_shake.html
|
||||
|
||||
The option defaults are force * on on on and torque * on on on,
|
||||
meaning all rigid bodies are acted on by center-of-mass force and
|
||||
torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3.
|
||||
torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3, reinit = yes.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ NOTE: The center of mass of a group of atoms is calculated in
|
||||
group can straddle a periodic boundary. See the "dump"_dump.html doc
|
||||
page for a discussion of unwrapped coordinates. It also means that a
|
||||
spring connecting two groups or a group and the tether point can cross
|
||||
a periodic boundary and its length be calculated correctly.
|
||||
a periodic boundary and its length be calculated correctly.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
|
||||
@ -144,7 +144,11 @@ this fix.
|
||||
|
||||
"fix spring"_fix_spring.html, "fix adapt"_fix_adapt.html
|
||||
|
||||
[Restrictions:] none
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -111,6 +111,7 @@ Fixes :h1
|
||||
fix_press_berendsen
|
||||
fix_print
|
||||
fix_property_atom
|
||||
fix_python
|
||||
fix_qbmsst
|
||||
fix_qeq
|
||||
fix_qeq_comb
|
||||
|
||||
@ -219,10 +219,10 @@ instead of using the virial equation. This option cannot be used to access
|
||||
individual components of the pressure tensor, to compute per-atom virial,
|
||||
or with suffix kspace/pair styles of MSM, like OMP or GPU.
|
||||
|
||||
The {fftbench} keyword applies only to PPPM. It is on by default. If
|
||||
this option is turned off, LAMMPS will not take the time at the end
|
||||
of a run to give FFT benchmark timings, and will finish a few seconds
|
||||
faster than it would if this option were on.
|
||||
The {fftbench} keyword applies only to PPPM. It is off by default. If
|
||||
this option is turned on, LAMMPS will perform a short FFT benchmark
|
||||
computation and report its timings, and will thus finish a some seconds
|
||||
later than it would if this option were off.
|
||||
|
||||
The {collective} keyword applies only to PPPM. It is set to {no} by
|
||||
default, except on IBM BlueGene machines. If this option is set to
|
||||
@ -306,9 +306,10 @@ parameters, see the "How-To"_Section_howto.html#howto_24 discussion.
|
||||
The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp =
|
||||
5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0,
|
||||
gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust =
|
||||
yes (MSM), pressure/scalar = yes (MSM), fftbench = yes (PPPM), diff = ik
|
||||
yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = ik
|
||||
(PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0,
|
||||
split = 0, tol = 1.0e-6, and disp/auto = no.
|
||||
split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, order =
|
||||
order/disp = 7.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -33,12 +33,16 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg}
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/gpu} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/intel} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/kk} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/omp} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/cg/omp} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/disp/intel} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/tip4p/omp} value = accuracy
|
||||
accuracy = desired relative error in forces
|
||||
{pppm/stagger} value = accuracy
|
||||
|
||||
@ -55,12 +55,12 @@ dihedral_style.html
|
||||
dimension.html
|
||||
displace_atoms.html
|
||||
dump.html
|
||||
dump_custom_vtk.html
|
||||
dump_h5md.html
|
||||
dump_image.html
|
||||
dump_modify.html
|
||||
dump_molfile.html
|
||||
dump_nc.html
|
||||
dump_netcdf.html
|
||||
dump_vtk.html
|
||||
echo.html
|
||||
fix.html
|
||||
fix_modify.html
|
||||
@ -237,6 +237,7 @@ fix_pour.html
|
||||
fix_press_berendsen.html
|
||||
fix_print.html
|
||||
fix_property_atom.html
|
||||
fix_python.html
|
||||
fix_qbmsst.html
|
||||
fix_qeq.html
|
||||
fix_qeq_comb.html
|
||||
@ -300,6 +301,7 @@ compute_centro_atom.html
|
||||
compute_chunk_atom.html
|
||||
compute_cluster_atom.html
|
||||
compute_cna_atom.html
|
||||
compute_cnp_atom.html
|
||||
compute_com.html
|
||||
compute_com_chunk.html
|
||||
compute_contact_atom.html
|
||||
@ -432,6 +434,7 @@ pair_gauss.html
|
||||
pair_gayberne.html
|
||||
pair_gran.html
|
||||
pair_gromacs.html
|
||||
pair_gw.html
|
||||
pair_hbond_dreiding.html
|
||||
pair_hybrid.html
|
||||
pair_kim.html
|
||||
@ -444,7 +447,6 @@ pair_lj96.html
|
||||
pair_lj_cubic.html
|
||||
pair_lj_expand.html
|
||||
pair_lj_long.html
|
||||
pair_lj_sf.html
|
||||
pair_lj_smooth.html
|
||||
pair_lj_smooth_linear.html
|
||||
pair_lj_soft.html
|
||||
@ -467,6 +469,7 @@ pair_oxdna.html
|
||||
pair_oxdna2.html
|
||||
pair_peri.html
|
||||
pair_polymorphic.html
|
||||
pair_python.html
|
||||
pair_quip.html
|
||||
pair_reax.html
|
||||
pair_reaxc.html
|
||||
|
||||
@ -24,14 +24,15 @@ to the relevant fixes.
|
||||
{manifold} @ {parameters} @ {equation} @ {description}
|
||||
cylinder @ R @ x^2 + y^2 - R^2 = 0 @ Cylinder along z-axis, axis going through (0,0,0)
|
||||
cylinder_dent @ R l a @ x^2 + y^2 - r(z)^2 = 0, r(x) = R if | z | > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise @ A cylinder with a dent around z = 0
|
||||
dumbbell @ a A B c @ -( x^2 + y^2 ) * (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell @
|
||||
dumbbell @ a A B c @ -( x^2 + y^2 ) + (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell
|
||||
ellipsoid @ a b c @ (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 @ An ellipsoid
|
||||
gaussian_bump @ A l rc1 rc2 @ if( x < rc1) -z + A * exp( -x^2 / (2 l^2) ); else if( x < rc2 ) -z + a + b*x + c*x^2 + d*x^3; else z @ A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0.
|
||||
plane @ a b c x0 y0 z0 @ a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 @ A plane with normal (a,b,c) going through point (x0,y0,z0)
|
||||
plane_wiggle @ a w @ z - a*sin(w*x) = 0 @ A plane with a sinusoidal modulation on z along x.
|
||||
sphere @ R @ x^2 + y^2 + z^2 - R^2 = 0 @ A sphere of radius R
|
||||
supersphere @ R q @ | x |^q + | y |^q + | z |^q - R^q = 0 @ A supersphere of hyperradius R
|
||||
spine @ a, A, B, B2, c @ -(x^2 + y^2)*(a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ An approximation to a dendtritic spine
|
||||
spine_two @ a, A, B, B2, c @ -(x^2 + y^2)*(a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ Another approximation to a dendtritic spine
|
||||
spine @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ An approximation to a dendtritic spine
|
||||
spine_two @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ Another approximation to a dendtritic spine
|
||||
thylakoid @ wB LB lB @ Various, see "(Paquay)"_#Paquay1 @ A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB
|
||||
torus @ R r @ (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2 @ A torus with large radius R and small radius r, centered on (0,0,0) :tb(s=@)
|
||||
|
||||
|
||||
219
doc/src/neb.txt
@ -10,28 +10,31 @@ neb command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
neb etol ftol N1 N2 Nevery file-style arg :pre
|
||||
neb etol ftol N1 N2 Nevery file-style arg keyword :pre
|
||||
|
||||
etol = stopping tolerance for energy (energy units) :ulb,l
|
||||
ftol = stopping tolerance for force (force units) :l
|
||||
N1 = max # of iterations (timesteps) to run initial NEB :l
|
||||
N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l
|
||||
Nevery = print replica energies and reaction coordinates every this many timesteps :l
|
||||
file-style= {final} or {each} or {none} :l
|
||||
file-style = {final} or {each} or {none} :l
|
||||
{final} arg = filename
|
||||
filename = file with initial coords for final replica
|
||||
coords for intermediate replicas are linearly interpolated between first and last replica
|
||||
coords for intermediate replicas are linearly interpolated
|
||||
between first and last replica
|
||||
{each} arg = filename
|
||||
filename = unique filename for each replica (except first) with its initial coords
|
||||
{none} arg = no argument
|
||||
all replicas assumed to already have their initial coords :pre
|
||||
filename = unique filename for each replica (except first)
|
||||
with its initial coords
|
||||
{none} arg = no argument all replicas assumed to already have
|
||||
their initial coords :pre
|
||||
keyword = {verbose}
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
neb 0.1 0.0 1000 500 50 final coords.final
|
||||
neb 0.0 0.001 1000 500 50 each coords.initial.$i
|
||||
neb 0.0 0.001 1000 500 50 none :pre
|
||||
neb 0.0 0.001 1000 500 50 none verbose :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -43,8 +46,8 @@ NEB is a method for finding both the atomic configurations and height
|
||||
of the energy barrier associated with a transition state, e.g. for an
|
||||
atom to perform a diffusive hop from one energy basin to another in a
|
||||
coordinated fashion with its neighbors. The implementation in LAMMPS
|
||||
follows the discussion in these 3 papers: "(HenkelmanA)"_#HenkelmanA,
|
||||
"(HenkelmanB)"_#HenkelmanB, and "(Nakano)"_#Nakano3.
|
||||
follows the discussion in these 4 papers: "(HenkelmanA)"_#HenkelmanA,
|
||||
"(HenkelmanB)"_#HenkelmanB, "(Nakano)"_#Nakano3 and "(Maras)"_#Maras2.
|
||||
|
||||
Each replica runs on a partition of one or more processors. Processor
|
||||
partitions are defined at run-time using the -partition command-line
|
||||
@ -70,18 +73,17 @@ I.e. the simulation domain, the number of atoms, the interaction
|
||||
potentials, and the starting configuration when the neb command is
|
||||
issued should be the same for every replica.
|
||||
|
||||
In a NEB calculation each atom in a replica is connected to the same
|
||||
atom in adjacent replicas by springs, which induce inter-replica
|
||||
forces. These forces are imposed by the "fix neb"_fix_neb.html
|
||||
command, which must be used in conjunction with the neb command. The
|
||||
group used to define the fix neb command defines the NEB atoms which
|
||||
are the only ones that inter-replica springs are applied to. If the
|
||||
group does not include all atoms, then non-NEB atoms have no
|
||||
inter-replica springs and the forces they feel and their motion is
|
||||
computed in the usual way due only to other atoms within their
|
||||
replica. Conceptually, the non-NEB atoms provide a background force
|
||||
field for the NEB atoms. They can be allowed to move during the NEB
|
||||
minimization procedure (which will typically induce different
|
||||
In a NEB calculation each replica is connected to other replicas by
|
||||
inter-replica nudging forces. These forces are imposed by the "fix
|
||||
neb"_fix_neb.html command, which must be used in conjunction with the
|
||||
neb command. The group used to define the fix neb command defines the
|
||||
NEB atoms which are the only ones that inter-replica springs are
|
||||
applied to. If the group does not include all atoms, then non-NEB
|
||||
atoms have no inter-replica springs and the forces they feel and their
|
||||
motion is computed in the usual way due only to other atoms within
|
||||
their replica. Conceptually, the non-NEB atoms provide a background
|
||||
force field for the NEB atoms. They can be allowed to move during the
|
||||
NEB minimization procedure (which will typically induce different
|
||||
coordinates for non-NEB atoms in different replicas), or held fixed
|
||||
using other LAMMPS commands such as "fix setforce"_fix_setforce.html.
|
||||
Note that the "partition"_partition.html command can be used to invoke
|
||||
@ -93,33 +95,18 @@ specified in different manners via the {file-style} setting, as
|
||||
discussed below. Only atoms whose initial coordinates should differ
|
||||
from the current configuration need be specified.
|
||||
|
||||
Conceptually, the initial configuration for the first replica should
|
||||
be a state with all the atoms (NEB and non-NEB) having coordinates on
|
||||
one side of the energy barrier. A perfect energy minimum is not
|
||||
required, since atoms in the first replica experience no spring forces
|
||||
from the 2nd replica. Thus the damped dynamics minimization will
|
||||
drive the first replica to an energy minimum if it is not already
|
||||
there. However, you will typically get better convergence if the
|
||||
initial state is already at a minimum. For example, for a system with
|
||||
a free surface, the surface should be fully relaxed before attempting
|
||||
a NEB calculation.
|
||||
|
||||
Likewise, the initial configuration of the final replica should be a
|
||||
state with all the atoms (NEB and non-NEB) on the other side of the
|
||||
energy barrier. Again, a perfect energy minimum is not required,
|
||||
since the atoms in the last replica also experience no spring forces
|
||||
from the next-to-last replica, and thus the damped dynamics
|
||||
minimization will drive it to an energy minimum.
|
||||
Conceptually, the initial and final configurations for the first
|
||||
replica should be states on either side of an energy barrier.
|
||||
|
||||
As explained below, the initial configurations of intermediate
|
||||
replicas can be atomic coordinates interpolated in a linear fashion
|
||||
between the first and last replicas. This is often adequate state for
|
||||
between the first and last replicas. This is often adequate for
|
||||
simple transitions. For more complex transitions, it may lead to slow
|
||||
convergence or even bad results if the minimum energy path (MEP, see
|
||||
below) of states over the barrier cannot be correctly converged to
|
||||
from such an initial configuration. In this case, you will want to
|
||||
generate initial states for the intermediate replicas that are
|
||||
geometrically closer to the MEP and read them in.
|
||||
from such an initial path. In this case, you will want to generate
|
||||
initial states for the intermediate replicas that are geometrically
|
||||
closer to the MEP and read them in.
|
||||
|
||||
:line
|
||||
|
||||
@ -135,10 +122,11 @@ is assigned to be a fraction of the distance. E.g. if there are 10
|
||||
replicas, the 2nd replica will assign a position that is 10% of the
|
||||
distance along a line between the starting and final point, and the
|
||||
9th replica will assign a position that is 90% of the distance along
|
||||
the line. Note that this procedure to produce consistent coordinates
|
||||
across all the replicas, the current coordinates need to be the same
|
||||
in all replicas. LAMMPS does not check for this, but invalid initial
|
||||
configurations will likely result if it is not the case.
|
||||
the line. Note that for this procedure to produce consistent
|
||||
coordinates across all the replicas, the current coordinates need to
|
||||
be the same in all replicas. LAMMPS does not check for this, but
|
||||
invalid initial configurations will likely result if it is not the
|
||||
case.
|
||||
|
||||
NOTE: The "distance" between the starting and final point is
|
||||
calculated in a minimum-image sense for a periodic simulation box.
|
||||
@ -150,8 +138,8 @@ interpolation is outside the periodic box, the atom will be wrapped
|
||||
back into the box when the NEB calculation begins.
|
||||
|
||||
For a {file-style} setting of {each}, a filename is specified which is
|
||||
assumed to be unique to each replica. This can be done by
|
||||
using a variable in the filename, e.g.
|
||||
assumed to be unique to each replica. This can be done by using a
|
||||
variable in the filename, e.g.
|
||||
|
||||
variable i equal part
|
||||
neb 0.0 0.001 1000 500 50 each coords.initial.$i :pre
|
||||
@ -198,11 +186,10 @@ The minimizer tolerances for energy and force are set by {etol} and
|
||||
A non-zero {etol} means that the NEB calculation will terminate if the
|
||||
energy criterion is met by every replica. The energies being compared
|
||||
to {etol} do not include any contribution from the inter-replica
|
||||
forces, since these are non-conservative. A non-zero {ftol} means
|
||||
that the NEB calculation will terminate if the force criterion is met
|
||||
by every replica. The forces being compared to {ftol} include the
|
||||
inter-replica forces between an atom and its images in adjacent
|
||||
replicas.
|
||||
nudging forces, since these are non-conservative. A non-zero {ftol}
|
||||
means that the NEB calculation will terminate if the force criterion
|
||||
is met by every replica. The forces being compared to {ftol} include
|
||||
the inter-replica nudging forces.
|
||||
|
||||
The maximum number of iterations in each stage is set by {N1} and
|
||||
{N2}. These are effectively timestep counts since each iteration of
|
||||
@ -220,27 +207,27 @@ finding a good energy barrier. {N1} and {N2} must both be multiples
|
||||
of {Nevery}.
|
||||
|
||||
In the first stage of NEB, the set of replicas should converge toward
|
||||
the minimum energy path (MEP) of conformational states that transition
|
||||
over the barrier. The MEP for a barrier is defined as a sequence of
|
||||
3N-dimensional states that cross the barrier at its saddle point, each
|
||||
of which has a potential energy gradient parallel to the MEP itself.
|
||||
The replica states will also be roughly equally spaced along the MEP
|
||||
due to the inter-replica spring force added by the "fix
|
||||
neb"_fix_neb.html command.
|
||||
a minimum energy path (MEP) of conformational states that transition
|
||||
over a barrier. The MEP for a transition is defined as a sequence of
|
||||
3N-dimensional states, each of which has a potential energy gradient
|
||||
parallel to the MEP itself. The configuration of highest energy along
|
||||
a MEP corresponds to a saddle point. The replica states will also be
|
||||
roughly equally spaced along the MEP due to the inter-replica nugding
|
||||
force added by the "fix neb"_fix_neb.html command.
|
||||
|
||||
In the second stage of NEB, the replica with the highest energy
|
||||
is selected and the inter-replica forces on it are converted to a
|
||||
force that drives its atom coordinates to the top or saddle point of
|
||||
the barrier, via the barrier-climbing calculation described in
|
||||
In the second stage of NEB, the replica with the highest energy is
|
||||
selected and the inter-replica forces on it are converted to a force
|
||||
that drives its atom coordinates to the top or saddle point of the
|
||||
barrier, via the barrier-climbing calculation described in
|
||||
"(HenkelmanB)"_#HenkelmanB. As before, the other replicas rearrange
|
||||
themselves along the MEP so as to be roughly equally spaced.
|
||||
|
||||
When both stages are complete, if the NEB calculation was successful,
|
||||
one of the replicas should be an atomic configuration at the top or
|
||||
saddle point of the barrier, the potential energies for the set of
|
||||
replicas should represent the energy profile of the barrier along the
|
||||
MEP, and the configurations of the replicas should be a sequence of
|
||||
configurations along the MEP.
|
||||
the configurations of the replicas should be along (close to) the MEP
|
||||
and the replica with the highest energy should be an atomic
|
||||
configuration at (close to) the saddle point of the transition. The
|
||||
potential energies for the set of replicas represents the energy
|
||||
profile of the transition along the MEP.
|
||||
|
||||
:line
|
||||
|
||||
@ -284,9 +271,9 @@ ID2 x2 y2 z2
|
||||
...
|
||||
IDN xN yN zN :pre
|
||||
|
||||
The fields are the atom ID, followed by the x,y,z coordinates.
|
||||
The lines can be listed in any order. Additional trailing information
|
||||
on the line is OK, such as a comment.
|
||||
The fields are the atom ID, followed by the x,y,z coordinates. The
|
||||
lines can be listed in any order. Additional trailing information on
|
||||
the line is OK, such as a comment.
|
||||
|
||||
Note that for a typical NEB calculation you do not need to specify
|
||||
initial coordinates for very many atoms to produce differing starting
|
||||
@ -310,38 +297,54 @@ this case), the print-out to the screen and master log.lammps file
|
||||
contains a line of output, printed once every {Nevery} timesteps. It
|
||||
contains the timestep, the maximum force per replica, the maximum
|
||||
force per atom (in any replica), potential gradients in the initial,
|
||||
final, and climbing replicas, the forward and backward energy barriers,
|
||||
the total reaction coordinate (RDT), and the normalized reaction
|
||||
coordinate and potential energy of each replica.
|
||||
final, and climbing replicas, the forward and backward energy
|
||||
barriers, the total reaction coordinate (RDT), and the normalized
|
||||
reaction coordinate and potential energy of each replica.
|
||||
|
||||
The "maximum force per replica" is
|
||||
the two-norm of the 3N-length force vector for the atoms in each
|
||||
replica, maximized across replicas, which is what the {ftol} setting
|
||||
is checking against. In this case, N is all the atoms in each
|
||||
replica. The "maximum force per atom" is the maximum force component
|
||||
of any atom in any replica. The potential gradients are the two-norm
|
||||
of the 3N-length force vector solely due to the interaction potential i.e.
|
||||
without adding in inter-replica forces. Note that inter-replica forces
|
||||
are zero in the initial and final replicas, and only affect
|
||||
the direction in the climbing replica. For this reason, the "maximum
|
||||
force per replica" is often equal to the potential gradient in the
|
||||
climbing replica. In the first stage of NEB, there is no climbing
|
||||
replica, and so the potential gradient in the highest energy replica
|
||||
is reported, since this replica will become the climbing replica
|
||||
in the second stage of NEB.
|
||||
The "maximum force per replica" is the two-norm of the 3N-length force
|
||||
vector for the atoms in each replica, maximized across replicas, which
|
||||
is what the {ftol} setting is checking against. In this case, N is
|
||||
all the atoms in each replica. The "maximum force per atom" is the
|
||||
maximum force component of any atom in any replica. The potential
|
||||
gradients are the two-norm of the 3N-length force vector solely due to
|
||||
the interaction potential i.e. without adding in inter-replica
|
||||
forces.
|
||||
|
||||
The "reaction coordinate" (RD) for each
|
||||
replica is the two-norm of the 3N-length vector of distances between
|
||||
its atoms and the preceding replica's atoms, added to the RD of the
|
||||
preceding replica. The RD of the first replica RD1 = 0.0;
|
||||
the RD of the final replica RDN = RDT, the total reaction coordinate.
|
||||
The normalized RDs are divided by RDT,
|
||||
so that they form a monotonically increasing sequence
|
||||
from zero to one. When computing RD, N only includes the atoms
|
||||
being operated on by the fix neb command.
|
||||
The "reaction coordinate" (RD) for each replica is the two-norm of the
|
||||
3N-length vector of distances between its atoms and the preceding
|
||||
replica's atoms, added to the RD of the preceding replica. The RD of
|
||||
the first replica RD1 = 0.0; the RD of the final replica RDN = RDT,
|
||||
the total reaction coordinate. The normalized RDs are divided by RDT,
|
||||
so that they form a monotonically increasing sequence from zero to
|
||||
one. When computing RD, N only includes the atoms being operated on by
|
||||
the fix neb command.
|
||||
|
||||
The forward (reverse) energy barrier is the potential energy of the
|
||||
highest replica minus the energy of the first (last) replica.
|
||||
|
||||
Supplementary informations for all replicas can be printed out to the
|
||||
screen and master log.lammps file by adding the verbose keyword. These
|
||||
informations include the following. The "path angle" (pathangle) for
|
||||
the replica i which is the angle between the 3N-length vectors (Ri-1 -
|
||||
Ri) and (Ri+1 - Ri) (where Ri is the atomic coordinates of replica
|
||||
i). A "path angle" of 180 indicates that replicas i-1, i and i+1 are
|
||||
aligned. "angletangrad" is the angle between the 3N-length tangent
|
||||
vector and the 3N-length force vector at image i. The tangent vector
|
||||
is calculated as in "(HenkelmanA)"_#HenkelmanA for all intermediate
|
||||
replicas and at R2 - R1 and RM - RM-1 for the first and last replica,
|
||||
respectively. "anglegrad" is the angle between the 3N-length energy
|
||||
gradient vector of replica i and that of replica i+1. It is not
|
||||
defined for the final replica and reads nan. gradV is the norm of the
|
||||
energy gradient of image i. ReplicaForce is the two-norm of the
|
||||
3N-length force vector (including nudging forces) for replica i.
|
||||
MaxAtomForce is the maximum force component of any atom in replica i.
|
||||
|
||||
When a NEB calculation does not converge properly, these suplementary
|
||||
informations can help understanding what is going wrong. For instance
|
||||
when the path angle becomes accute the definition of tangent used in
|
||||
the NEB calculation is questionable and the NEB cannot may diverge
|
||||
"(Maras)"_#Maras2.
|
||||
|
||||
The forward (reverse) energy barrier is the potential energy of the highest
|
||||
replica minus the energy of the first (last) replica.
|
||||
|
||||
When running on multiple partitions, LAMMPS produces additional log
|
||||
files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a
|
||||
@ -396,12 +399,16 @@ This command can only be used if LAMMPS was built with the REPLICA
|
||||
package. See the "Making LAMMPS"_Section_start.html#start_3 section
|
||||
for more info on packages.
|
||||
|
||||
:line
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"prd"_prd.html, "temper"_temper.html, "fix
|
||||
langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html
|
||||
"prd"_prd.html, "temper"_temper.html, "fix langevin"_fix_langevin.html,
|
||||
"fix viscous"_fix_viscous.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
|
||||
none
|
||||
|
||||
:line
|
||||
|
||||
@ -414,3 +421,7 @@ langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html
|
||||
|
||||
:link(Nakano3)
|
||||
[(Nakano)] Nakano, Comp Phys Comm, 178, 280-289 (2008).
|
||||
|
||||
:link(Maras2)
|
||||
[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson,
|
||||
Comp Phys Comm, 205, 13-21 (2016)
|
||||
|
||||
@ -574,9 +574,9 @@ is used. If it is not used, you must invoke the package intel
|
||||
command in your input script or or via the "-pk intel" "command-line
|
||||
switch"_Section_start.html#start_7.
|
||||
|
||||
For the KOKKOS package, the option defaults neigh = full, neigh/qeq
|
||||
= full, newton = off, binsize = 0.0, and comm = device. These settings
|
||||
are made automatically by the required "-k on" "command-line
|
||||
For the KOKKOS package, the option defaults neigh = full,
|
||||
neigh/qeq = full, newton = off, binsize = 0.0, and comm = device.
|
||||
These settings are made automatically by the required "-k on" "command-line
|
||||
switch"_Section_start.html#start_7. You can change them bu using the
|
||||
package kokkos command in your input script or via the "-pk kokkos"
|
||||
"command-line switch"_Section_start.html#start_7.
|
||||
|
||||
@ -40,8 +40,8 @@ vectorial atomic forces.
|
||||
|
||||
Only a single pair_coeff command is used with the {agni} style which
|
||||
specifies an AGNI potential file containing the parameters of the
|
||||
force field for the needed elements. These are mapped to LAMMPS atom
|
||||
types by specifying N additional arguments after the filename in the
|
||||
force field for the needed elements. These are mapped to LAMMPS atom
|
||||
types by specifying N additional arguments after the filename in the
|
||||
pair_coeff command, where N is the number of LAMMPS atom types:
|
||||
|
||||
filename
|
||||
@ -52,13 +52,13 @@ to specify the path for the force field file.
|
||||
|
||||
An AGNI force field is fully specified by the filename which contains the
|
||||
parameters of the force field, i.e., the reference training environments
|
||||
used to construct the machine learning force field. Example force field
|
||||
and input files are provided in the examples/USER/misc/agni directory.
|
||||
used to construct the machine learning force field. Example force field
|
||||
and input files are provided in the examples/USER/misc/agni directory.
|
||||
|
||||
:line
|
||||
|
||||
Styles with {omp} suffix is functionally the same as the corresponding
|
||||
style without the suffix. They have been optimized to run faster, depending
|
||||
Styles with {omp} suffix is functionally the same as the corresponding
|
||||
style without the suffix. They have been optimized to run faster, depending
|
||||
on your available hardware, as discussed in "Section 5"_Section_accelerate.html
|
||||
of the manual. The accelerated style takes the same arguments and
|
||||
should produce the same results, except for round-off and precision
|
||||
|
||||
@ -75,7 +75,7 @@ Lennard-Jones 12/6) given by
|
||||
:c,image(Eqs/pair_buck.jpg)
|
||||
|
||||
where rho is an ionic-pair dependent length parameter, and Rc is the
|
||||
cutoff on both terms.
|
||||
cutoff on both terms.
|
||||
|
||||
The styles with {coul/cut} or {coul/long} or {coul/msm} add a
|
||||
Coulombic term as described for the "lj/cut"_pair_lj.html pair styles.
|
||||
|
||||
@ -104,7 +104,15 @@ charmmfsw"_dihedral_charmm.html command. Eventually code from the new
|
||||
styles will propagate into the related pair styles (e.g. implicit,
|
||||
accelerator, free energy variants).
|
||||
|
||||
The general CHARMM formulas are as follows
|
||||
NOTE: The newest CHARMM pair styles reset the Coulombic energy
|
||||
conversion factor used internally in the code, from the LAMMPS value
|
||||
to the CHARMM value, as if it were effectively a parameter of the
|
||||
force field. This is because the CHARMM code uses a slightly
|
||||
different value for the this conversion factor in "real
|
||||
units"_units.html (Kcal/mole), namely CHARMM = 332.0716, LAMMPS =
|
||||
332.06371. This is to enable more precise agreement by LAMMPS with
|
||||
the CHARMM force field energies and forces, when using one of these
|
||||
two CHARMM pair styles.
|
||||
|
||||
:c,image(Eqs/pair_charmm.jpg)
|
||||
|
||||
|
||||
@ -71,6 +71,14 @@ and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the
|
||||
torques do not act symmetrically. These formulas are discussed in
|
||||
"(Allen)"_#Allen2 and in "(Toukmaji)"_#Toukmaji2.
|
||||
|
||||
Also note, that in the code, all of these terms (except Elj) have a
|
||||
C/epsilon prefactor, the same as the Coulombic term in the LJ +
|
||||
Coulombic pair styles discussed "here"_pair_lj.html. C is an
|
||||
energy-conversion constant and epsilon is the dielectric constant
|
||||
which can be set by the "dielectric"_dielectric.html command. The
|
||||
same is true of the equations that follow for other dipole pair
|
||||
styles.
|
||||
|
||||
Style {lj/sf/dipole/sf} computes "shifted-force" interactions between
|
||||
pairs of particles that each have a charge and/or a point dipole
|
||||
moment. In general, a shifted-force potential is a (sligthly) modified
|
||||
|
||||
@ -7,11 +7,13 @@
|
||||
:line
|
||||
|
||||
pair_style edip command :h3
|
||||
pair_style edip/multi command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style edip :pre
|
||||
pair_style edip/omp :pre
|
||||
pair_style style :pre
|
||||
|
||||
style = {edip} or {edip/multi} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -20,11 +22,14 @@ pair_coeff * * Si.edip Si
|
||||
|
||||
[Description:]
|
||||
|
||||
The {edip} style computes a 3-body "EDIP"_#EDIP potential which is
|
||||
popular for modeling silicon materials where it can have advantages
|
||||
over other models such as the "Stillinger-Weber"_pair_sw.html or
|
||||
"Tersoff"_pair_tersoff.html potentials. In EDIP, the energy E of a
|
||||
system of atoms is
|
||||
The {edip} and {edip/multi} styles compute a 3-body "EDIP"_#EDIP
|
||||
potential which is popular for modeling silicon materials where
|
||||
it can have advantages over other models such as the
|
||||
"Stillinger-Weber"_pair_sw.html or "Tersoff"_pair_tersoff.html
|
||||
potentials. The {edip} style has been programmed for single element
|
||||
potentials, while {edip/multi} supports multi-element EDIP runs.
|
||||
|
||||
In EDIP, the energy E of a system of atoms is
|
||||
|
||||
:c,image(Eqs/pair_edip.jpg)
|
||||
|
||||
@ -142,7 +147,7 @@ This pair style can only be used via the {pair} keyword of the
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
This pair style can only be used if LAMMPS was built with the
|
||||
USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||
section for more info on packages.
|
||||
|
||||
@ -151,7 +156,7 @@ for pair interactions.
|
||||
|
||||
The EDIP potential files provided with LAMMPS (see the potentials directory)
|
||||
are parameterized for metal "units"_units.html.
|
||||
You can use the SW potential with any LAMMPS units, but you would need
|
||||
You can use the EDIP potential with any LAMMPS units, but you would need
|
||||
to create your own EDIP potential file with coefficients listed in the
|
||||
appropriate units if your simulation doesn't use "metal" units.
|
||||
|
||||
@ -164,4 +169,4 @@ appropriate units if your simulation doesn't use "metal" units.
|
||||
:line
|
||||
|
||||
:link(EDIP)
|
||||
[(EDIP)] J. F. Justo et al., Phys. Rev. B 58, 2539 (1998).
|
||||
[(EDIP)] J F Justo et al, Phys Rev B 58, 2539 (1998).
|
||||
|
||||
@ -55,33 +55,33 @@ defined in the reaction kinetics files specified with the "fix
|
||||
rx"_fix_rx.html command or they must correspond to the tag "1fluid",
|
||||
signifying interaction with a product species mixture determined
|
||||
through a one-fluid approximation. The interaction potential is
|
||||
weighted by the geometric average of either the mole fraction concentrations
|
||||
or the number of molecules associated with the interacting coarse-grained
|
||||
particles (see the {fractional} or {molecular} weighting pair style options).
|
||||
weighted by the geometric average of either the mole fraction concentrations
|
||||
or the number of molecules associated with the interacting coarse-grained
|
||||
particles (see the {fractional} or {molecular} weighting pair style options).
|
||||
The coarse-grained potential is stored before and after the
|
||||
reaction kinetics solver is applied, where the difference is defined
|
||||
to be the internal chemical energy (uChem).
|
||||
|
||||
The fourth argument specifies the type of scaling that will be used
|
||||
The fourth argument specifies the type of scaling that will be used
|
||||
to scale the EXP-6 parameters as reactions occur. Currently, there
|
||||
are three scaling options: {exponent}, {polynomial} and {none}.
|
||||
|
||||
Exponent scaling requires two additional arguments for scaling
|
||||
Exponent scaling requires two additional arguments for scaling
|
||||
the {Rm} and {epsilon} parameters, respectively. The scaling factor
|
||||
is computed by phi^exponent, where phi is the number of molecules
|
||||
represented by the coarse-grain particle and exponent is specified
|
||||
is computed by phi^exponent, where phi is the number of molecules
|
||||
represented by the coarse-grain particle and exponent is specified
|
||||
as a pair coefficient argument for {Rm} and {epsilon}, respectively.
|
||||
The {Rm} and {epsilon} parameters are multiplied by the scaling
|
||||
The {Rm} and {epsilon} parameters are multiplied by the scaling
|
||||
factor to give the scaled interaction parameters for the CG particle.
|
||||
|
||||
Polynomial scaling requires a filename to be specified as a pair
|
||||
Polynomial scaling requires a filename to be specified as a pair
|
||||
coeff argument. The file contains the coefficients to a fifth order
|
||||
polynomial for the {alpha}, {epsilon} and {Rm} parameters that depend
|
||||
upon phi (the number of molecules represented by the CG particle).
|
||||
polynomial for the {alpha}, {epsilon} and {Rm} parameters that depend
|
||||
upon phi (the number of molecules represented by the CG particle).
|
||||
The format of a polynomial file is provided below.
|
||||
|
||||
The {none} option to the scaling does not have any additional pair coeff
|
||||
arguments. This is equivalent to specifying the {exponent} option with
|
||||
arguments. This is equivalent to specifying the {exponent} option with
|
||||
{Rm} and {epsilon} exponents of 0.0 and 0.0, respectively.
|
||||
|
||||
The final argument specifies the interaction cutoff (optional).
|
||||
@ -102,7 +102,7 @@ parenthesized comments):
|
||||
|
||||
# POLYNOMIAL FILE (one or more comment or blank lines) :pre
|
||||
# General Functional Form:
|
||||
# A*phi^5 + B*phi^4 + C*phi^3 + D*phi^2 + E*phi + F
|
||||
# A*phi^5 + B*phi^4 + C*phi^3 + D*phi^2 + E*phi + F
|
||||
#
|
||||
# Parameter A B C D E F
|
||||
(blank)
|
||||
|
||||
@ -128,7 +128,7 @@ The B parameter is converted to a distance (sigma), before mixing
|
||||
afterwards (using B=sigma^2).
|
||||
Negative A values are converted to positive A values (using abs(A))
|
||||
before mixing, and converted back after mixing
|
||||
(by multiplying by sign(Ai)*sign(Aj)).
|
||||
(by multiplying by min(sign(Ai),sign(Aj))).
|
||||
This way, if either particle is repulsive (if Ai<0 or Aj<0),
|
||||
then the default interaction between both particles will be repulsive.
|
||||
|
||||
|
||||
120
doc/src/pair_gw.txt
Normal file
@ -0,0 +1,120 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style gw command :h3
|
||||
pair_style gw/zbl command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style style :pre
|
||||
|
||||
style = {gw} or {gw/zbl} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style gw
|
||||
pair_coeff * * SiC.gw Si C C
|
||||
|
||||
pair_style gw/zbl
|
||||
pair_coeff * * SiC.gw.zbl C Si :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {gw} style computes a 3-body "Gao-Weber"_#Gao potential;
|
||||
similarly {gw/zbl} combines this potential with a modified
|
||||
repulsive ZBL core function in a similar fashion as implemented
|
||||
in the "tersoff/zbl"_pair_tersoff_zbl.html pair style.
|
||||
|
||||
Unfortunately the author of this contributed code has not been
|
||||
able to submit a suitable documentation explaining the details
|
||||
of the potentials. The LAMMPS developers thus have finally decided
|
||||
to release the code anyway with only the technical explanations.
|
||||
For details of the model and the parameters, please refer to the
|
||||
linked publication.
|
||||
|
||||
Only a single pair_coeff command is used with the {gw} and {gw/zbl}
|
||||
styles which specifies a Gao-Weber potential file with parameters
|
||||
for all needed elements. These are mapped to LAMMPS atom types by
|
||||
specifying N additional arguments after the filename in the pair_coeff
|
||||
command, where N is the number of LAMMPS atom types:
|
||||
|
||||
filename
|
||||
N element names = mapping of GW elements to atom types :ul
|
||||
|
||||
See the "pair_coeff"_pair_coeff.html doc page for alternate ways
|
||||
to specify the path for the potential file.
|
||||
|
||||
As an example, imagine a file SiC.gw has Gao-Weber values for Si and C.
|
||||
If your LAMMPS simulation has 4 atoms types and you want the first 3 to
|
||||
be Si, and the 4th to be C, you would use the following pair_coeff command:
|
||||
|
||||
pair_coeff * * SiC.gw Si Si Si C :pre
|
||||
|
||||
The first 2 arguments must be * * so as to span all LAMMPS atom types.
|
||||
The first three Si arguments map LAMMPS atom types 1,2,3 to the Si
|
||||
element in the GW file. The final C argument maps LAMMPS atom type 4
|
||||
to the C element in the GW file. If a mapping value is specified as
|
||||
NULL, the mapping is not performed. This can be used when a {gw}
|
||||
potential is used as part of the {hybrid} pair style. The NULL values
|
||||
are placeholders for atom types that will be used with other
|
||||
potentials.
|
||||
|
||||
Gao-Weber files in the {potentials} directory of the LAMMPS
|
||||
distribution have a ".gw" suffix. Gao-Weber with ZBL files
|
||||
have a ".gz.zbl" suffix. The structure of the potential files
|
||||
is similar to other many-body potentials supported by LAMMPS.
|
||||
You have to refer to the comments in the files and the literature
|
||||
to learn more details.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
For atom type pairs I,J and I != J, where types I and J correspond to
|
||||
two different element types, mixing is performed by LAMMPS as
|
||||
described above from values in the potential file.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
This pair style does not write its information to "binary restart
|
||||
files"_restart.html, since it is stored in potential files. Thus, you
|
||||
need to re-specify the pair_style and pair_coeff commands in an input
|
||||
script that reads a restart file.
|
||||
|
||||
This pair style can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. It does not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the USER-MISC package. It is only enabled
|
||||
if LAMMPS was built with that package. See
|
||||
the "Making LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
This pair style requires the "newton"_newton.html setting to be "on"
|
||||
for pair interactions.
|
||||
|
||||
The Gao-Weber potential files provided with LAMMPS (see the
|
||||
potentials directory) are parameterized for metal "units"_units.html.
|
||||
You can use the GW potential with any LAMMPS units, but you would need
|
||||
to create your own GW potential file with coefficients listed in the
|
||||
appropriate units if your simulation doesn't use "metal" units.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Gao)
|
||||
[(Gao)] Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504.
|
||||
@ -24,25 +24,25 @@ pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {kolmogorov/crespi/z} style computes the Kolmogorov-Crespi interaction
|
||||
potential as described in "(KC05)"_#KC05. An important simplification is made,
|
||||
which is to take all normals along the z-axis.
|
||||
The {kolmogorov/crespi/z} style computes the Kolmogorov-Crespi interaction
|
||||
potential as described in "(KC05)"_#KC05. An important simplification is made,
|
||||
which is to take all normals along the z-axis.
|
||||
|
||||
:c,image(Eqs/pair_kolmogorov_crespi_z.jpg)
|
||||
|
||||
It is important to have a suffiently large cutoff to ensure smooth forces.
|
||||
Energies are shifted so that they go continously to zero at the cutoff assuming
|
||||
It is important to have a suffiently large cutoff to ensure smooth forces.
|
||||
Energies are shifted so that they go continously to zero at the cutoff assuming
|
||||
that the exponential part of {Vij} (first term) decays sufficiently fast.
|
||||
This shift is achieved by the last term in the equation for {Vij} above.
|
||||
|
||||
This potential is intended for interactions between two layers of graphene.
|
||||
Therefore, to avoid interaction between layers in multi-layered materials,
|
||||
each layer should have a separate atom type and interactions should only
|
||||
This potential is intended for interactions between two layers of graphene.
|
||||
Therefore, to avoid interaction between layers in multi-layered materials,
|
||||
each layer should have a separate atom type and interactions should only
|
||||
be computed between atom types of neighbouring layers.
|
||||
|
||||
The parameter file (e.g. CC.KC), is intended for use with metal
|
||||
"units"_units.html, with energies in meV. An additional parameter, {S},
|
||||
is available to facilitate scaling of energies in accordance with
|
||||
The parameter file (e.g. CC.KC), is intended for use with metal
|
||||
"units"_units.html, with energies in meV. An additional parameter, {S},
|
||||
is available to facilitate scaling of energies in accordance with
|
||||
"(vanWijk)"_#vanWijk.
|
||||
|
||||
This potential must be used in combination with hybrid/overlay.
|
||||
@ -64,7 +64,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
:line
|
||||
|
||||
:link(KC05)
|
||||
:link(KC05)
|
||||
[(KC05)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
||||
|
||||
:link(vanWijk)
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
pair_style lj/long/coul/long command :h3
|
||||
pair_style lj/long/coul/long/intel command :h3
|
||||
pair_style lj/long/coul/long/omp command :h3
|
||||
pair_style lj/long/coul/long/opt command :h3
|
||||
pair_style lj/long/tip4p/long command :h3
|
||||
|
||||
@ -1,114 +0,0 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style lj/sf command :h3
|
||||
pair_style lj/sf/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style lj/sf cutoff :pre
|
||||
|
||||
cutoff = global cutoff for Lennard-Jones interactions (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style lj/sf 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 3.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {lj/sf} computes a truncated and force-shifted LJ interaction
|
||||
(Shifted Force Lennard-Jones), so that both the potential and the
|
||||
force go continuously to zero at the cutoff "(Toxvaerd)"_#Toxvaerd:
|
||||
|
||||
:c,image(Eqs/pair_lj_sf.jpg)
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands, or by mixing as described below:
|
||||
|
||||
epsilon (energy units)
|
||||
sigma (distance units)
|
||||
cutoff (distance units) :ul
|
||||
|
||||
The last coefficient is optional. If not specified, the global
|
||||
LJ cutoff specified in the pair_style command is used.
|
||||
|
||||
:line
|
||||
|
||||
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
hardware, as discussed in "Section 5"_Section_accelerate.html
|
||||
of the manual. The accelerated styles take the same arguments and
|
||||
should produce the same results, except for round-off and precision
|
||||
issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the "-suffix command-line
|
||||
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
|
||||
use the "suffix"_suffix.html command in your input script.
|
||||
|
||||
See "Section 5"_Section_accelerate.html of the manual for
|
||||
more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma
|
||||
coefficients and cutoff distance for this pair style can be mixed.
|
||||
Rin is a cutoff value and is mixed like the cutoff. The
|
||||
default mix value is {geometric}. See the "pair_modify" command for
|
||||
details.
|
||||
|
||||
The "pair_modify"_pair_modify.html shift option is not relevant for
|
||||
this pair style, since the pair interaction goes to 0.0 at the cutoff.
|
||||
|
||||
The "pair_modify"_pair_modify.html table option is not relevant
|
||||
for this pair style.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
tail option for adding long-range tail corrections to energy and
|
||||
pressure, since the energy of the pair interaction is smoothed to 0.0
|
||||
at the cutoff.
|
||||
|
||||
This pair style writes its information to "binary restart
|
||||
files"_restart.html, so pair_style and pair_coeff commands do not need
|
||||
to be specified in an input script that reads a restart file.
|
||||
|
||||
This pair style can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. It does not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the USER-MISC package. It is only enabled
|
||||
if LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Toxvaerd)
|
||||
[(Toxvaerd)] Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011).
|
||||
@ -11,26 +11,26 @@ pair_style lj/smooth/linear/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style lj/smooth/linear Rc :pre
|
||||
pair_style lj/smooth/linear cutoff :pre
|
||||
|
||||
Rc = cutoff for lj/smooth/linear interactions (distance units) :ul
|
||||
cutoff = global cutoff for Lennard-Jones interactions (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style lj/smooth/linear 5.456108274435118
|
||||
pair_coeff * * 0.7242785984051078 2.598146797350056
|
||||
pair_coeff 1 1 20.0 1.3 9.0 :pre
|
||||
pair_style lj/smooth/linear 2.5
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 0.3 3.0 9.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {lj/smooth/linear} computes a LJ interaction that combines the
|
||||
standard 12/6 Lennard-Jones function and subtracts a linear term that
|
||||
includes the cutoff distance Rc, as in this formula:
|
||||
Style {lj/smooth/linear} computes a truncated and force-shifted LJ
|
||||
interaction (aka Shifted Force Lennard-Jones) that combines the
|
||||
standard 12/6 Lennard-Jones function and subtracts a linear term based
|
||||
on the cutoff distance, so that both, the potential and the force, go
|
||||
continuously to zero at the cutoff Rc "(Toxvaerd)"_#Toxvaerd:
|
||||
|
||||
:c,image(Eqs/pair_lj_smooth_linear.jpg)
|
||||
|
||||
At the cutoff Rc, the energy and force (its 1st derivative) will be 0.0.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
@ -41,8 +41,8 @@ epsilon (energy units)
|
||||
sigma (distance units)
|
||||
cutoff (distance units) :ul
|
||||
|
||||
The last coefficient is optional. If not specified, the global value
|
||||
for Rc is used.
|
||||
The last coefficient is optional. If not specified, the global
|
||||
LJ cutoff specified in the pair_style command is used.
|
||||
|
||||
:line
|
||||
|
||||
@ -76,10 +76,11 @@ and cutoff distance can be mixed. The default mix value is geometric.
|
||||
See the "pair_modify" command for details.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift option for the energy of the pair interaction.
|
||||
shift option for the energy of the pair interaction, since it goes
|
||||
to 0.0 at the cutoff by construction.
|
||||
|
||||
The "pair_modify"_pair_modify.html table option is not relevant for
|
||||
this pair style.
|
||||
The "pair_modify"_pair_modify.html table option is not relevant
|
||||
for this pair style.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
tail option for adding long-range tail corrections to energy and
|
||||
@ -103,3 +104,8 @@ This pair style can only be used via the {pair} keyword of the
|
||||
"pair_coeff"_pair_coeff.html, "pair lj/smooth"_pair_lj_smooth.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Toxvaerd)
|
||||
[(Toxvaerd)] Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011).
|
||||
|
||||
@ -23,7 +23,8 @@ pair_coeff * * Ti.meam.spline Ti Ti Ti :pre
|
||||
|
||||
The {meam/spline} style computes pairwise interactions for metals
|
||||
using a variant of modified embedded-atom method (MEAM) potentials
|
||||
"(Lenosky)"_#Lenosky1. The total energy E is given by
|
||||
"(Lenosky)"_#Lenosky1. For a single species ("old-style") MEAM,
|
||||
the total energy E is given by
|
||||
|
||||
:c,image(Eqs/pair_meam_spline.jpg)
|
||||
|
||||
@ -31,6 +32,20 @@ where rho_i is the density at atom I, theta_jik is the angle between
|
||||
atoms J, I, and K centered on atom I. The five functions Phi, U, rho,
|
||||
f, and g are represented by cubic splines.
|
||||
|
||||
The {meam/spline} style also supports a new style multicomponent
|
||||
modified embedded-atom method (MEAM) potential "(Zhang)"_#Zhang4, where
|
||||
the total energy E is given by
|
||||
|
||||
:c,image(Eqs/pair_meam_spline_multicomponent.jpg)
|
||||
|
||||
where the five functions Phi, U, rho, f, and g depend on the chemistry
|
||||
of the atoms in the interaction. In particular, if there are N different
|
||||
chemistries, there are N different U, rho, and f functions, while there
|
||||
are N(N+1)/2 different Phi and g functions. The new style multicomponent
|
||||
MEAM potential files are indicated by the second line in the file starts
|
||||
with "meam/spline" followed by the number of elements and the name of each
|
||||
element.
|
||||
|
||||
The cutoffs and the coefficients for these spline functions are listed
|
||||
in a parameter file which is specified by the
|
||||
"pair_coeff"_pair_coeff.html command. Parameter files for different
|
||||
@ -59,7 +74,7 @@ N element names = mapping of spline-based MEAM elements to atom types :ul
|
||||
See the "pair_coeff"_pair_coeff.html doc page for alternate ways
|
||||
to specify the path for the potential file.
|
||||
|
||||
As an example, imagine the Ti.meam.spline file has values for Ti. If
|
||||
As an example, imagine the Ti.meam.spline file has values for Ti (old style). If
|
||||
your LAMMPS simulation has 3 atoms types and they are all to be
|
||||
treated with this potentials, you would use the following pair_coeff
|
||||
command:
|
||||
@ -72,10 +87,19 @@ in the potential file. If a mapping value is specified as NULL, the
|
||||
mapping is not performed. This can be used when a {meam/spline}
|
||||
potential is used as part of the {hybrid} pair style. The NULL values
|
||||
are placeholders for atom types that will be used with other
|
||||
potentials.
|
||||
potentials. The old-style potential maps any non-NULL species named
|
||||
on the command line to that single type.
|
||||
|
||||
NOTE: The {meam/spline} style currently supports only single-element
|
||||
MEAM potentials. It may be extended for alloy systems in the future.
|
||||
An example with a two component spline (new style) is TiO.meam.spline, where
|
||||
the command
|
||||
|
||||
pair_coeff * * TiO.meam.spline Ti O :pre
|
||||
|
||||
will map the 1st atom type to Ti and the second atom type to O. Note
|
||||
in this case that the species names need to match exactly with the
|
||||
names of the elements in the TiO.meam.spline file; otherwise an
|
||||
error will be raised. This behavior is different than the old style
|
||||
MEAM files.
|
||||
|
||||
:line
|
||||
|
||||
@ -104,9 +128,6 @@ more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
The current version of this pair style does not support multiple
|
||||
element types or mixing. It has been designed for pure elements only.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
@ -142,3 +163,6 @@ for more info.
|
||||
[(Lenosky)] Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter,
|
||||
Kress, Modelling Simulation Materials Science Engineering, 8, 825
|
||||
(2000).
|
||||
|
||||
:link(Zhang4)
|
||||
[(Zhang)] Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016).
|
||||
|
||||
@ -26,7 +26,7 @@ args = list of arguments for a particular style :ul
|
||||
{morse/smooth/linear} args = cutoff
|
||||
cutoff = global cutoff for Morse interactions (distance units)
|
||||
{morse/soft} args = n lf cutoff
|
||||
n = soft-core parameter
|
||||
n = soft-core parameter
|
||||
lf = transformation range is lf < lambda < 1
|
||||
cutoff = global cutoff for Morse interactions (distance units)
|
||||
:pre
|
||||
@ -36,7 +36,7 @@ args = list of arguments for a particular style :ul
|
||||
pair_style morse 2.5
|
||||
pair_style morse/smooth/linear 2.5
|
||||
pair_coeff * * 100.0 2.0 1.5
|
||||
pair_coeff 1 1 100.0 2.0 1.5 3.0
|
||||
pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre
|
||||
|
||||
pair_style morse/soft 4 0.9 10.0
|
||||
pair_coeff * * 100.0 2.0 1.5 1.0
|
||||
|
||||
@ -97,9 +97,9 @@ tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
{fractional} or {molecular} weighting pair style options). The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
@ -39,17 +39,17 @@ pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1
|
||||
|
||||
[Description:]
|
||||
|
||||
The {oxdna} pair styles compute the pairwise-additive parts of the oxDNA force field
|
||||
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
|
||||
The {oxdna} pair styles compute the pairwise-additive parts of the oxDNA force field
|
||||
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
|
||||
excluded volume interaction {oxdna/excv}, the stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well
|
||||
as the hydrogen-bonding interaction {oxdna/hbond} between complementary pairs of nucleotides on
|
||||
opposite strands.
|
||||
|
||||
The exact functional form of the pair styles is rather complex, which manifests itself in the 144 coefficients
|
||||
in the above example. The individual potentials consist of products of modulation factors,
|
||||
which themselves are constructed from a number of more basic potentials
|
||||
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
|
||||
The exact functional form of the pair styles is rather complex, which manifests itself in the 144 coefficients
|
||||
in the above example. The individual potentials consist of products of modulation factors,
|
||||
which themselves are constructed from a number of more basic potentials
|
||||
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
|
||||
We refer to "(Ouldridge-DPhil)"_#Ouldridge-DPhil1 and "(Ouldridge)"_#Ouldridge1
|
||||
for a detailed description of the oxDNA force field.
|
||||
|
||||
@ -57,8 +57,8 @@ NOTE: These pair styles have to be used together with the related oxDNA bond sty
|
||||
{oxdna/fene} for the connectivity of the phosphate backbone (see also documentation of
|
||||
"bond_style oxdna/fene"_bond_oxdna.html). With one exception the coefficients
|
||||
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
The exception is the first coefficient after {oxdna/stk} (T=0.1 in the above example).
|
||||
When using a Langevin thermostat, e.g. through "fix langevin"_fix_langevin.html
|
||||
The exception is the first coefficient after {oxdna/stk} (T=0.1 in the above example).
|
||||
When using a Langevin thermostat, e.g. through "fix langevin"_fix_langevin.html
|
||||
or "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||
the temperature coefficients have to be matched to the one used in the fix.
|
||||
|
||||
@ -79,7 +79,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"bond_style oxdna/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html,
|
||||
"bond_style oxdna/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html,
|
||||
"bond_style oxdna2/fene"_bond_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
@ -45,17 +45,17 @@ pair_coeff * * oxdna2/dh 0.1 1.0 0.815 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {oxdna2} pair styles compute the pairwise-additive parts of the oxDNA force field
|
||||
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
|
||||
The {oxdna2} pair styles compute the pairwise-additive parts of the oxDNA force field
|
||||
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
|
||||
excluded volume interaction {oxdna2/excv}, the stacking {oxdna2/stk}, cross-stacking {oxdna2/xstk}
|
||||
and coaxial stacking interaction {oxdna2/coaxstk}, electrostatic Debye-Hueckel interaction {oxdna2/dh}
|
||||
as well as the hydrogen-bonding interaction {oxdna2/hbond} between complementary pairs of nucleotides on
|
||||
opposite strands.
|
||||
|
||||
The exact functional form of the pair styles is rather complex.
|
||||
The individual potentials consist of products of modulation factors,
|
||||
which themselves are constructed from a number of more basic potentials
|
||||
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
|
||||
The exact functional form of the pair styles is rather complex.
|
||||
The individual potentials consist of products of modulation factors,
|
||||
which themselves are constructed from a number of more basic potentials
|
||||
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
|
||||
We refer to "(Snodin)"_#Snodin and the original oxDNA publications "(Ouldridge-DPhil)"_#Ouldridge-DPhil2
|
||||
and "(Ouldridge)"_#Ouldridge2 for a detailed description of the oxDNA2 force field.
|
||||
|
||||
@ -63,7 +63,7 @@ NOTE: These pair styles have to be used together with the related oxDNA2 bond st
|
||||
{oxdna2/fene} for the connectivity of the phosphate backbone (see also documentation of
|
||||
"bond_style oxdna2/fene"_bond_oxdna.html). Almost all coefficients
|
||||
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
Exceptions are the first coefficient after {oxdna2/stk} (T=0.1 in the above example) and the coefficients
|
||||
Exceptions are the first coefficient after {oxdna2/stk} (T=0.1 in the above example) and the coefficients
|
||||
after {oxdna2/dh} (T=0.1, rhos=1.0, qeff=0.815 in the above example). When using a Langevin thermostat
|
||||
e.g. through "fix langevin"_fix_langevin.html or "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||
the temperature coefficients have to be matched to the one used in the fix.
|
||||
@ -86,7 +86,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
[Related commands:]
|
||||
|
||||
"bond_style oxdna2/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html,
|
||||
"bond_style oxdna/fene"_bond_oxdna.html, "pair_style oxdna/excv"_pair_oxdna.html
|
||||
"bond_style oxdna/fene"_bond_oxdna.html, "pair_style oxdna/excv"_pair_oxdna.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
|
||||
217
doc/src/pair_python.txt
Normal file
@ -0,0 +1,217 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style python command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style python cutoff :pre
|
||||
|
||||
cutoff = global cutoff for interactions in python potential classes
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * py_pot.LJCutMelt lj :pre
|
||||
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {python} pair style provides a way to define pairwise additive
|
||||
potential functions as python script code that is loaded into LAMMPS
|
||||
from a python file which must contain specific python class definitions.
|
||||
This allows to rapidly evaluate different potential functions without
|
||||
having to modify and recompile LAMMPS. Due to python being an
|
||||
interpreted language, however, the performance of this pair style is
|
||||
going to be significantly slower (often between 20x and 100x) than
|
||||
corresponding compiled code. This penalty can be significantly reduced
|
||||
through generating tabulations from the python code through the
|
||||
"pair_write"_pair_write.html command, which is supported by this style.
|
||||
|
||||
Only a single pair_coeff command is used with the {python} pair style
|
||||
which specifies a python class inside a python module or file that
|
||||
LAMMPS will look up in the current directory, the folder pointed to by
|
||||
the LAMMPS_POTENTIALS environment variable or somewhere in your python
|
||||
path. A single python module can hold multiple python pair class
|
||||
definitions. The class definitions itself have to follow specific
|
||||
rules that are explained below.
|
||||
|
||||
Atom types in the python class are specified through symbolic
|
||||
constants, typically strings. These are mapped to LAMMPS atom types by
|
||||
specifying N additional arguments after the class name in the
|
||||
pair_coeff command, where N must be the number of currently defined
|
||||
atom types:
|
||||
|
||||
As an example, imagine a file {py_pot.py} has a python potential class
|
||||
names {LJCutMelt} with parameters and potential functions for a two
|
||||
Lennard-Jones atom types labeled as 'LJ1' and 'LJ2'. In your LAMMPS
|
||||
input and you would have defined 3 atom types, out of which the first
|
||||
two are supposed to be using the 'LJ1' parameters and the third the
|
||||
'LJ2' parameters, then you would use the following pair_coeff command:
|
||||
|
||||
pair_coeff * * py_pot.LJCutMelt LJ1 LJ1 LJ2 :pre
|
||||
|
||||
The first two arguments [must] be * * so as to span all LAMMPS atom
|
||||
types. The first two LJ1 arguments map LAMMPS atom types 1 and 2 to
|
||||
the LJ1 atom type in the LJCutMelt class of the py_pot.py file. The
|
||||
final LJ2 argument maps LAMMPS atom type 3 to the LJ2 atom type the
|
||||
python file. If a mapping value is specified as NULL, the mapping is
|
||||
not performed, any pair interaction with this atom type will be
|
||||
skipped. This can be used when a {python} potential is used as part of
|
||||
the {hybrid} or {hybrid/overlay} pair style. The NULL values are then
|
||||
placeholders for atom types that will be used with other potentials.
|
||||
|
||||
:line
|
||||
|
||||
The python potential file has to start with the following code:
|
||||
|
||||
from __future__ import print_function
|
||||
#
|
||||
class LAMMPSPairPotential(object):
|
||||
def __init__(self):
|
||||
self.pmap=dict()
|
||||
self.units='lj'
|
||||
def map_coeff(self,name,ltype):
|
||||
self.pmap\[ltype\]=name
|
||||
def check_units(self,units):
|
||||
if (units != self.units):
|
||||
raise Exception("Conflicting units: %s vs. %s" % (self.units,units))
|
||||
:pre
|
||||
|
||||
Any classes with definitions of specific potentials have to be derived
|
||||
from this class and should be initialize in a similar fashion to the
|
||||
example given below.
|
||||
|
||||
NOTE: The class constructor has to set up a data structure containing
|
||||
the potential parameters supported by this class. It should also
|
||||
define a variable {self.units} containing a string matching one of the
|
||||
options of LAMMPS' "units"_units.html command, which is used to
|
||||
verify, that the potential definition in the python class and in the
|
||||
LAMMPS input match.
|
||||
|
||||
Here is an example for a single type Lennard-Jones potential class
|
||||
{LJCutMelt} in reducted units, which defines an atom type {lj} for
|
||||
which the parameters epsilon and sigma are both 1.0:
|
||||
|
||||
class LJCutMelt(LAMMPSPairPotential):
|
||||
def __init__(self):
|
||||
super(LJCutMelt,self).__init__()
|
||||
# set coeffs: 48*eps*sig**12, 24*eps*sig**6,
|
||||
# 4*eps*sig**12, 4*eps*sig**6
|
||||
self.units = 'lj'
|
||||
self.coeff = \{'lj' : \{'lj' : (48.0,24.0,4.0,4.0)\}\}
|
||||
:pre
|
||||
|
||||
The class also has to provide two methods for the computation of the
|
||||
potential energy and forces, which have be named {compute_force},
|
||||
and {compute_energy}, which both take 3 numerical arguments:
|
||||
|
||||
rsq = the square of the distance between a pair of atoms (float) :l
|
||||
itype = the (numerical) type of the first atom :l
|
||||
jtype = the (numerical) type of the second atom :ul
|
||||
|
||||
This functions need to compute the force and the energy, respectively,
|
||||
and use the result as return value. The functions need to use the
|
||||
{pmap} dictionary to convert the LAMMPS atom type number to the symbolic
|
||||
value of the internal potential parameter data structure. Following
|
||||
the {LJCutMelt} example, here are the two functions:
|
||||
|
||||
def compute_force(self,rsq,itype,jtype):
|
||||
coeff = self.coeff\[self.pmap\[itype\]\]\[self.pmap\[jtype\]\]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj1 = coeff\[0\]
|
||||
lj2 = coeff\[1\]
|
||||
return (r6inv * (lj1*r6inv - lj2))*r2inv :pre
|
||||
|
||||
def compute_energy(self,rsq,itype,jtype):
|
||||
coeff = self.coeff\[self.pmap\[itype\]\]\[self.pmap\[jtype\]\]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj3 = coeff\[2\]
|
||||
lj4 = coeff\[3\]
|
||||
return (r6inv * (lj3*r6inv - lj4)) :pre
|
||||
|
||||
NOTE: for consistency with the C++ pair styles in LAMMPS, the
|
||||
{compute_force} function follows the conventions of the Pair::single()
|
||||
methods and does not return the full force, but the force scaled by
|
||||
the distance between the two atoms, so this value only needs to be
|
||||
multiplied by delta x, delta y, and delta z to conveniently obtain the
|
||||
three components of the force vector between these two atoms.
|
||||
|
||||
:line
|
||||
|
||||
NOTE: The evaluation of scripted python code will slow down the
|
||||
computation pair-wise interactions quite significantly. However, this
|
||||
can be largely worked around through using the python pair style not
|
||||
for the actual simulation, but to generate tabulated potentials on the
|
||||
fly using the "pair_write"_pair_write.html command. Please see below
|
||||
for an example LAMMPS input of how to build a table file:
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
shell rm -f melt.table
|
||||
pair_write 1 1 2000 rsq 0.01 2.5 lj1_lj2.table lj :pre
|
||||
|
||||
Note that it is strongly recommended to try to [delete] the potential
|
||||
table file before generating it. Since the {pair_write} command will
|
||||
always [append] to a table file, while pair style table will use the
|
||||
[first match]. Thus when changing the potential function in the python
|
||||
class, the table pair style will still read the old variant unless the
|
||||
table file is first deleted.
|
||||
|
||||
After switching the pair style to {table}, the potential tables need
|
||||
to be assigned to the LAMMPS atom types like this:
|
||||
|
||||
pair_style table linear 2000
|
||||
pair_coeff 1 1 melt.table lj :pre
|
||||
|
||||
This can also be done for more complex systems. Please see the
|
||||
{examples/python} folders for a few more examples.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
Mixing of potential parameters has to be handled inside the provided
|
||||
python module. The python pair style simply assumes that force and
|
||||
energy computation can be correctly performed for all pairs of atom
|
||||
types as they are mapped to the atom type labels inside the python
|
||||
potential class.
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
This pair style does not write its information to "binary restart
|
||||
files"_restart.html, since it is stored in potential files. Thus, you
|
||||
need to re-specify the pair_style and pair_coeff commands in an input
|
||||
script that reads a restart file.
|
||||
|
||||
This pair style can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. It does not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the PYTHON package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html, "pair_write"_pair_write.html,
|
||||
"pair style table"_pair_table.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
pair_style reax/c command :h3
|
||||
pair_style reax/c/kk command :h3
|
||||
pair_style reax/c/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -10,7 +10,8 @@ pair_style snap command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style snap :pre
|
||||
pair_style snap
|
||||
:pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -19,11 +20,11 @@ pair_coeff * * InP.snapcoeff In P InP.snapparam In In P P :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {snap} computes interactions
|
||||
Pair style {snap} computes interactions
|
||||
using the spectral neighbor analysis potential (SNAP)
|
||||
"(Thompson)"_#Thompson20142. Like the GAP framework of Bartok et al.
|
||||
"(Bartok2010)"_#Bartok20102, "(Bartok2013)"_#Bartok2013
|
||||
it uses bispectrum components
|
||||
which uses bispectrum components
|
||||
to characterize the local neighborhood of each atom
|
||||
in a very general way. The mathematical definition of the
|
||||
bispectrum calculation used by SNAP is identical
|
||||
@ -139,10 +140,15 @@ The default values for these keywords are
|
||||
{rmin0} = 0.0
|
||||
{diagonalstyle} = 3
|
||||
{switchflag} = 0
|
||||
{bzeroflag} = 1 :ul
|
||||
{bzeroflag} = 1
|
||||
{quadraticflag} = 1 :ul
|
||||
|
||||
Detailed definitions of these keywords are given on the "compute
|
||||
Detailed definitions for all the keywords are given on the "compute
|
||||
sna/atom"_compute_sna_atom.html doc page.
|
||||
If {quadraticflag} is set to 1, then the SNAP energy expression includes the quadratic term,
|
||||
0.5*B^t.alpha.B, where alpha is a symmetric {K} by {K} matrix.
|
||||
The SNAP element file should contain {K}({K}+1)/2 additional coefficients
|
||||
for each element, the upper-triangular elements of alpha.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -85,9 +85,9 @@ tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
{fractional} or {molecular} weighting pair style options). The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
@ -18,7 +18,7 @@ pair_style tersoff/table/omp command :h3
|
||||
|
||||
pair_style style :pre
|
||||
|
||||
style = {tersoff} or {tersoff/table} or {tersoff/gpu} or {tersoff/omp} or {tersoff/table/omp}
|
||||
style = {tersoff} or {tersoff/table} or {tersoff/gpu} or {tersoff/omp} or {tersoff/table/omp} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
pair_style vashishta command :h3
|
||||
pair_style vashishta/gpu command :h3
|
||||
pair_style vashishta/omp command :h3
|
||||
pair_style vashishta/kk command :h3
|
||||
pair_style vashishta/table command :h3
|
||||
|
||||
@ -35,7 +35,7 @@ cutoff.
|
||||
In contrast to "pair_style yukawa"_pair_yukawa.html, this functional
|
||||
form arises from the Coulombic interaction between two colloid
|
||||
particles, screened due to the presence of an electrolyte, see the
|
||||
book by "Safran"_#Safran for a derivation in the context of DVLO
|
||||
book by "Safran"_#Safran for a derivation in the context of DLVO
|
||||
theory. "Pair_style yukawa"_pair_yukawa.html is a screened Coulombic
|
||||
potential between two point-charges and uses no such approximation.
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ pair_style zero cutoff {nocoeff} :pre
|
||||
|
||||
zero = style name of this pair style
|
||||
cutoff = global cutoff (distance units)
|
||||
nocoeff = ignore all pair_coeff parameters (optional) :l
|
||||
nocoeff = ignore all pair_coeff parameters (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@ Pair Styles :h1
|
||||
pair_gayberne
|
||||
pair_gran
|
||||
pair_gromacs
|
||||
pair_gw
|
||||
pair_hbond_dreiding
|
||||
pair_hybrid
|
||||
pair_kim
|
||||
@ -48,7 +49,6 @@ Pair Styles :h1
|
||||
pair_lj_cubic
|
||||
pair_lj_expand
|
||||
pair_lj_long
|
||||
pair_lj_sf
|
||||
pair_lj_smooth
|
||||
pair_lj_smooth_linear
|
||||
pair_lj_soft
|
||||
@ -71,6 +71,7 @@ Pair Styles :h1
|
||||
pair_oxdna2
|
||||
pair_peri
|
||||
pair_polymorphic
|
||||
pair_python
|
||||
pair_quip
|
||||
pair_reax
|
||||
pair_reaxc
|
||||
|
||||
@ -14,7 +14,7 @@ python func keyword args ... :pre
|
||||
|
||||
func = name of Python function :ulb,l
|
||||
one or more keyword/args pairs must be appended :l
|
||||
keyword = {invoke} or {input} or {return} or {format} or {length} or {file} or {here} or {exists}
|
||||
keyword = {invoke} or {input} or {return} or {format} or {length} or {file} or {here} or {exists} or {source}
|
||||
{invoke} arg = none = invoke the previously defined Python function
|
||||
{input} args = N i1 i2 ... iN
|
||||
N = # of inputs to function
|
||||
@ -36,7 +36,12 @@ keyword = {invoke} or {input} or {return} or {format} or {length} or {file} or {
|
||||
{here} arg = inline
|
||||
inline = one or more lines of Python code which defines func
|
||||
must be a single argument, typically enclosed between triple quotes
|
||||
{exists} arg = none = Python code has been loaded by previous python command :pre
|
||||
{exists} arg = none = Python code has been loaded by previous python command
|
||||
{source} arg = {filename} or {inline}
|
||||
filename = file of Python code which will be executed immediately
|
||||
inline = one or more lines of Python code which will be executed immediately
|
||||
must be a single argument, typically enclosed between triple quotes
|
||||
:pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -50,7 +55,7 @@ def factorial(n):
|
||||
return n * factorial(n-1)
|
||||
""" :pre
|
||||
|
||||
python loop input 1 SELF return v_value format -f here """
|
||||
python loop input 1 SELF return v_value format pf here """
|
||||
def loop(lmpptr,N,cut0):
|
||||
from lammps import lammps
|
||||
lmp = lammps(ptr=lmpptr) :pre
|
||||
@ -59,7 +64,7 @@ def loop(lmpptr,N,cut0):
|
||||
|
||||
for i in range(N):
|
||||
cut = cut0 + i*0.1
|
||||
lmp.set_variable("cut",cut) # set a variable in LAMMPS
|
||||
lmp.set_variable("cut",cut) # set a variable in LAMMPS
|
||||
lmp.command("pair_style lj/cut $\{cut\}") # LAMMPS commands
|
||||
lmp.command("pair_coeff * * 1.0 1.0")
|
||||
lmp.command("run 100")
|
||||
@ -67,12 +72,8 @@ def loop(lmpptr,N,cut0):
|
||||
|
||||
[Description:]
|
||||
|
||||
NOTE: It is not currently possible to use the "python"_python.html
|
||||
command described in this section with Python 3, only with Python 2.
|
||||
The C API changed from Python 2 to 3 and the LAMMPS code is not
|
||||
compatible with both.
|
||||
|
||||
Define a Python function or execute a previously defined function.
|
||||
Define a Python function or execute a previously defined function or
|
||||
execute some arbitrary python code.
|
||||
Arguments, including LAMMPS variables, can be passed to the function
|
||||
from the LAMMPS input script and a value returned by the Python
|
||||
function to a LAMMPS variable. The Python code for the function can
|
||||
@ -107,7 +108,8 @@ command.
|
||||
|
||||
The {func} setting specifies the name of the Python function. The
|
||||
code for the function is defined using the {file} or {here} keywords
|
||||
as explained below.
|
||||
as explained below. In case of the {source} keyword, the name of
|
||||
the function is ignored.
|
||||
|
||||
If the {invoke} keyword is used, no other keywords can be used, and a
|
||||
previous python command must have defined the Python function
|
||||
@ -116,6 +118,13 @@ previously defined arguments and return value processed as explained
|
||||
below. You can invoke the function as many times as you wish in your
|
||||
input script.
|
||||
|
||||
If the {source} keyword is used, no other keywords can be used.
|
||||
The argument can be a filename or a string with python commands,
|
||||
either on a single line enclosed in quotes, or as multiple lines
|
||||
enclosed in triple quotes. These python commands will be passed
|
||||
to the python interpreter and executed immediately without registering
|
||||
a python function for future execution.
|
||||
|
||||
The {input} keyword defines how many arguments {N} the Python function
|
||||
expects. If it takes no arguments, then the {input} keyword should
|
||||
not be used. Each argument can be specified directly as a value,
|
||||
@ -396,6 +405,9 @@ or other variables may have hidden side effects as well. In these
|
||||
cases, LAMMPS has no simple way to check that something illogical is
|
||||
being attempted.
|
||||
|
||||
The same applies to Python functions called during a simulation run at
|
||||
each time step using "fix python"_fix_python.html.
|
||||
|
||||
:line
|
||||
|
||||
If you run Python code directly on your workstation, either
|
||||
@ -479,17 +491,8 @@ consistent (built from the same source code files) in order for this
|
||||
to work. If the two have been built at different times using
|
||||
different source files, problems may occur.
|
||||
|
||||
As described above, you can use the python command to invoke a Python
|
||||
function which calls back to LAMMPS through its Python-wrapped library
|
||||
interface. However you cannot do the opposite. I.e. you cannot call
|
||||
LAMMPS from Python and invoke the python command to "callback" to
|
||||
Python and execute a Python function. LAMMPS will generate an error
|
||||
if you try to do that. Note that we think there actually should be a
|
||||
way to do that, but haven't yet been able to figure out how to do it
|
||||
successfully.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"shell"_shell.html, "variable"_variable.html
|
||||
"shell"_shell.html, "variable"_variable.html, "fix python"_fix_python.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
@ -15,7 +15,7 @@ rerun file1 file2 ... keyword args ... :pre
|
||||
file1,file2,... = dump file(s) to read :ulb,l
|
||||
one or more keywords may be appended, keyword {dump} must appear and be last :l
|
||||
keyword = {first} or {last} or {every} or {skip} or {start} or {stop} or {dump}
|
||||
{first} args = Nfirts
|
||||
{first} args = Nfirst
|
||||
Nfirst = dump timestep to start on
|
||||
{last} args = Nlast
|
||||
Nlast = dumptimestep to stop on
|
||||
|
||||
@ -17,7 +17,7 @@ style = {verlet} or {verlet/split} or {respa} or {respa/omp} :ulb,l
|
||||
{verlet/split} args = none
|
||||
{respa} args = N n1 n2 ... keyword values ...
|
||||
N = # of levels of rRESPA
|
||||
n1, n2, ... = loop factor between rRESPA levels (N-1 values)
|
||||
n1, n2, ... = loop factors between rRESPA levels (N-1 values)
|
||||
zero or more keyword/value pairings may be appended to the loop factors
|
||||
keyword = {bond} or {angle} or {dihedral} or {improper} or
|
||||
{pair} or {inner} or {middle} or {outer} or {hybrid} or {kspace}
|
||||
@ -55,7 +55,7 @@ style = {verlet} or {verlet/split} or {respa} or {respa/omp} :ulb,l
|
||||
|
||||
run_style verlet
|
||||
run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4
|
||||
run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 :pre
|
||||
run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4
|
||||
run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -80,6 +80,7 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \
|
||||
value can be an atom-style variable (see below)
|
||||
{image} nx ny nz
|
||||
nx,ny,nz = which periodic image of the simulation box the atom is in
|
||||
any of nx,ny,nz can be an atom-style variable (see below)
|
||||
{bond} value = bond type for all bonds between selected atoms
|
||||
{angle} value = angle type for all angles between selected atoms
|
||||
{dihedral} value = dihedral type for all dihedrals between selected atoms
|
||||
@ -363,9 +364,8 @@ A value of -1 means subtract 1 box length to get the true value.
|
||||
LAMMPS updates these flags as atoms cross periodic boundaries during
|
||||
the simulation. The flags can be output with atom snapshots via the
|
||||
"dump"_dump.html command. If a value of NULL is specified for any of
|
||||
nx,ny,nz, then the current image value for that dimension is
|
||||
unchanged. For non-periodic dimensions only a value of 0 can be
|
||||
specified. This keyword does not allow use of atom-style variables.
|
||||
nx,ny,nz, then the current image value for that dimension is unchanged.
|
||||
For non-periodic dimensions only a value of 0 can be specified.
|
||||
This command can be useful after a system has been equilibrated and
|
||||
atoms have diffused one or more box lengths in various directions.
|
||||
This command can then reset the image values for atoms so that they
|
||||
|
||||
@ -65,7 +65,13 @@ sense to define permanent bonds between atoms that interact via these
|
||||
potentials, though such bonds may exist elsewhere in your system,
|
||||
e.g. when using the "pair_style hybrid"_pair_hybrid.html command.
|
||||
Thus LAMMPS ignores special_bonds settings when manybody potentials
|
||||
are calculated.
|
||||
are calculated. Please note, that the existence of explicit bonds
|
||||
for atoms that are described by a manybody potential will alter the
|
||||
neigborlist and thus can render the computation of those interactions
|
||||
invalid, since those pairs are not only used to determine direct
|
||||
pairwise interactions but also neighbors of neighbors and more.
|
||||
The recommended course of action is to remove such bonds, or - if
|
||||
that is not possible - use a special bonds setting of 1.0 1.0 1.0.
|
||||
|
||||
NOTE: Unlike some commands in LAMMPS, you cannot use this command
|
||||
multiple times in an incremental fashion: e.g. to first set the LJ
|
||||
|
||||
@ -86,7 +86,7 @@ machine via HTTPS:
|
||||
or, if you have set up your GitHub account for using SSH keys, via SSH:
|
||||
|
||||
$ git clone git@github.com:<your user name>/lammps.git :pre
|
||||
|
||||
|
||||
You can find the proper URL by clicking the "Clone or download"-button:
|
||||
|
||||
:c,image(JPG/tutorial_https_block.png)
|
||||
|
||||
@ -10,6 +10,7 @@ PyLammps Tutorial :h1
|
||||
|
||||
<!-- RST
|
||||
.. contents::
|
||||
|
||||
END_RST -->
|
||||
|
||||
Overview :h2
|
||||
@ -35,7 +36,7 @@ lammps.PyLammps :h4
|
||||
|
||||
higher-level abstraction built on top of original C-Types interface
|
||||
manipulation of Python objects
|
||||
communication with LAMMPS is hidden from API user
|
||||
communication with LAMMPS is hidden from API user
|
||||
shorter, more concise Python
|
||||
better IPython integration, designed for quick prototyping :ul
|
||||
|
||||
@ -55,7 +56,7 @@ using the generated {auto} Makefile.
|
||||
cd $LAMMPS_DIR/src :pre
|
||||
|
||||
# generate custom Makefile
|
||||
python2 Make.py -jpg -png -s ffmpeg exceptions -m mpi -a file :pre
|
||||
python Make.py -jpg -png -s ffmpeg exceptions -m mpi -a file :pre
|
||||
|
||||
# add packages if necessary
|
||||
make yes-MOLECULE :pre
|
||||
@ -327,7 +328,7 @@ IPyLammps Examples :h2
|
||||
|
||||
Examples of IPython notebooks can be found in the python/examples/pylammps
|
||||
subdirectory. To open these notebooks launch {jupyter notebook} inside this
|
||||
directory and navigate to one of them. If you compiled and installed
|
||||
directory and navigate to one of them. If you compiled and installed
|
||||
a LAMMPS shared library with exceptions, PNG, JPEG and FFMPEG support
|
||||
you should be able to rerun all of these notebooks.
|
||||
|
||||
@ -398,19 +399,19 @@ natoms = L.system.natoms :pre
|
||||
for i in range(niterations):
|
||||
iatom = random.randrange(0, natoms)
|
||||
current_atom = L.atoms\[iatom\] :pre
|
||||
|
||||
|
||||
x0, y0 = current_atom.position :pre
|
||||
|
||||
|
||||
dx = deltamove * random.uniform(-1, 1)
|
||||
dy = deltamove * random.uniform(-1, 1) :pre
|
||||
|
||||
|
||||
current_atom.position = (x0+dx, y0+dy) :pre
|
||||
|
||||
|
||||
L.run(1, "pre no post no") :pre
|
||||
|
||||
|
||||
e = L.eval("pe")
|
||||
energies.append(e) :pre
|
||||
|
||||
|
||||
if e <= elast:
|
||||
naccept += 1
|
||||
elast = e
|
||||
@ -459,4 +460,4 @@ Feedback and Contributing :h2
|
||||
If you find this Python interface useful, please feel free to provide feedback
|
||||
and ideas on how to improve it to Richard Berger (richard.berger@temple.edu). We also
|
||||
want to encourage people to write tutorial style IPython notebooks showcasing LAMMPS usage
|
||||
and maybe their latest research results.
|
||||
and maybe their latest research results.
|
||||
|
||||
@ -61,7 +61,7 @@ keyword/value parameters. Not all options are used by each style.
|
||||
Each option has a default as listed below.
|
||||
|
||||
The {create} style generates an ensemble of velocities using a random
|
||||
number generator with the specified seed as the specified temperature.
|
||||
number generator with the specified seed at the specified temperature.
|
||||
|
||||
The {set} style sets the velocities of all atoms in the group to the
|
||||
specified values. If any component is specified as NULL, then it is
|
||||
|
||||