Compare commits
322 Commits
patch_4May
...
patch_20Ju
| Author | SHA1 | Date | |
|---|---|---|---|
| 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="20 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
|
||||
20 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,
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
@ -856,15 +856,15 @@ src/MPIIO: filenames -> commands
|
||||
|
||||
: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.
|
||||
@ -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.
|
||||
@ -1488,7 +1488,6 @@ make machine :pre
|
||||
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,7 +1502,7 @@ 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:]
|
||||
|
||||
@ -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
|
||||
@ -1748,8 +1747,8 @@ 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
|
||||
@ -2028,8 +2027,8 @@ 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:]
|
||||
|
||||
@ -2045,8 +2044,8 @@ 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.
|
||||
|
||||
@ -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)
|
||||
@ -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.
|
||||
|
||||
@ -2598,4 +2599,4 @@ make machine :pre
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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).
|
||||
@ -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
|
||||
|
||||
@ -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/)
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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].
|
||||
|
||||
|
||||
@ -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\}
|
||||
|
||||
@ -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).
|
||||
|
||||
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
|
||||
|
||||
|
||||
@ -111,6 +111,7 @@ Fixes :h1
|
||||
fix_press_berendsen
|
||||
fix_print
|
||||
fix_property_atom
|
||||
fix_python
|
||||
fix_qbmsst
|
||||
fix_qeq
|
||||
fix_qeq_comb
|
||||
|
||||
@ -308,7 +308,8 @@ The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp =
|
||||
gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust =
|
||||
yes (MSM), pressure/scalar = yes (MSM), fftbench = yes (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.
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
@ -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).
|
||||
|
||||
@ -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.
|
||||
@ -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
|
||||
|
||||
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
|
||||
|
||||
|
||||
@ -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
|
||||
@ -477,19 +489,10 @@ python"_Section_python.html. Note that it is important that the
|
||||
stand-alone LAMMPS executable and the LAMMPS shared library be
|
||||
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.
|
||||
different source files, problems may occur.
|
||||
|
||||
[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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -10,6 +10,7 @@ PyLammps Tutorial :h1
|
||||
|
||||
<!-- RST
|
||||
.. contents::
|
||||
|
||||
END_RST -->
|
||||
|
||||
Overview :h2
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -62,6 +62,7 @@ pair_coeff 3 3 1.0 1.5
|
||||
pair_coeff 1 4 0.0 1.0 0.5
|
||||
pair_coeff 2 4 0.0 1.0 1.0
|
||||
pair_coeff 3 4 0.0 1.0 0.75
|
||||
pair_coeff 4 4 0.0 1.0 0.0
|
||||
|
||||
delete_atoms overlap 1.0 small big
|
||||
|
||||
|
||||
@ -62,6 +62,7 @@ pair_coeff 3 3 1.0 1.5
|
||||
pair_coeff 1 4 0.0 1.0 0.5
|
||||
pair_coeff 2 4 0.0 1.0 1.0
|
||||
pair_coeff 3 4 0.0 1.0 0.75
|
||||
pair_coeff 4 4 0.0 1.0 0.0
|
||||
|
||||
delete_atoms overlap 1.0 small big
|
||||
|
||||
|
||||
@ -153,7 +153,7 @@ int main(int narg, char **arg)
|
||||
for (int i = 0; i < natoms; i++) type[i] = 1;
|
||||
|
||||
lmp->input->one("delete_atoms group all");
|
||||
lammps_create_atoms(lmp,natoms,NULL,type,x,v);
|
||||
lammps_create_atoms(lmp,natoms,NULL,type,x,v,NULL,0);
|
||||
lmp->input->one("run 10");
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
|
||||
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
|
||||
------------------------------------------------------------------------- */
|
||||
"""
|
||||
|
||||
|
||||
30009
examples/USER/misc/cnp/Cu_Mishin1.eam
Normal file
51
examples/USER/misc/cnp/in.cnp
Normal file
@ -0,0 +1,51 @@
|
||||
# Generation and relaxation of a partial dislocation in Cu perfect FCC crystal
|
||||
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
|
||||
# create simulation box and system
|
||||
lattice fcc 3.615 origin 0.01 0.01 0.01 orient x -1 -1 2 orient y 1 1 1 orient z -1 1 0
|
||||
region mdbox block 0 3 0.0 14.0 0 84 units lattice
|
||||
region system block 0 3 1.1 13.1 0 84 units lattice
|
||||
create_box 2 mdbox
|
||||
create_atoms 1 region system
|
||||
|
||||
# Define atoms mass and force field
|
||||
mass * 63.54
|
||||
pair_style eam/alloy
|
||||
pair_coeff * * Cu_Mishin1.eam Cu Cu
|
||||
|
||||
# Delete a plane of atoms along the z direction to generate a partial dislocation
|
||||
region dislocation_atoms block 0 3 7 14 41.9 42.1 units lattice
|
||||
delete_atoms region dislocation_atoms
|
||||
region quarter_up block 0 3 7 11 0 84 units lattice
|
||||
group middle region quarter_up
|
||||
|
||||
# specify simulation parameters
|
||||
timestep 0.004
|
||||
|
||||
# Relax configuration using conjugate gradient
|
||||
#min_style cg
|
||||
#minimize 1.0e-4 1.0e-6 100 1000
|
||||
|
||||
# Setup calculations
|
||||
compute 1 all cnp/atom 3.086
|
||||
compute 2 all cna/atom 3.086
|
||||
compute 3 all centro/atom fcc
|
||||
compute 4 all coord/atom cutoff 3.086
|
||||
dump 1 all custom 100 dump.lammpstrj id type xu yu zu c_1 c_2 c_3 c_4
|
||||
|
||||
### Set up thermo display
|
||||
thermo 10
|
||||
thermo_style custom step atoms temp press pe ke etotal
|
||||
|
||||
# Relax the system performing a langevin dynamics (freeze motion along y 111 direction)
|
||||
fix 1 all nve
|
||||
fix 2 all langevin 50 1 0.1 699483
|
||||
fix 3 all setforce NULL 0.0 NULL
|
||||
fix 4 middle setforce 0.0 0.0 0.0
|
||||
run 100
|
||||
unfix 4
|
||||
run 200
|
||||
185
examples/USER/misc/cnp/log.31May17.cnp.g++.4
Normal file
@ -0,0 +1,185 @@
|
||||
LAMMPS (19 May 2017)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Generation and relaxation of a partial dislocation in Cu perfect FCC crystal
|
||||
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
|
||||
# create simulation box and system
|
||||
lattice fcc 3.615 origin 0.01 0.01 0.01 orient x -1 -1 2 orient y 1 1 1 orient z -1 1 0
|
||||
Lattice spacing in x,y,z = 5.90327 6.26136 5.11238
|
||||
region mdbox block 0 3 0.0 14.0 0 84 units lattice
|
||||
region system block 0 3 1.1 13.1 0 84 units lattice
|
||||
create_box 2 mdbox
|
||||
Created orthogonal box = (0 0 0) to (17.7098 87.6591 429.44)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
create_atoms 1 region system
|
||||
Created 48384 atoms
|
||||
|
||||
# Define atoms mass and force field
|
||||
mass * 63.54
|
||||
pair_style eam/alloy
|
||||
pair_coeff * * Cu_Mishin1.eam Cu Cu
|
||||
|
||||
# Delete a plane of atoms along the z direction to generate a partial dislocation
|
||||
region dislocation_atoms block 0 3 7 14 41.9 42.1 units lattice
|
||||
delete_atoms region dislocation_atoms
|
||||
Deleted 76 atoms, new total = 48308
|
||||
region quarter_up block 0 3 7 11 0 84 units lattice
|
||||
group middle region quarter_up
|
||||
16080 atoms in group middle
|
||||
|
||||
# specify simulation parameters
|
||||
timestep 0.004
|
||||
|
||||
# Relax configuration using conjugate gradient
|
||||
#min_style cg
|
||||
#minimize 1.0e-4 1.0e-6 100 1000
|
||||
|
||||
# Setup calculations
|
||||
compute 1 all cnp/atom 3.086
|
||||
compute 2 all cna/atom 3.086
|
||||
compute 3 all centro/atom fcc
|
||||
compute 4 all coord/atom cutoff 3.086
|
||||
dump 1 all custom 100 dump.lammpstrj id type xu yu zu c_1 c_2 c_3 c_4
|
||||
|
||||
### Set up thermo display
|
||||
thermo 10
|
||||
thermo_style custom step atoms temp press pe ke etotal
|
||||
|
||||
# Relax the system performing a langevin dynamics (freeze motion along y 111 direction)
|
||||
fix 1 all nve
|
||||
fix 2 all langevin 50 1 0.1 699483
|
||||
fix 3 all setforce NULL 0.0 NULL
|
||||
fix 4 middle setforce 0.0 0.0 0.0
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7.50679
|
||||
ghost atom cutoff = 7.50679
|
||||
binsize = 3.75339, bins = 5 24 115
|
||||
5 neighbor lists, perpetual/occasional/extra = 1 4 0
|
||||
(1) pair eam/alloy, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) compute cnp/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(3) compute cna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(4) compute centro/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(5) compute coord/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 45.41 | 45.41 | 45.41 Mbytes
|
||||
Step Atoms Temp Press PotEng KinEng TotEng
|
||||
0 48308 0 -3388.0911 -169746.07 0 -169746.07
|
||||
10 48308 7.35092 -3091.0864 -169715.96 45.900393 -169670.05
|
||||
20 48308 9.9162268 -2822.7045 -169678.51 61.918604 -169616.59
|
||||
30 48308 12.351316 -2726.7195 -169666.35 77.123716 -169589.23
|
||||
40 48308 13.302856 -2703.586 -169662.9 83.06529 -169579.83
|
||||
50 48308 12.782228 -2706.8662 -169662.36 79.814401 -169582.55
|
||||
60 48308 12.198179 -2772.4206 -169670.02 76.167503 -169593.86
|
||||
70 48308 10.663322 -2841.3384 -169677.48 66.583595 -169610.9
|
||||
80 48308 9.1169804 -2932.3896 -169687.85 56.927974 -169630.92
|
||||
90 48308 7.2905076 -3029.9433 -169699.09 45.523167 -169653.56
|
||||
100 48308 5.4063635 -3139.4496 -169711.65 33.758252 -169677.89
|
||||
Loop time of 10.9003 on 4 procs for 100 steps with 48308 atoms
|
||||
|
||||
Performance: 3.171 ns/day, 7.570 hours/ns, 9.174 timesteps/s
|
||||
31.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 9.8764 | 9.9587 | 10.021 | 1.6 | 91.36
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.1232 | 0.18385 | 0.26683 | 12.1 | 1.69
|
||||
Output | 0.45385 | 0.45451 | 0.45634 | 0.2 | 4.17
|
||||
Modify | 0.25026 | 0.2537 | 0.25744 | 0.5 | 2.33
|
||||
Other | | 0.04949 | | | 0.45
|
||||
|
||||
Nlocal: 12077 ave 12096 max 12020 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 3
|
||||
Nghost: 14204 ave 14261 max 14109 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 814050 ave 818584 max 809212 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
FullNghs: 1.6281e+06 ave 1.63296e+06 max 1.61808e+06 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
|
||||
Total # of neighbors = 6512400
|
||||
Ave neighs/atom = 134.81
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
unfix 4
|
||||
run 200
|
||||
Per MPI rank memory allocation (min/avg/max) = 45.41 | 45.41 | 45.41 Mbytes
|
||||
Step Atoms Temp Press PotEng KinEng TotEng
|
||||
100 48308 5.4063635 -3139.4496 -169711.65 33.758252 -169677.89
|
||||
110 48308 15.260795 -2793.119 -169677.24 95.290993 -169581.95
|
||||
120 48308 18.548656 -2433.1584 -169624.79 115.82096 -169508.97
|
||||
130 48308 22.15831 -2276.626 -169604.28 138.36025 -169465.92
|
||||
140 48308 24.393841 -2208.1771 -169596.16 152.31929 -169443.84
|
||||
150 48308 24.797558 -2173.3145 -169591.43 154.84016 -169436.59
|
||||
160 48308 24.73371 -2188.909 -169593.08 154.44148 -169438.64
|
||||
170 48308 24.128467 -2220.3404 -169596.96 150.66225 -169446.29
|
||||
180 48308 22.975708 -2275.1244 -169602.72 143.46422 -169459.26
|
||||
190 48308 21.936324 -2348.3762 -169610.59 136.97413 -169473.61
|
||||
200 48308 20.516249 -2432.8447 -169619.98 128.10694 -169491.87
|
||||
210 48308 19.000566 -2510.2915 -169628.58 118.64276 -169509.93
|
||||
220 48308 17.490407 -2597.299 -169638.24 109.21307 -169529.03
|
||||
230 48308 16.062482 -2684.1203 -169648.31 100.29687 -169548.01
|
||||
240 48308 14.360342 -2768.2313 -169657.7 89.668411 -169568.03
|
||||
250 48308 12.802315 -2852.6965 -169666.99 79.939831 -169587.05
|
||||
260 48308 11.258205 -2944.4533 -169677.52 70.298142 -169607.23
|
||||
270 48308 9.6159129 -3038.6304 -169688.06 60.043393 -169628.02
|
||||
280 48308 7.972425 -3129.0826 -169698.03 49.781176 -169648.25
|
||||
290 48308 6.3752377 -3219.2054 -169708.23 39.808067 -169668.42
|
||||
300 48308 4.7374688 -3306.1468 -169718.27 29.58156 -169688.69
|
||||
Loop time of 23.0164 on 4 procs for 200 steps with 48308 atoms
|
||||
|
||||
Performance: 3.003 ns/day, 7.992 hours/ns, 8.689 timesteps/s
|
||||
31.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 20.221 | 20.423 | 20.57 | 3.1 | 88.73
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.27748 | 0.42603 | 0.62832 | 21.4 | 1.85
|
||||
Output | 1.5454 | 1.5473 | 1.5529 | 0.3 | 6.72
|
||||
Modify | 0.48886 | 0.49773 | 0.50842 | 1.1 | 2.16
|
||||
Other | | 0.1221 | | | 0.53
|
||||
|
||||
Nlocal: 12077 ave 12096 max 12020 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 3
|
||||
Nghost: 14204 ave 14261 max 14109 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 814094 ave 818584 max 809212 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
FullNghs: 1.62852e+06 ave 1.63296e+06 max 1.61892e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 0 2
|
||||
|
||||
Total # of neighbors = 6514094
|
||||
Ave neighs/atom = 134.845
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:35
|
||||
26
examples/USER/misc/edip/Si.edip
Normal file
@ -0,0 +1,26 @@
|
||||
# DATE: 2011-09-15 CONTRIBUTOR: Unknown CITATION: Justo, Bazant, Kaxiras, Bulatov and Yip, Phys Rev B, 58, 2539 (1998)
|
||||
|
||||
# EDIP parameters for various elements and mixtures
|
||||
# multiple entries can be added to this file, LAMMPS reads the ones it needs
|
||||
# these entries are in LAMMPS "metal" units
|
||||
|
||||
# format of a single entry (one or more lines)
|
||||
#
|
||||
# element 1, element 2, element 3,
|
||||
# A B cutoffA cutoffC alpha beta eta
|
||||
# gamma lambda mu rho sigma Q0
|
||||
# u1 u2 u3 u4
|
||||
#
|
||||
# units for each parameters:
|
||||
# A , lambda are in eV
|
||||
# B, cutoffA, cutoffC, gamma, sigma are in Angstrom
|
||||
# alpha, beta, eta, mu, rho, Q0, u1-u4 are pure numbers
|
||||
|
||||
# Here are the original parameters in metal units, for Silicon from:
|
||||
# J. F. Justo, M. Z. Bazant, E. Kaxiras, V. V. Bulatov, S. Yip
|
||||
# Phys. Rev. B 58, 2539 (1998)
|
||||
#
|
||||
|
||||
Si Si Si 7.9821730 1.5075463 3.1213820 2.5609104 3.1083847 0.0070975 0.2523244
|
||||
1.1247945 1.4533108 0.6966326 1.2085196 0.5774108 312.1341346
|
||||
-0.165799 32.557 0.286198 0.66
|
||||
38
examples/USER/misc/edip/SiC.edip
Normal file
@ -0,0 +1,38 @@
|
||||
# DATE: 2017-05-16 CONTRIBUTOR: Laurent Pizzagalli CITATION: G. Lucas, M. Bertolus, and L. Pizzagalli, J. Phys. : Condens. Matter 22, 035802 (2010)
|
||||
# element 1, element 2, element 3,
|
||||
# A B cutoffA cutoffC alpha beta eta
|
||||
# gamma lambda mu rho sigma Q0
|
||||
# u1 u2 u3 u4
|
||||
#
|
||||
Si Si Si 5.488043 1.446435 2.941586 2.540193 3.066580 0.008593 0.589390
|
||||
1.135256 2.417497 0.629131 1.343679 0.298443 208.924548
|
||||
-0.165799 32.557 0.286198 0.66
|
||||
|
||||
C C C 10.222599 0.959814 2.212263 1.741598 1.962090 0.025661 0.275605
|
||||
1.084183 3.633621 0.594236 2.827634 0.536561 289.305617
|
||||
-0.165799 32.557 0.286198 0.66
|
||||
|
||||
C Si Si 7.535967 1.177019 2.534972 1.973974 2.507738 0.015347 0.432497
|
||||
1.191567 3.025559 0.611684 2.061835 0.423863 249.115082
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
Si C C 7.535967 1.177019 2.534972 1.973974 2.507738 0.015347 0.432497
|
||||
1.191567 3.025559 0.611684 2.061835 0.423863 249.115082
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
Si Si C 5.488043 1.446435 2.941586 2.540193 3.066580 0.008593 0.510944
|
||||
1.135256 2.721528 0.620407 1.343679 0.298443 229.019815
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
Si C Si 7.535967 1.177019 2.534972 1.973974 2.507738 0.015347 0.510944
|
||||
1.191567 2.721528 0.620407 2.061835 0.423863 229.019815
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
C C Si 10.222599 0.959814 2.212263 1.741598 1.962090 0.025661 0.354051
|
||||
1.084183 3.329590 0.602960 2.827634 0.536561 269.210350
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
C Si C 7.535967 1.177019 2.534972 1.973974 2.507738 0.015347 0.354051
|
||||
1.191567 3.329590 0.602960 2.061835 0.423863 269.210350
|
||||
-0.165799 32.557000 0.286198 0.660000
|
||||
|
||||
138
examples/USER/misc/edip/data.SiC
Normal file
@ -0,0 +1,138 @@
|
||||
Position data for Silicon-Carbon system
|
||||
|
||||
128 atoms
|
||||
2 atom types
|
||||
-6.00 5.97232152 xlo xhi
|
||||
-6.00 5.97232152 ylo yhi
|
||||
-6.00 5.97232152 zlo zhi
|
||||
|
||||
Atoms
|
||||
|
||||
1 2 -2.9378454 -4.4592615 -4.8109196
|
||||
2 2 5.6222143 -2.7335026 -1.7157569
|
||||
3 2 -2.6614623 -5.5431059 1.6353686
|
||||
4 2 -5.4326838 -4.6174577 5.9452279
|
||||
5 2 5.8679239 -0.1120535 -3.5839373
|
||||
6 2 -3.7174621 -0.6623311 -0.3714789
|
||||
7 2 -5.0724728 -2.5671623 4.4103461
|
||||
8 2 -3.3951436 0.9341126 4.9310702
|
||||
9 2 -5.4347593 1.9523767 -5.6180938
|
||||
10 2 -4.5884719 2.2904528 -1.0597739
|
||||
11 2 -5.9058662 0.6212406 2.0127574
|
||||
12 2 -4.7680660 0.1965740 4.3267764
|
||||
13 2 -5.4228882 5.2569673 -4.5162920
|
||||
14 2 -5.2683965 -5.9193658 -2.8648668
|
||||
15 2 -2.8610884 1.0484664 2.0299077
|
||||
16 2 -4.0711084 5.3133026 3.8009514
|
||||
17 2 -0.1947147 -4.1677696 -5.6950931
|
||||
18 2 -2.9892710 -3.1647368 -1.6173910
|
||||
19 2 -0.9129311 -4.3819066 -0.1601859
|
||||
20 2 -2.4513693 -5.2466501 4.8882912
|
||||
21 2 -2.8879952 -0.1633446 -3.3401150
|
||||
22 1 -4.6738762 -1.3807254 -2.2946777
|
||||
23 2 -0.6973948 -1.4885343 0.6005156
|
||||
24 1 -2.7392164 -2.4774843 0.2387186
|
||||
25 2 -2.6551254 -2.7229952 2.6350264
|
||||
26 1 -3.4644263 -4.6028144 3.3817786
|
||||
27 2 0.7227614 -2.0709446 2.9214737
|
||||
28 1 -2.1000577 -3.2131296 5.7273437
|
||||
29 2 -3.1057649 2.3204819 -2.2725622
|
||||
30 1 -2.2298751 0.7168389 -1.3107201
|
||||
31 2 -1.8698261 1.4006751 0.7265108
|
||||
32 1 -4.1103409 -0.7093340 1.9341753
|
||||
33 2 -0.3505581 3.2707182 -0.2880656
|
||||
34 1 -3.4045407 -1.4383961 4.3903527
|
||||
35 2 -3.0940529 1.4132478 -5.3635505
|
||||
36 1 -4.4560663 1.2072875 -3.7310176
|
||||
37 2 -2.6061002 4.6373499 -4.6903941
|
||||
38 1 -3.3477444 4.6768137 -2.6284678
|
||||
39 2 0.8121697 4.8602418 -4.6710946
|
||||
40 1 -2.5756922 3.3740738 -0.2136350
|
||||
41 2 -0.3867976 5.8745611 -2.1119905
|
||||
42 1 -1.6766249 1.3374292 3.8741477
|
||||
43 2 -0.8770613 3.3735941 4.3846975
|
||||
44 1 -1.8609254 3.3158245 -5.9786556
|
||||
45 1 -5.2732321 -4.6073253 -0.9581754
|
||||
46 1 -2.7888697 -5.6910152 -0.7922023
|
||||
47 1 -2.4717165 4.5801880 2.5083210
|
||||
48 1 -3.8819950 5.8456589 -5.7563384
|
||||
49 2 2.2314782 -2.7729214 -5.2356862
|
||||
50 2 0.2981976 -3.1385279 -3.1608167
|
||||
51 2 2.8810785 -3.4658695 -0.5823196
|
||||
52 2 0.2509625 -5.7595229 2.7389761
|
||||
53 2 -0.2934120 -0.8029431 -3.3698507
|
||||
54 1 -1.0075690 -2.0481922 -1.9419298
|
||||
55 2 2.0729069 1.4922441 -2.3898096
|
||||
56 1 1.1110944 -3.2004208 0.9491078
|
||||
57 2 1.6774298 -0.7901860 2.5158773
|
||||
58 1 -0.8342297 -4.3342518 2.0971458
|
||||
59 2 3.2747406 -1.3107897 4.7884706
|
||||
60 1 1.7126246 -3.3691471 4.5581012
|
||||
61 2 0.4770605 1.7769008 -5.3339915
|
||||
62 1 0.2944391 0.5892781 -2.2030106
|
||||
63 2 2.2039275 3.1557557 -2.0276796
|
||||
64 1 -0.0404494 0.4767818 1.0396418
|
||||
65 2 1.1395867 2.3763443 2.3481007
|
||||
66 1 -0.9738374 -1.6325161 3.7538567
|
||||
67 2 -0.3291998 0.2996990 5.2770809
|
||||
68 1 -1.6185604 -0.3964274 -5.1771220
|
||||
69 2 2.5999949 -5.1977715 5.8230717
|
||||
70 1 -1.6270675 2.3210900 -3.6299941
|
||||
71 2 3.6532700 4.9282597 -5.4319276
|
||||
72 1 0.0788934 4.0241037 -2.5011530
|
||||
73 2 2.8556507 2.6168653 2.1125546
|
||||
74 1 0.9738989 2.6255364 4.3412121
|
||||
75 2 3.7452938 3.4521356 4.5946426
|
||||
76 1 2.0805182 4.7039015 5.3280260
|
||||
77 1 -1.0324174 -5.8155041 -4.3265820
|
||||
78 1 0.7622442 -4.3631629 -1.3156572
|
||||
79 1 0.3263684 3.9937357 1.6172321
|
||||
80 1 -0.4350105 -5.7997058 4.5959134
|
||||
81 2 3.9161132 -4.6052788 -3.3191717
|
||||
82 2 1.9240657 5.7345079 -1.9754251
|
||||
83 2 -5.9794488 -4.2369359 1.8646522
|
||||
84 2 4.3339975 -4.4845227 5.3737440
|
||||
85 2 2.2755456 -0.6327737 -5.7931837
|
||||
86 1 1.8728190 -1.5504906 -3.4560010
|
||||
87 2 3.4558100 -1.1054068 -1.8333071
|
||||
88 1 4.3788172 -1.9466494 -0.3284637
|
||||
89 2 2.5999235 -3.7548996 2.5740569
|
||||
90 1 3.9983910 -4.4856603 1.1968663
|
||||
91 2 -5.7295580 -2.1475672 -5.9963645
|
||||
92 1 4.2664051 -2.6988975 -5.8005478
|
||||
93 2 4.5254685 2.2906832 -3.4765798
|
||||
94 1 2.3603088 1.3416442 -4.4173836
|
||||
95 2 4.7767057 1.4061217 -0.7524620
|
||||
96 1 1.8072666 -0.7835973 -0.4581995
|
||||
97 2 4.4745018 0.3736224 2.1068274
|
||||
98 1 3.6081170 -1.7315713 2.4019053
|
||||
99 2 4.6281423 -0.2865409 4.4756524
|
||||
100 1 1.7975239 0.2893530 4.2330830
|
||||
101 2 5.8341452 4.4986472 -5.9664541
|
||||
102 1 3.2401308 4.1655227 -3.5070029
|
||||
103 2 4.8720339 4.8709982 -2.3364366
|
||||
104 1 3.5526476 1.2262752 0.6926826
|
||||
105 2 -5.8173342 4.5420479 1.5578881
|
||||
106 1 3.9683224 1.5441137 3.8284375
|
||||
107 2 -5.5349308 1.9067049 3.7504113
|
||||
108 1 4.4728615 2.6415574 -5.5952809
|
||||
109 1 1.7000950 -4.8115440 -4.1953920
|
||||
110 1 1.7221527 4.1878404 -0.3712681
|
||||
111 1 3.9218156 4.5935583 1.3263407
|
||||
112 1 3.1310195 -5.8922481 3.6001155
|
||||
113 1 4.7558719 -2.2877771 -3.4742052
|
||||
114 1 -5.5050300 -2.7027381 0.8748867
|
||||
115 1 5.8418594 -4.6064370 3.8714113
|
||||
116 1 -4.7516868 -3.1691984 -4.4099768
|
||||
117 1 3.9404971 0.7188702 -2.2898786
|
||||
118 1 -5.6869740 0.2042380 -0.1916738
|
||||
119 1 5.8949589 -1.2422560 3.1201292
|
||||
120 1 5.9675804 -0.0712572 5.8964022
|
||||
121 1 -5.6208517 3.3600036 -2.9493510
|
||||
122 1 5.2065263 3.4517912 -0.3800894
|
||||
123 1 -4.6994522 2.5489583 1.8297431
|
||||
124 1 -4.0758407 3.0726196 5.0647973
|
||||
125 1 4.1587591 -5.0896820 -1.1443498
|
||||
126 1 -4.6963753 -5.7429833 1.1357818
|
||||
127 1 5.5994192 4.6887008 3.5948264
|
||||
128 1 5.0988369 -5.3774409 -4.9051267
|
||||
72
examples/USER/misc/edip/in.edip-Si
Normal file
@ -0,0 +1,72 @@
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a &
|
||||
a1 1.0 0.0 0.0 &
|
||||
a2 0.0 1.0 0.0 &
|
||||
a3 0.0 0.0 1.0 &
|
||||
basis 0.0 0.0 0.0 &
|
||||
basis 0.0 0.5 0.5 &
|
||||
basis 0.5 0.0 0.5 &
|
||||
basis 0.5 0.5 0.0 &
|
||||
basis 0.25 0.25 0.25 &
|
||||
basis 0.25 0.75 0.75 &
|
||||
basis 0.75 0.25 0.75 &
|
||||
basis 0.75 0.75 0.25
|
||||
|
||||
region myreg block 0 4 &
|
||||
0 4 &
|
||||
0 4
|
||||
create_box 1 myreg
|
||||
create_atoms 1 region myreg
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
delete_atoms group del
|
||||
|
||||
pair_style edip
|
||||
pair_coeff * * Si.edip Si
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
|
||||
72
examples/USER/misc/edip/in.edip-Si-multi
Normal file
@ -0,0 +1,72 @@
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a &
|
||||
a1 1.0 0.0 0.0 &
|
||||
a2 0.0 1.0 0.0 &
|
||||
a3 0.0 0.0 1.0 &
|
||||
basis 0.0 0.0 0.0 &
|
||||
basis 0.0 0.5 0.5 &
|
||||
basis 0.5 0.0 0.5 &
|
||||
basis 0.5 0.5 0.0 &
|
||||
basis 0.25 0.25 0.25 &
|
||||
basis 0.25 0.75 0.75 &
|
||||
basis 0.75 0.25 0.75 &
|
||||
basis 0.75 0.75 0.25
|
||||
|
||||
region myreg block 0 4 &
|
||||
0 4 &
|
||||
0 4
|
||||
create_box 1 myreg
|
||||
create_atoms 1 region myreg
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
delete_atoms group del
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * Si.edip Si
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
|
||||
33
examples/USER/misc/edip/in.edip-SiC
Normal file
@ -0,0 +1,33 @@
|
||||
# Test of MEAM potential for SiC system
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
|
||||
read_data data.SiC
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * SiC.edip Si C
|
||||
|
||||
mass 1 28.085
|
||||
mass 2 12.001
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify delay 1
|
||||
|
||||
fix 1 all nve
|
||||
thermo 10
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all atom 50 dump.meam
|
||||
|
||||
#dump 2 all image 10 image.*.jpg element element &
|
||||
# axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 2 pad 3 element Si C
|
||||
|
||||
#dump 3 all movie 10 movie.mpg element element &
|
||||
# axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 3 pad 3 element Si C
|
||||
|
||||
run 100
|
||||
167
examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.1
Normal file
@ -0,0 +1,167 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
|
||||
region myreg block 0 4 0 4 0 4
|
||||
create_box 1 myreg
|
||||
Created orthogonal box = (0 0 0) to (21.724 21.724 21.724)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 region myreg
|
||||
Created 512 atoms
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
512 atoms in group Si
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
velocity all create 1800 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
1 atoms in group del
|
||||
delete_atoms group del
|
||||
Deleted 1 atoms, new total = 511
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * Si.edip Si
|
||||
Reading potential file Si.edip with DATE: 2011-09-15
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
fix 1 all nvt temp 1800 $t 0.1
|
||||
fix 1 all nvt temp 1800 1800 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.12138
|
||||
ghost atom cutoff = 4.12138
|
||||
binsize = 2.06069, bins = 11 11 11
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip/multi, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.979 | 2.979 | 2.979 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1802.5039 -2372.6618 0 -2253.8359 12261.807
|
||||
10 952.62744 -2316.428 0 -2253.6283 723.08194
|
||||
20 549.13801 -2289.442 0 -2253.2413 -2444.5204
|
||||
30 1047.0106 -2321.1523 0 -2252.1305 9013.201
|
||||
40 663.46141 -2294.2083 0 -2250.4711 2942.5348
|
||||
50 504.74535 -2282.849 0 -2249.5748 -461.44909
|
||||
60 1019.2173 -2315.5639 0 -2248.3744 7706.4286
|
||||
70 844.51195 -2302.5251 0 -2246.8526 3116.8302
|
||||
80 814.90407 -2299.3372 0 -2245.6166 794.77455
|
||||
90 1269.5636 -2327.4775 0 -2243.7845 7729.3968
|
||||
100 977.61563 -2306.1118 0 -2241.6647 2969.9939
|
||||
110 843.08539 -2295.6547 0 -2240.0763 1393.4039
|
||||
120 1161.6968 -2314.6587 0 -2238.0766 7398.3492
|
||||
130 918.19451 -2296.4321 0 -2235.9022 2537.3997
|
||||
140 881.42548 -2292.2768 0 -2234.1709 1550.3339
|
||||
150 1231.1005 -2313.1054 0 -2231.9479 8112.7566
|
||||
160 967.01862 -2293.332 0 -2229.5836 3422.9627
|
||||
170 833.51248 -2282.7489 0 -2227.8015 43.991459
|
||||
180 1240.8488 -2307.3633 0 -2225.5632 6557.8651
|
||||
190 1126.4621 -2297.1922 0 -2222.9328 4289.0067
|
||||
200 947.59571 -2283.29 0 -2220.822 586.2811
|
||||
210 1228.153 -2299.4702 0 -2218.5071 5315.0425
|
||||
220 1215.4104 -2295.9408 0 -2215.8176 4870.3417
|
||||
230 1112.436 -2286.7552 0 -2213.4204 2527.1879
|
||||
240 1300.081 -2296.6013 0 -2210.8965 5738.3708
|
||||
250 1192.5738 -2286.8463 0 -2208.2286 4076.49
|
||||
260 1004.7055 -2272.1753 0 -2205.9424 359.37589
|
||||
270 1241.2018 -2285.3632 0 -2203.5399 4160.5763
|
||||
280 1360.1974 -2290.325 0 -2200.6572 5802.3902
|
||||
290 1151.9365 -2273.9467 0 -2198.008 1418.8887
|
||||
300 1174.3518 -2273.0089 0 -2195.5925 1998.229
|
||||
310 1329.2727 -2280.5049 0 -2192.8757 4721.7297
|
||||
320 1284.4414 -2274.7519 0 -2190.0781 2985.4674
|
||||
330 1328.3761 -2274.9545 0 -2187.3844 4543.2109
|
||||
340 1446.3847 -2279.8693 0 -2184.5198 6254.4059
|
||||
350 1366.2165 -2271.7475 0 -2181.6828 3637.8335
|
||||
360 1358.9609 -2268.5982 0 -2179.0118 3049.5798
|
||||
370 1552.208 -2278.4802 0 -2176.1545 6334.0058
|
||||
380 1562.5295 -2276.1793 0 -2173.1732 5787.5547
|
||||
390 1415.5498 -2263.7824 0 -2170.4655 3438.5766
|
||||
400 1323.1568 -2255.1641 0 -2167.938 2427.2294
|
||||
410 1260.7186 -2248.5373 0 -2165.4273 1208.6299
|
||||
420 1282.1118 -2247.3718 0 -2162.8516 462.65374
|
||||
430 1451.944 -2255.7551 0 -2160.0391 2037.8025
|
||||
440 1568.9415 -2260.417 0 -2156.9882 3531.1602
|
||||
450 1565.8262 -2257.2396 0 -2154.0162 2586.7886
|
||||
460 1677.7143 -2261.7214 0 -2151.122 4112.9756
|
||||
470 1762.9071 -2264.4244 0 -2148.2089 5053.2139
|
||||
480 1704.5898 -2257.8678 0 -2145.4967 4077.4626
|
||||
490 1731.2619 -2257.1048 0 -2142.9753 4710.5263
|
||||
500 1723.9777 -2254.161 0 -2140.5118 4760.7295
|
||||
Loop time of 0.679564 on 1 procs for 500 steps with 511 atoms
|
||||
|
||||
Performance: 63.570 ns/day, 0.378 hours/ns, 735.765 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.65181 | 0.65181 | 0.65181 | 0.0 | 95.92
|
||||
Neigh | 0.013857 | 0.013857 | 0.013857 | 0.0 | 2.04
|
||||
Comm | 0.0033884 | 0.0033884 | 0.0033884 | 0.0 | 0.50
|
||||
Output | 0.00070739 | 0.00070739 | 0.00070739 | 0.0 | 0.10
|
||||
Modify | 0.0083694 | 0.0083694 | 0.0083694 | 0.0 | 1.23
|
||||
Other | | 0.001432 | | | 0.21
|
||||
|
||||
Nlocal: 511 ave 511 max 511 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 845 ave 845 max 845 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7902 ave 7902 max 7902 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7902
|
||||
Ave neighs/atom = 15.4638
|
||||
Neighbor list builds = 19
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
167
examples/USER/misc/edip/log.4May2017.g++.edip-Si-multi.4
Normal file
@ -0,0 +1,167 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
|
||||
region myreg block 0 4 0 4 0 4
|
||||
create_box 1 myreg
|
||||
Created orthogonal box = (0 0 0) to (21.724 21.724 21.724)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 region myreg
|
||||
Created 512 atoms
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
512 atoms in group Si
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
velocity all create 1800 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
1 atoms in group del
|
||||
delete_atoms group del
|
||||
Deleted 1 atoms, new total = 511
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * Si.edip Si
|
||||
Reading potential file Si.edip with DATE: 2011-09-15
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
fix 1 all nvt temp 1800 $t 0.1
|
||||
fix 1 all nvt temp 1800 1800 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.12138
|
||||
ghost atom cutoff = 4.12138
|
||||
binsize = 2.06069, bins = 11 11 11
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip/multi, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.955 | 2.955 | 2.955 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1802.3816 -2372.6618 0 -2253.844 12260.967
|
||||
10 938.75954 -2315.5185 0 -2253.6329 558.21646
|
||||
20 534.27233 -2288.4721 0 -2253.2514 -2710.768
|
||||
30 1043.7796 -2320.9485 0 -2252.1398 8679.4381
|
||||
40 658.0916 -2293.8597 0 -2250.4765 2165.3742
|
||||
50 517.93009 -2283.7238 0 -2249.5805 -1124.9373
|
||||
60 1063.3594 -2318.4409 0 -2248.3414 7277.8526
|
||||
70 868.14006 -2304.0134 0 -2246.7832 2050.2848
|
||||
80 826.37805 -2300.0187 0 -2245.5416 91.099408
|
||||
90 1289.6772 -2328.7151 0 -2243.6961 8180.7423
|
||||
100 976.36208 -2305.9371 0 -2241.5727 3614.0499
|
||||
110 810.81713 -2293.4705 0 -2240.0193 1359.368
|
||||
120 1165.707 -2314.9026 0 -2238.056 7336.45
|
||||
130 929.81245 -2297.139 0 -2235.8432 2793.8451
|
||||
140 804.47874 -2287.2074 0 -2234.174 704.92455
|
||||
150 1182.4141 -2310.0266 0 -2232.0787 7822.2337
|
||||
160 979.92391 -2294.2969 0 -2229.6977 3206.7458
|
||||
170 830.14748 -2282.6079 0 -2227.8824 -296.87377
|
||||
180 1271.1133 -2309.4274 0 -2225.6322 7199.614
|
||||
190 1209.6006 -2302.6407 0 -2222.9006 5528.3784
|
||||
200 954.67693 -2283.6621 0 -2220.7273 47.02795
|
||||
210 1260.814 -2301.5582 0 -2218.442 4829.788
|
||||
220 1274.9954 -2299.7285 0 -2215.6774 5518.0597
|
||||
230 1048.0074 -2282.398 0 -2213.3106 1754.4144
|
||||
240 1261.7072 -2294.1108 0 -2210.9356 5233.2712
|
||||
250 1272.6178 -2292.0793 0 -2208.1849 4795.9325
|
||||
260 989.14205 -2271.0278 0 -2205.8209 -820.1828
|
||||
270 1212.0445 -2283.4212 0 -2203.52 3395.8634
|
||||
280 1391.9572 -2292.3809 0 -2200.6194 6666.2451
|
||||
290 1093.1204 -2270.0421 0 -2197.9807 206.94523
|
||||
300 1159.4831 -2272.102 0 -2195.6657 778.53806
|
||||
310 1407.3528 -2285.6228 0 -2192.8463 5223.048
|
||||
320 1236.7163 -2271.5389 0 -2190.0113 1865.3943
|
||||
330 1258.8275 -2270.4611 0 -2187.4758 2333.3209
|
||||
340 1507.9519 -2283.9906 0 -2184.5824 6775.5456
|
||||
350 1366.5116 -2271.7287 0 -2181.6446 3432.115
|
||||
360 1305.2829 -2265.1092 0 -2179.0614 1498.4073
|
||||
370 1581.4335 -2280.4645 0 -2176.2122 6518.5597
|
||||
380 1589.5319 -2277.9428 0 -2173.1567 6334.6506
|
||||
390 1402.6781 -2262.9323 0 -2170.464 3278.3038
|
||||
400 1374.9587 -2258.5717 0 -2167.9307 3608.7284
|
||||
410 1295.7416 -2250.7752 0 -2165.3565 1877.5222
|
||||
420 1278.6727 -2247.1099 0 -2162.8164 1599.4181
|
||||
430 1508.1328 -2259.4245 0 -2160.0044 4300.2224
|
||||
440 1624.2957 -2263.9806 0 -2156.9026 4432.625
|
||||
450 1597.3356 -2259.263 0 -2153.9624 3370.3816
|
||||
460 1772.0922 -2267.9106 0 -2151.0895 5788.3214
|
||||
470 1806.4047 -2267.304 0 -2148.221 5950.1166
|
||||
480 1593.0406 -2250.7469 0 -2145.7294 2518.0576
|
||||
490 1660.9767 -2252.894 0 -2143.398 4282.1643
|
||||
500 1714.283 -2253.9295 0 -2140.9194 5740.0247
|
||||
Loop time of 0.205398 on 4 procs for 500 steps with 511 atoms
|
||||
|
||||
Performance: 210.324 ns/day, 0.114 hours/ns, 2434.304 timesteps/s
|
||||
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.16285 | 0.1688 | 0.17446 | 1.1 | 82.18
|
||||
Neigh | 0.0035172 | 0.0036234 | 0.0038214 | 0.2 | 1.76
|
||||
Comm | 0.018727 | 0.024851 | 0.030996 | 2.9 | 12.10
|
||||
Output | 0.0013061 | 0.0014012 | 0.0015635 | 0.3 | 0.68
|
||||
Modify | 0.0046582 | 0.0048603 | 0.0050988 | 0.2 | 2.37
|
||||
Other | | 0.001861 | | | 0.91
|
||||
|
||||
Nlocal: 127.75 ave 131 max 124 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Nghost: 433.75 ave 441 max 426 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1979.5 ave 2040 max 1895 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 7918
|
||||
Ave neighs/atom = 15.4951
|
||||
Neighbor list builds = 19
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
167
examples/USER/misc/edip/log.4May2017.g++.edip-Si.1
Normal file
@ -0,0 +1,167 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
|
||||
region myreg block 0 4 0 4 0 4
|
||||
create_box 1 myreg
|
||||
Created orthogonal box = (0 0 0) to (21.724 21.724 21.724)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 region myreg
|
||||
Created 512 atoms
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
512 atoms in group Si
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
velocity all create 1800 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
1 atoms in group del
|
||||
delete_atoms group del
|
||||
Deleted 1 atoms, new total = 511
|
||||
|
||||
pair_style edip
|
||||
pair_coeff * * Si.edip Si
|
||||
Reading potential file Si.edip with DATE: 2011-09-15
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
fix 1 all nvt temp 1800 $t 0.1
|
||||
fix 1 all nvt temp 1800 1800 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.12138
|
||||
ghost atom cutoff = 4.12138
|
||||
binsize = 2.06069, bins = 11 11 11
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.979 | 2.979 | 2.979 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1802.5039 -2372.6618 0 -2253.8359 12261.807
|
||||
10 952.62744 -2316.428 0 -2253.6283 723.08283
|
||||
20 549.138 -2289.442 0 -2253.2413 -2444.5194
|
||||
30 1047.0106 -2321.1522 0 -2252.1305 9013.2015
|
||||
40 663.46143 -2294.2083 0 -2250.4711 2942.5358
|
||||
50 504.74533 -2282.849 0 -2249.5748 -461.44817
|
||||
60 1019.2173 -2315.5639 0 -2248.3744 7706.429
|
||||
70 844.51197 -2302.5251 0 -2246.8526 3116.8313
|
||||
80 814.90406 -2299.3372 0 -2245.6165 794.77536
|
||||
90 1269.5635 -2327.4775 0 -2243.7845 7729.3971
|
||||
100 977.61566 -2306.1118 0 -2241.6647 2969.9952
|
||||
110 843.08538 -2295.6547 0 -2240.0763 1393.4046
|
||||
120 1161.6968 -2314.6587 0 -2238.0766 7398.3495
|
||||
130 918.19453 -2296.4321 0 -2235.9022 2537.4011
|
||||
140 881.42546 -2292.2768 0 -2234.1709 1550.3345
|
||||
150 1231.1005 -2313.1054 0 -2231.9479 8112.7568
|
||||
160 967.01865 -2293.332 0 -2229.5836 3422.964
|
||||
170 833.51246 -2282.7489 0 -2227.8015 43.99251
|
||||
180 1240.8487 -2307.3633 0 -2225.5632 6557.8652
|
||||
190 1126.4621 -2297.1922 0 -2222.9328 4289.0083
|
||||
200 947.5957 -2283.29 0 -2220.8219 586.28203
|
||||
210 1228.153 -2299.4702 0 -2218.5071 5315.0427
|
||||
220 1215.4104 -2295.9407 0 -2215.8176 4870.343
|
||||
230 1112.436 -2286.7552 0 -2213.4204 2527.1887
|
||||
240 1300.081 -2296.6013 0 -2210.8965 5738.3711
|
||||
250 1192.5739 -2286.8463 0 -2208.2286 4076.4913
|
||||
260 1004.7055 -2272.1753 0 -2205.9424 359.3769
|
||||
270 1241.2018 -2285.3632 0 -2203.5399 4160.5764
|
||||
280 1360.1974 -2290.325 0 -2200.6572 5802.3912
|
||||
290 1151.9366 -2273.9467 0 -2198.008 1418.8905
|
||||
300 1174.3518 -2273.0089 0 -2195.5925 1998.2297
|
||||
310 1329.2726 -2280.5049 0 -2192.8757 4721.7304
|
||||
320 1284.4414 -2274.7519 0 -2190.0781 2985.4687
|
||||
330 1328.3761 -2274.9545 0 -2187.3844 4543.2115
|
||||
340 1446.3847 -2279.8693 0 -2184.5198 6254.4071
|
||||
350 1366.2165 -2271.7475 0 -2181.6828 3637.8351
|
||||
360 1358.9609 -2268.5982 0 -2179.0118 3049.5811
|
||||
370 1552.2079 -2278.4802 0 -2176.1545 6334.0061
|
||||
380 1562.5295 -2276.1793 0 -2173.1731 5787.5565
|
||||
390 1415.5498 -2263.7823 0 -2170.4655 3438.5782
|
||||
400 1323.1568 -2255.1641 0 -2167.938 2427.2311
|
||||
410 1260.7186 -2248.5373 0 -2165.4273 1208.6316
|
||||
420 1282.1118 -2247.3718 0 -2162.8516 462.65508
|
||||
430 1451.9439 -2255.7551 0 -2160.0391 2037.8027
|
||||
440 1568.9415 -2260.417 0 -2156.9882 3531.1613
|
||||
450 1565.8261 -2257.2396 0 -2154.0161 2586.7896
|
||||
460 1677.7143 -2261.7214 0 -2151.122 4112.976
|
||||
470 1762.9071 -2264.4244 0 -2148.2089 5053.2148
|
||||
480 1704.5898 -2257.8678 0 -2145.4966 4077.4649
|
||||
490 1731.2619 -2257.1048 0 -2142.9753 4710.5276
|
||||
500 1723.9777 -2254.161 0 -2140.5118 4760.7316
|
||||
Loop time of 0.312472 on 1 procs for 500 steps with 511 atoms
|
||||
|
||||
Performance: 138.252 ns/day, 0.174 hours/ns, 1600.143 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.28525 | 0.28525 | 0.28525 | 0.0 | 91.29
|
||||
Neigh | 0.013753 | 0.013753 | 0.013753 | 0.0 | 4.40
|
||||
Comm | 0.0033333 | 0.0033333 | 0.0033333 | 0.0 | 1.07
|
||||
Output | 0.00071096 | 0.00071096 | 0.00071096 | 0.0 | 0.23
|
||||
Modify | 0.008044 | 0.008044 | 0.008044 | 0.0 | 2.57
|
||||
Other | | 0.001385 | | | 0.44
|
||||
|
||||
Nlocal: 511 ave 511 max 511 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 845 ave 845 max 845 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7902 ave 7902 max 7902 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7902
|
||||
Ave neighs/atom = 15.4638
|
||||
Neighbor list builds = 19
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
167
examples/USER/misc/edip/log.4May2017.g++.edip-Si.4
Normal file
@ -0,0 +1,167 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
boundary p p p
|
||||
atom_modify sort 0 0.0
|
||||
|
||||
# temperature
|
||||
|
||||
variable t equal 1800.0
|
||||
|
||||
# coordination number cutoff
|
||||
|
||||
variable r equal 2.835
|
||||
|
||||
# minimization parameters
|
||||
|
||||
variable etol equal 1.0e-5
|
||||
variable ftol equal 1.0e-5
|
||||
variable maxiter equal 100
|
||||
variable maxeval equal 100
|
||||
variable dmax equal 1.0e-1
|
||||
|
||||
# diamond unit cell
|
||||
|
||||
variable a equal 5.431
|
||||
lattice custom $a a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
lattice custom 5.431 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 basis 0.0 0.5 0.5 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.25 0.25 0.25 basis 0.25 0.75 0.75 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
|
||||
region myreg block 0 4 0 4 0 4
|
||||
create_box 1 myreg
|
||||
Created orthogonal box = (0 0 0) to (21.724 21.724 21.724)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 region myreg
|
||||
Created 512 atoms
|
||||
|
||||
mass 1 28.06
|
||||
|
||||
group Si type 1
|
||||
512 atoms in group Si
|
||||
|
||||
velocity all create $t 5287287 mom yes rot yes dist gaussian
|
||||
velocity all create 1800 5287287 mom yes rot yes dist gaussian
|
||||
|
||||
# make a vacancy
|
||||
|
||||
group del id 300
|
||||
1 atoms in group del
|
||||
delete_atoms group del
|
||||
Deleted 1 atoms, new total = 511
|
||||
|
||||
pair_style edip
|
||||
pair_coeff * * Si.edip Si
|
||||
Reading potential file Si.edip with DATE: 2011-09-15
|
||||
|
||||
thermo 10
|
||||
|
||||
fix 1 all nvt temp $t $t 0.1
|
||||
fix 1 all nvt temp 1800 $t 0.1
|
||||
fix 1 all nvt temp 1800 1800 0.1
|
||||
|
||||
timestep 1.0e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 10 check yes
|
||||
|
||||
# equilibrate
|
||||
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.12138
|
||||
ghost atom cutoff = 4.12138
|
||||
binsize = 2.06069, bins = 11 11 11
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.955 | 2.955 | 2.955 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1802.3816 -2372.6618 0 -2253.8439 12260.967
|
||||
10 938.75954 -2315.5185 0 -2253.6329 558.21736
|
||||
20 534.27232 -2288.4721 0 -2253.2514 -2710.767
|
||||
30 1043.7796 -2320.9485 0 -2252.1398 8679.4385
|
||||
40 658.09162 -2293.8597 0 -2250.4765 2165.3752
|
||||
50 517.93008 -2283.7238 0 -2249.5805 -1124.9362
|
||||
60 1063.3594 -2318.4409 0 -2248.3414 7277.853
|
||||
70 868.14007 -2304.0133 0 -2246.7832 2050.2859
|
||||
80 826.37803 -2300.0187 0 -2245.5416 91.100098
|
||||
90 1289.6772 -2328.7151 0 -2243.6961 8180.7427
|
||||
100 976.36211 -2305.9371 0 -2241.5727 3614.0511
|
||||
110 810.81711 -2293.4705 0 -2240.0193 1359.3687
|
||||
120 1165.707 -2314.9026 0 -2238.056 7336.4505
|
||||
130 929.81248 -2297.139 0 -2235.8432 2793.8463
|
||||
140 804.47872 -2287.2074 0 -2234.174 704.92524
|
||||
150 1182.414 -2310.0266 0 -2232.0787 7822.2339
|
||||
160 979.92395 -2294.2969 0 -2229.6977 3206.7474
|
||||
170 830.14746 -2282.6079 0 -2227.8824 -296.87288
|
||||
180 1271.1133 -2309.4274 0 -2225.6322 7199.614
|
||||
190 1209.6006 -2302.6407 0 -2222.9006 5528.3799
|
||||
200 954.67692 -2283.6621 0 -2220.7272 47.02925
|
||||
210 1260.814 -2301.5582 0 -2218.442 4829.7879
|
||||
220 1274.9954 -2299.7285 0 -2215.6774 5518.0611
|
||||
230 1048.0074 -2282.398 0 -2213.3106 1754.4157
|
||||
240 1261.7071 -2294.1107 0 -2210.9356 5233.2714
|
||||
250 1272.6179 -2292.0793 0 -2208.1849 4795.934
|
||||
260 989.14207 -2271.0278 0 -2205.8209 -820.18098
|
||||
270 1212.0444 -2283.4212 0 -2203.52 3395.8631
|
||||
280 1391.9572 -2292.3809 0 -2200.6194 6666.2464
|
||||
290 1093.1205 -2270.0421 0 -2197.9807 206.94752
|
||||
300 1159.483 -2272.102 0 -2195.6657 778.53823
|
||||
310 1407.3528 -2285.6227 0 -2192.8463 5223.0487
|
||||
320 1236.7164 -2271.5389 0 -2190.0112 1865.3963
|
||||
330 1258.8275 -2270.4611 0 -2187.4758 2333.321
|
||||
340 1507.9519 -2283.9906 0 -2184.5824 6775.546
|
||||
350 1366.5116 -2271.7287 0 -2181.6446 3432.1175
|
||||
360 1305.2828 -2265.1091 0 -2179.0614 1498.4079
|
||||
370 1581.4334 -2280.4645 0 -2176.2122 6518.5598
|
||||
380 1589.5319 -2277.9428 0 -2173.1566 6334.6527
|
||||
390 1402.6782 -2262.9323 0 -2170.464 3278.3048
|
||||
400 1374.9587 -2258.5717 0 -2167.9307 3608.7293
|
||||
410 1295.7416 -2250.7752 0 -2165.3565 1877.5245
|
||||
420 1278.6727 -2247.1099 0 -2162.8164 1599.4189
|
||||
430 1508.1328 -2259.4245 0 -2160.0044 4300.2235
|
||||
440 1624.2957 -2263.9806 0 -2156.9026 4432.6267
|
||||
450 1597.3356 -2259.263 0 -2153.9623 3370.3829
|
||||
460 1772.0921 -2267.9105 0 -2151.0895 5788.3219
|
||||
470 1806.4047 -2267.304 0 -2148.221 5950.1188
|
||||
480 1593.0406 -2250.7469 0 -2145.7294 2518.0601
|
||||
490 1660.9766 -2252.894 0 -2143.398 4282.1654
|
||||
500 1714.2831 -2253.9295 0 -2140.9194 5740.0268
|
||||
Loop time of 0.109584 on 4 procs for 500 steps with 511 atoms
|
||||
|
||||
Performance: 394.220 ns/day, 0.061 hours/ns, 4562.726 timesteps/s
|
||||
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.074678 | 0.077817 | 0.084705 | 1.4 | 71.01
|
||||
Neigh | 0.0036662 | 0.0037943 | 0.0039661 | 0.2 | 3.46
|
||||
Comm | 0.013665 | 0.020312 | 0.023178 | 2.7 | 18.54
|
||||
Output | 0.0010247 | 0.0010931 | 0.0012922 | 0.3 | 1.00
|
||||
Modify | 0.0043213 | 0.0047521 | 0.0051889 | 0.6 | 4.34
|
||||
Other | | 0.001814 | | | 1.66
|
||||
|
||||
Nlocal: 127.75 ave 131 max 124 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Nghost: 433.75 ave 441 max 426 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1979.5 ave 2040 max 1895 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 7918
|
||||
Ave neighs/atom = 15.4951
|
||||
Neighbor list builds = 19
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
92
examples/USER/misc/edip/log.4May2017.g++.edip-SiC.1
Normal file
@ -0,0 +1,92 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Test of MEAM potential for SiC system
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
|
||||
read_data data.SiC
|
||||
orthogonal box = (-6 -6 -6) to (5.97232 5.97232 5.97232)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
128 atoms
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * SiC.edip Si C
|
||||
Reading potential file SiC.edip with DATE: 2017-05-16
|
||||
|
||||
mass 1 28.085
|
||||
mass 2 12.001
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify delay 1
|
||||
|
||||
fix 1 all nve
|
||||
thermo 10
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all atom 50 dump.meam
|
||||
|
||||
#dump 2 all image 10 image.*.jpg element element # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 2 pad 3 element Si C
|
||||
|
||||
#dump 3 all movie 10 movie.mpg element element # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 3 pad 3 element Si C
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 1 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.94159
|
||||
ghost atom cutoff = 3.94159
|
||||
binsize = 1.97079, bins = 7 7 7
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip/multi, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.692 | 2.692 | 2.692 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -563.61621 0 -563.61621 -726147.34
|
||||
10 4224.3601 -633.24829 0 -563.90103 -312355.55
|
||||
20 4528.5661 -638.15183 0 -563.81071 -20091.291
|
||||
30 4817.3654 -642.92111 0 -563.83905 106625.5
|
||||
40 4619.4324 -639.6884 0 -563.85562 107180.42
|
||||
50 4783.0025 -642.26961 0 -563.75166 75134.335
|
||||
60 4525.145 -638.06177 0 -563.77681 71591.713
|
||||
70 4685.2578 -640.72377 0 -563.8104 63956.042
|
||||
80 4621.8393 -639.75912 0 -563.88682 18177.383
|
||||
90 4834.7702 -643.34582 0 -563.97805 15282.823
|
||||
100 4424.0589 -636.60208 0 -563.97656 47963.501
|
||||
Loop time of 0.0552888 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 156.270 ns/day, 0.154 hours/ns, 1808.685 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.051872 | 0.051872 | 0.051872 | 0.0 | 93.82
|
||||
Neigh | 0.0023525 | 0.0023525 | 0.0023525 | 0.0 | 4.25
|
||||
Comm | 0.0004518 | 0.0004518 | 0.0004518 | 0.0 | 0.82
|
||||
Output | 0.00014806 | 0.00014806 | 0.00014806 | 0.0 | 0.27
|
||||
Modify | 0.00024796 | 0.00024796 | 0.00024796 | 0.0 | 0.45
|
||||
Other | | 0.0002165 | | | 0.39
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 473 ave 473 max 473 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 2376
|
||||
Ave neighs/atom = 18.5625
|
||||
Neighbor list builds = 11
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
92
examples/USER/misc/edip/log.4May2017.g++.edip-SiC.4
Normal file
@ -0,0 +1,92 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Test of MEAM potential for SiC system
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
|
||||
read_data data.SiC
|
||||
orthogonal box = (-6 -6 -6) to (5.97232 5.97232 5.97232)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
128 atoms
|
||||
|
||||
pair_style edip/multi
|
||||
pair_coeff * * SiC.edip Si C
|
||||
Reading potential file SiC.edip with DATE: 2017-05-16
|
||||
|
||||
mass 1 28.085
|
||||
mass 2 12.001
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify delay 1
|
||||
|
||||
fix 1 all nve
|
||||
thermo 10
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all atom 50 dump.meam
|
||||
|
||||
#dump 2 all image 10 image.*.jpg element element # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 2 pad 3 element Si C
|
||||
|
||||
#dump 3 all movie 10 movie.mpg element element # axes yes 0.8 0.02 view 60 -30
|
||||
#dump_modify 3 pad 3 element Si C
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 1 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.94159
|
||||
ghost atom cutoff = 3.94159
|
||||
binsize = 1.97079, bins = 7 7 7
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair edip/multi, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.686 | 2.686 | 2.686 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -563.61621 0 -563.61621 -726147.34
|
||||
10 4224.3601 -633.24829 0 -563.90103 -312355.55
|
||||
20 4528.5661 -638.15183 0 -563.81071 -20091.291
|
||||
30 4817.3654 -642.92111 0 -563.83905 106625.5
|
||||
40 4619.4324 -639.6884 0 -563.85562 107180.42
|
||||
50 4783.0025 -642.26961 0 -563.75166 75134.335
|
||||
60 4525.145 -638.06177 0 -563.77681 71591.713
|
||||
70 4685.2578 -640.72377 0 -563.8104 63956.042
|
||||
80 4621.8393 -639.75912 0 -563.88682 18177.383
|
||||
90 4834.7702 -643.34582 0 -563.97805 15282.823
|
||||
100 4424.0589 -636.60208 0 -563.97656 47963.501
|
||||
Loop time of 0.020755 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 416.285 ns/day, 0.058 hours/ns, 4818.118 timesteps/s
|
||||
99.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.011816 | 0.013825 | 0.016871 | 1.6 | 66.61
|
||||
Neigh | 0.00061321 | 0.00066817 | 0.00074816 | 0.0 | 3.22
|
||||
Comm | 0.0023363 | 0.0054012 | 0.0075014 | 2.7 | 26.02
|
||||
Output | 0.00020909 | 0.00022268 | 0.00025558 | 0.0 | 1.07
|
||||
Modify | 8.3208e-05 | 9.346e-05 | 0.00010395 | 0.0 | 0.45
|
||||
Other | | 0.0005446 | | | 2.62
|
||||
|
||||
Nlocal: 32 ave 36 max 25 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
||||
Nghost: 262.75 ave 273 max 255 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 594 ave 687 max 453 min
|
||||
Histogram: 1 0 0 0 0 0 1 1 0 1
|
||||
|
||||
Total # of neighbors = 2376
|
||||
Ave neighs/atom = 18.5625
|
||||
Neighbor list builds = 11
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||