Compare commits
278 Commits
patch_9Nov
...
patch_6Jan
| Author | SHA1 | Date | |
|---|---|---|---|
| 51fa33a407 | |||
| 142770cb2a | |||
| 63f202501b | |||
| 83da5d3b5d | |||
| ebbf60b112 | |||
| 12c4fa25e8 | |||
| 3ac58452de | |||
| 9b348d567b | |||
| 467377094a | |||
| 5656e90b78 | |||
| 41a6a3076e | |||
| d4e8d47387 | |||
| f6a819580c | |||
| 6af56e686d | |||
| eb1c6a225c | |||
| 4d0a6d83bd | |||
| 958722573f | |||
| 9d46670972 | |||
| 1a9f2df3d0 | |||
| 1310438c8b | |||
| 9bf771207d | |||
| b9144d6332 | |||
| 267f05e5ca | |||
| aebc8ea826 | |||
| 53a1de1d40 | |||
| d059b5d334 | |||
| 7cff343680 | |||
| a1ac861084 | |||
| 17bdb57bb4 | |||
| fe14158c10 | |||
| 0bcbcca140 | |||
| 4cfe122ac6 | |||
| b46629ee39 | |||
| 42bbeb3f16 | |||
| 933b288ce9 | |||
| a7c5905ca4 | |||
| 37d5567f6d | |||
| b10d0c17ec | |||
| 4f45d39ac7 | |||
| 7d057d4c83 | |||
| 4f096dbad5 | |||
| 18b12efc9f | |||
| 2c7fea1e0d | |||
| 4d98bbdfa5 | |||
| 391ab761a4 | |||
| b0ebd3ef4e | |||
| 94c4f8fe5f | |||
| aa146e9b38 | |||
| eca9539f84 | |||
| 27172c4a55 | |||
| 4f195254af | |||
| 9a0007a13f | |||
| 994f36bc6f | |||
| b3557bfbf5 | |||
| 371df8ea72 | |||
| 06ae2804f6 | |||
| 68814d4fc8 | |||
| 616ca1de03 | |||
| b0263e87bb | |||
| 925f42727f | |||
| f553e230db | |||
| 6ab716164b | |||
| 7a45c72b97 | |||
| 634eb357d2 | |||
| a1036f2d74 | |||
| c301d70333 | |||
| 781daad2a0 | |||
| 3faa57a413 | |||
| fa435fb514 | |||
| ba96fcc15a | |||
| 304f65b164 | |||
| 4c33f31265 | |||
| ae8d882b03 | |||
| 7559bc9c5f | |||
| 62dea1bb63 | |||
| 800ff43413 | |||
| 9161bd98bf | |||
| f3327ca214 | |||
| 54963ba7da | |||
| ea76041803 | |||
| 7fb4faa439 | |||
| 41c9357dde | |||
| d1a55ad2e0 | |||
| d9a0f575f6 | |||
| 01e3a31639 | |||
| 992becc75f | |||
| 8b5e15e979 | |||
| b2b33cca16 | |||
| 2ceee6b9be | |||
| 386c12c970 | |||
| 590f317550 | |||
| c4e02a5d2b | |||
| c7ac9e79cb | |||
| 2ba424e1a3 | |||
| ca30c1ec88 | |||
| a1b441a71f | |||
| f6f2170369 | |||
| 81a2db8a0c | |||
| 0a176841e7 | |||
| 3027ac9250 | |||
| fc54ab5cea | |||
| e364b80724 | |||
| 830c9e8661 | |||
| 4907b29ad2 | |||
| eff7238ff2 | |||
| 126fb22e93 | |||
| 0a90492c44 | |||
| fed629c23e | |||
| 925481c3f4 | |||
| da2ad5b6e0 | |||
| bfcab72268 | |||
| f509f133af | |||
| 624c57e9da | |||
| f3b355bcbe | |||
| ae5764beac | |||
| fda43c00fd | |||
| b34be30be6 | |||
| 13b6196b82 | |||
| baf55c90f4 | |||
| 770f5d0bf7 | |||
| a31b00965a | |||
| a5e46e3e6a | |||
| 31be0da590 | |||
| 0f3b2544a1 | |||
| 586514e05c | |||
| 43c459ba56 | |||
| b5c3d2f66c | |||
| 5187cb97e5 | |||
| eff503e56c | |||
| cdcebab3bd | |||
| ddf678da51 | |||
| 435421301b | |||
| 9b48c49f83 | |||
| d3d5ac17bf | |||
| 8318c67816 | |||
| 7c61dbf5e2 | |||
| 39a12b15d7 | |||
| fb3f597f41 | |||
| d14814ae2e | |||
| beb5a30f67 | |||
| 7ddb6670c0 | |||
| 789e62388f | |||
| 7d098bff90 | |||
| 1d970d3cdf | |||
| 42d430168b | |||
| 5ff5bc2a6c | |||
| 02ae2d218a | |||
| 470908fc93 | |||
| 6759630c16 | |||
| 87781771ba | |||
| df46b9aa38 | |||
| 647c6f00ce | |||
| 237307eda2 | |||
| d58dd4f159 | |||
| ae70f1090f | |||
| 59d100ab57 | |||
| 61e71d23ed | |||
| b6f2f0e6e9 | |||
| ff0441ac16 | |||
| 41907d3110 | |||
| b95f255af4 | |||
| d7b542101a | |||
| 0ffa50f8e8 | |||
| 7893215964 | |||
| 3dff9f2018 | |||
| dab232c542 | |||
| 9e9d9d5aa5 | |||
| c982b174a2 | |||
| 87a5a35bad | |||
| fd174ce2b1 | |||
| b11f376a4f | |||
| 230b29eae6 | |||
| 2383c31f15 | |||
| e175a18bdb | |||
| a5bde82e37 | |||
| d787afcca9 | |||
| 176cde8ed3 | |||
| 2862c20815 | |||
| 78e018829f | |||
| c78914e7b3 | |||
| 635f3ce128 | |||
| 81f68e06fd | |||
| 4b51719e67 | |||
| 25d7be5f3d | |||
| 2a026c9ad8 | |||
| 4a3091f844 | |||
| 74c0e4dd5c | |||
| 073e8a0524 | |||
| 5320bbf585 | |||
| 4448819824 | |||
| 300ac30332 | |||
| 2535e44991 | |||
| 747c95c525 | |||
| cdae794383 | |||
| 8756a1017d | |||
| 5c64934bc8 | |||
| 4e62e58d29 | |||
| 5ac2d9532e | |||
| 19ac9d2959 | |||
| 9f313aac75 | |||
| 0102c5dadc | |||
| 07e46b797a | |||
| b45d1e37ef | |||
| 2e7fd513d4 | |||
| 82364d10e3 | |||
| 16c8a307e5 | |||
| 94f14ab051 | |||
| 22d93fe8fb | |||
| 683f514fac | |||
| f617993944 | |||
| 4641c9e568 | |||
| 705f66aaee | |||
| e57ae1ce3f | |||
| 950442b8b1 | |||
| 1c68e42ecc | |||
| 5f94b31806 | |||
| fdf5d68f9f | |||
| 0c25f3b1d6 | |||
| 14c7cf4197 | |||
| 26870f223d | |||
| 09544d0698 | |||
| b5130a3b35 | |||
| 20daf82463 | |||
| 57124b9b25 | |||
| 03b3834fe3 | |||
| d0124eac95 | |||
| 5685131fe2 | |||
| 22fc92f9d8 | |||
| b9770766a8 | |||
| 9cc0c8badd | |||
| 6e1492a86c | |||
| 9b0987d8c4 | |||
| e453adaf81 | |||
| 8e0fd88697 | |||
| fdcabd7d1d | |||
| c5c8c50e97 | |||
| 72b0841b28 | |||
| 801111a7ab | |||
| bfc478c320 | |||
| 2b75ee761d | |||
| 352e177fcd | |||
| c20ee34c7b | |||
| 95a7f7160e | |||
| 1f38e1a771 | |||
| fec87c070d | |||
| 3d3a99c082 | |||
| 3e36ec3754 | |||
| 9ed5c4f0fa | |||
| c55fd502e0 | |||
| 71ee2ecaa1 | |||
| d20b32092e | |||
| 3a3d96b877 | |||
| f333d659c2 | |||
| 51e2313fac | |||
| e37d2b5c94 | |||
| 3870780894 | |||
| 21619f6a2f | |||
| 039bda9b61 | |||
| 6929603eef | |||
| 114926a488 | |||
| 5eb9dd0c5d | |||
| ebabc8f0bc | |||
| 232abf8534 | |||
| d22caf2658 | |||
| 3842aa6095 | |||
| 32c240978a | |||
| 212c2617f6 | |||
| 40f85c93ba | |||
| 2f02d98469 | |||
| 4553881fc2 | |||
| 81fcbcd99c | |||
| 82c6eb4675 | |||
| 8ed3f4226e | |||
| 9b7a0d7e1c | |||
| c9c2ae6c61 | |||
| 0229556b03 | |||
| 357d4517e8 | |||
| a4a97de84f |
@ -43,7 +43,7 @@ clean-all:
|
||||
rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe
|
||||
|
||||
clean:
|
||||
rm -rf $(RSTDIR)
|
||||
rm -rf $(RSTDIR) html
|
||||
|
||||
html: $(OBJECTS)
|
||||
@(\
|
||||
|
||||
BIN
doc/src/Eqs/fix_grem.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
9
doc/src/Eqs/fix_grem.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
T_{eff} = \lambda + \eta (H - H_0)
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_agni.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/src/Eqs/pair_tersoff_mod_c.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
10
doc/src/Eqs/pair_tersoff_mod_c.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right]
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.2 KiB |
@ -3,7 +3,7 @@
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N} r_i \bullet f_i}{dV}
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5.3 KiB |
@ -4,7 +4,7 @@
|
||||
|
||||
$$
|
||||
P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} +
|
||||
\frac{\sum_{k}^{N} r_{k_I} f_{k_J}}{V}
|
||||
\frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
doc/src/JPG/pylammps_dihedral.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
doc/src/JPG/pylammps_mc_disordered.jpg
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
doc/src/JPG/pylammps_mc_energies_plot.jpg
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
doc/src/JPG/pylammps_mc_minimum.jpg
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
doc/src/JPG/tutorial_additional_changes.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
doc/src/JPG/tutorial_automated_checks.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
doc/src/JPG/tutorial_automated_checks_passed.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 16 KiB |
BIN
doc/src/JPG/tutorial_changes_others.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
doc/src/JPG/tutorial_create_new_pull_request1.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
doc/src/JPG/tutorial_create_new_pull_request2.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
doc/src/JPG/tutorial_edits_maintainers.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 70 KiB |
BIN
doc/src/JPG/tutorial_new_pull_request.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request2.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request3.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request4.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request5.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request6.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
doc/src/JPG/tutorial_steve_assignee.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="9 Nov 2016 version">
|
||||
<META NAME="docnumber" CONTENT="6 Jan 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
|
||||
9 Nov 2016 version :c,h4
|
||||
6 Jan 2017 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
|
||||
@ -531,7 +531,8 @@ package"_Section_start.html#start_3.
|
||||
"dump nc"_dump_nc.html,
|
||||
"dump nc/mpiio"_dump_nc.html,
|
||||
"group2ndx"_group2ndx.html,
|
||||
"ndx2group"_group2ndx.html :tb(c=3,ea=c)
|
||||
"ndx2group"_group2ndx.html,
|
||||
"temper/grem"_temper_grem.html :tb(c=3,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -580,7 +581,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"indent"_fix_indent.html,
|
||||
"langevin (k)"_fix_langevin.html,
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"momentum"_fix_momentum.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
"msst"_fix_msst.html,
|
||||
"neb"_fix_neb.html,
|
||||
@ -632,10 +633,10 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"rigid/nve (o)"_fix_rigid.html,
|
||||
"rigid/nvt (o)"_fix_rigid.html,
|
||||
"rigid/small (o)"_fix_rigid.html,
|
||||
"rigid/small/nph"_fix_rigid.html,
|
||||
"rigid/small/npt"_fix_rigid.html,
|
||||
"rigid/small/nve"_fix_rigid.html,
|
||||
"rigid/small/nvt"_fix_rigid.html,
|
||||
"rigid/small/nph (o)"_fix_rigid.html,
|
||||
"rigid/small/npt (o)"_fix_rigid.html,
|
||||
"rigid/small/nve (o)"_fix_rigid.html,
|
||||
"rigid/small/nvt (o)"_fix_rigid.html,
|
||||
"setforce (k)"_fix_setforce.html,
|
||||
"shake"_fix_shake.html,
|
||||
"spring"_fix_spring.html,
|
||||
@ -687,6 +688,7 @@ package"_Section_start.html#start_3.
|
||||
"eos/table/rx"_fix_eos_table_rx.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"gle"_fix_gle.html,
|
||||
"grem"_fix_grem.html,
|
||||
"imd"_fix_imd.html,
|
||||
"ipi"_fix_ipi.html,
|
||||
"langevin/drude"_fix_langevin_drude.html,
|
||||
@ -700,6 +702,7 @@ package"_Section_start.html#start_3.
|
||||
"manifoldforce"_fix_manifoldforce.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
||||
"nvk"_fix_nvk.html,
|
||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
|
||||
"nph/eff"_fix_nh_eff.html,
|
||||
"npt/eff"_fix_nh_eff.html,
|
||||
@ -765,6 +768,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"erotate/sphere"_compute_erotate_sphere.html,
|
||||
"erotate/sphere/atom"_compute_erotate_sphere_atom.html,
|
||||
"event/displace"_compute_event_displace.html,
|
||||
"global/atom"_compute_global_atom.html,
|
||||
"group/group"_compute_group_group.html,
|
||||
"gyration"_compute_gyration.html,
|
||||
"gyration/chunk"_compute_gyration_chunk.html,
|
||||
@ -911,8 +915,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"coul/msm"_pair_coul.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
"coul/wolf (ko)"_pair_coul.html,
|
||||
"dpd (o)"_pair_dpd.html,
|
||||
"dpd/tstat (o)"_pair_dpd.html,
|
||||
"dpd (go)"_pair_dpd.html,
|
||||
"dpd/tstat (go)"_pair_dpd.html,
|
||||
"dsmc"_pair_dsmc.html,
|
||||
"eam (gkot)"_pair_eam.html,
|
||||
"eam/alloy (gkot)"_pair_eam.html,
|
||||
@ -981,11 +985,12 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"table (gko)"_pair_table.html,
|
||||
"tersoff (gkio)"_pair_tersoff.html,
|
||||
"tersoff/mod (gko)"_pair_tersoff_mod.html,
|
||||
"tersoff/mod/c (o)"_pair_tersoff_mod.html,
|
||||
"tersoff/zbl (gko)"_pair_tersoff_zbl.html,
|
||||
"tip4p/cut (o)"_pair_coul.html,
|
||||
"tip4p/long (o)"_pair_coul.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"vashishta (o)"_pair_vashishta.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (go)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
@ -995,6 +1000,7 @@ These are additional pair styles in USER packages, which can be used
|
||||
if "LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"agni (o)"_pair_agni.html,
|
||||
"awpmd/cut"_pair_awpmd.html,
|
||||
"buck/mdf"_pair_mdf.html,
|
||||
"coul/cut/soft (o)"_pair_lj_soft.html,
|
||||
|
||||
@ -1936,18 +1936,22 @@ documentation in the src/library.cpp file for details, including
|
||||
which quantities can be queried by name:
|
||||
|
||||
void *lammps_extract_global(void *, char *)
|
||||
void lammps_extract_box(void *, double *, double *,
|
||||
double *, double *, double *, int *, int *)
|
||||
void *lammps_extract_atom(void *, char *)
|
||||
void *lammps_extract_compute(void *, char *, int, int)
|
||||
void *lammps_extract_fix(void *, char *, int, int, int, int)
|
||||
void *lammps_extract_variable(void *, char *, char *) :pre
|
||||
|
||||
int lammps_set_variable(void *, char *, char *)
|
||||
double lammps_get_thermo(void *, char *) :pre
|
||||
void lammps_reset_box(void *, double *, double *, double, double, double)
|
||||
int lammps_set_variable(void *, char *, char *) :pre
|
||||
|
||||
double lammps_get_thermo(void *, char *)
|
||||
int lammps_get_natoms(void *)
|
||||
void lammps_gather_atoms(void *, double *)
|
||||
void lammps_scatter_atoms(void *, double *) :pre
|
||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *) :pre
|
||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
||||
imageint *, int) :pre
|
||||
|
||||
The extract functions return a pointer to various global or per-atom
|
||||
quantities stored in LAMMPS or to values calculated by a compute, fix,
|
||||
@ -1957,10 +1961,16 @@ the other extract functions, the underlying storage may be reallocated
|
||||
as LAMMPS runs, so you need to re-call the function to assure a
|
||||
current pointer or returned value(s).
|
||||
|
||||
The lammps_reset_box() function resets the size and shape of the
|
||||
simulation box, e.g. as part of restoring a previously extracted and
|
||||
saved state of a simulation.
|
||||
|
||||
The lammps_set_variable() function can set an existing string-style
|
||||
variable to a new string value, so that subsequent LAMMPS commands can
|
||||
access the variable. The lammps_get_thermo() function returns the
|
||||
current value of a thermo keyword as a double.
|
||||
access the variable.
|
||||
|
||||
The lammps_get_thermo() function returns the current value of a thermo
|
||||
keyword as a double precision value.
|
||||
|
||||
The lammps_get_natoms() function returns the total number of atoms in
|
||||
the system and can be used by the caller to allocate space for the
|
||||
@ -1973,10 +1983,13 @@ passed by the caller, to each atom owned by individual processors.
|
||||
|
||||
The lammps_create_atoms() function takes a list of N atoms as input
|
||||
with atom types and coords (required), an optionally atom IDs and
|
||||
velocities. It uses the coords of each atom to assign it as a new
|
||||
atom to the processor that owns it. Additional properties for the new
|
||||
atoms can be assigned via the lammps_scatter_atoms() or
|
||||
lammps_extract_atom() functions.
|
||||
velocities and image flags. It uses the coords of each atom to assign
|
||||
it as a new atom to the processor that owns it. This function is
|
||||
useful to add atoms to a simulation or (in tandem with
|
||||
lammps_reset_box()) to restore a previously extracted and saved state
|
||||
of a simulation. Additional properties for the new atoms can then be
|
||||
assigned via the lammps_scatter_atoms() or lammps_extract_atom()
|
||||
functions.
|
||||
|
||||
The examples/COUPLE and python directories have example C++ and C and
|
||||
Python codes which show how a driver code can link to LAMMPS as a
|
||||
|
||||
@ -8,19 +8,26 @@
|
||||
|
||||
11. Python interface to LAMMPS :h3
|
||||
|
||||
LAMMPS can work together with Python in two ways. First, Python can
|
||||
LAMMPS can work together with Python in three ways. First, Python can
|
||||
wrap LAMMPS through the "LAMMPS library
|
||||
interface"_Section_howto.html#howto_19, so that a Python script can
|
||||
create one or more instances of LAMMPS and launch one or more
|
||||
simulations. In Python lingo, this is "extending" Python with LAMMPS.
|
||||
|
||||
Second, LAMMPS can use the Python interpreter, so that a LAMMPS input
|
||||
Second, the low-level Python interface can be used indirectly through the
|
||||
PyLammps and IPyLammps wrapper classes in Python. These wrappers try to
|
||||
simplify the usage of LAMMPS in Python by providing an object-based interface
|
||||
to common LAMMPS functionality. It also reduces the amount of code necessary to
|
||||
parameterize LAMMPS scripts through Python and makes variables and computes
|
||||
directly accessible. See "PyLammps interface"_#py_9 for more details.
|
||||
|
||||
Third, LAMMPS can use the Python interpreter, so that a LAMMPS input
|
||||
script can invoke Python code, and pass information back-and-forth
|
||||
between the input script and Python functions you write. The Python
|
||||
code can also callback to LAMMPS to query or change its attributes.
|
||||
In Python lingo, this is "embedding" Python in LAMMPS.
|
||||
|
||||
This section describes how to do both.
|
||||
This section describes how to use these three approaches.
|
||||
|
||||
11.1 "Overview of running LAMMPS from Python"_#py_1
|
||||
11.2 "Overview of using Python from a LAMMPS script"_#py_2
|
||||
@ -29,7 +36,8 @@ This section describes how to do both.
|
||||
11.5 "Extending Python with MPI to run in parallel"_#py_5
|
||||
11.6 "Testing the Python-LAMMPS interface"_#py_6
|
||||
11.7 "Using LAMMPS from Python"_#py_7
|
||||
11.8 "Example Python scripts that use LAMMPS"_#py_8 :ul
|
||||
11.8 "Example Python scripts that use LAMMPS"_#py_8
|
||||
11.9 "PyLammps interface"_#py_9 :ul
|
||||
|
||||
If you are not familiar with it, "Python"_http://www.python.org is a
|
||||
powerful scripting and programming language which can essentially do
|
||||
@ -824,3 +832,7 @@ different visualization package options. Click to see larger images:
|
||||
:image(JPG/screenshot_atomeye_small.jpg,JPG/screenshot_atomeye.jpg)
|
||||
:image(JPG/screenshot_pymol_small.jpg,JPG/screenshot_pymol.jpg)
|
||||
:image(JPG/screenshot_vmd_small.jpg,JPG/screenshot_vmd.jpg)
|
||||
|
||||
11.9 PyLammps interface :link(py_9),h4
|
||||
|
||||
Please see the "PyLammps Tutorial"_tutorial_pylammps.html.
|
||||
|
||||
@ -51,12 +51,12 @@ relative to the center of mass (COM) velocity of the 2 atoms in the
|
||||
bond.
|
||||
|
||||
The value {engvib} is the vibrational kinetic energy of the two atoms
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
|
||||
v2 are the magnitude of the velocity of the 2 atoms along the bond
|
||||
direction, after the COM velocity has been subtracted from each.
|
||||
|
||||
The value {engrot} is the rotationsl kinetic energy of the two atoms
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
|
||||
v2 are the magnitude of the velocity of the 2 atoms perpendicular to
|
||||
the bond direction, after the COM velocity has been subtracted from
|
||||
each.
|
||||
@ -67,7 +67,7 @@ Vcm^2 where Vcm = magnitude of the velocity of the COM.
|
||||
|
||||
Note that these 3 kinetic energy terms are simply a partitioning of
|
||||
the summed kinetic energy of the 2 atoms themselves. I.e. total KE =
|
||||
1/2 m1 v1^2 + 1/2 m2 v3^2 = engvib + engrot + engtrans, where v1,v2
|
||||
1/2 m1 v1^2 + 1/2 m2 v2^2 = engvib + engrot + engtrans, where v1,v2
|
||||
are the magnitude of the velocities of the 2 atoms, without any
|
||||
adjustment for the COM velocity.
|
||||
|
||||
|
||||
@ -641,7 +641,8 @@ the restarted simulation begins.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix ave/chunk"_fix_ave_chunk.html
|
||||
"fix ave/chunk"_fix_ave_chunk.html,
|
||||
"compute global/atom"_compute_global_atom.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (i.e. 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 of a
|
||||
{clsuter/atom} style.
|
||||
{cluster/atom} style.
|
||||
|
||||
NOTE: If you have a bonded system, then the settings of
|
||||
"special_bonds"_special_bonds.html command can remove pairwise
|
||||
|
||||
220
doc/src/compute_global_atom.txt
Normal file
@ -0,0 +1,220 @@
|
||||
"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 global/atom command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID style index input1 input2 ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
global/atom = style name of this compute command :l
|
||||
index = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
|
||||
c_ID = per-atom vector calculated by a compute with ID
|
||||
c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID
|
||||
f_ID = per-atom vector calculated by a fix with ID
|
||||
f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID
|
||||
v_name = per-atom vector calculated by an atom-style variable with name :pre
|
||||
one or more inputs can be listed :l
|
||||
input = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
|
||||
c_ID = global vector calculated by a compute with ID
|
||||
c_ID\[I\] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below)
|
||||
f_ID = global vector calculated by a fix with ID
|
||||
f_ID\[I\] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below)
|
||||
v_name = global vector calculated by a vector-style variable with name :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all global/atom c_chunk c_com\[1\\] c_com\[2\\] c_com\[3\\]
|
||||
compute 1 all global/atom c_chunk c_com\[*\\] :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a calculation that assigns global values to each atom from
|
||||
vectors or arrays of global values. The specified {index} parameter
|
||||
is used to determine which global value is assigned to each atom.
|
||||
|
||||
The {index} parameter must reference a per-atom vector or array from a
|
||||
"compute"_compute.html or "fix"_fix.html or the evaluation of an
|
||||
atom-style "variable"_variable.html. Each {input} value must
|
||||
reference a global vector or array from a "compute"_compute.html or
|
||||
"fix"_fix.html or the evaluation of an vector-style
|
||||
"variable"_variable.html. Details are given below.
|
||||
|
||||
The {index} value for an atom is used as a index I (from 1 to N) into
|
||||
the vector associated with each of the input values. The Ith value
|
||||
from the input vector becomes one output value for that atom. If the
|
||||
atom is not in the specified group, or the index I < 1 or I > M, where
|
||||
M is the actual length of the input vector, then an output value of
|
||||
0.0 is assigned to the atom.
|
||||
|
||||
An example of how this command is useful, is in the context of
|
||||
"chunks" which are static or dyanmic subsets of atoms. The "compute
|
||||
chunk/atom"_compute_chunk_atom.html command assigns unique chunk IDs
|
||||
to each atom. It's output can be used as the {index} parameter for
|
||||
this command. Various other computes with "chunk" in their style
|
||||
name, such as "compute com/chunk"_compute_com_chunk.html or "compute
|
||||
msd/chunk"_compute_msd_chunk.html, calculate properties for each
|
||||
chunk. The output of these commands are global vectors or arrays,
|
||||
with one or more values per chunk, and can be used as input values for
|
||||
this command. This command will then assign the global chunk value to
|
||||
each atom in the chunk, producing a per-atom vector or per-atom array
|
||||
as output. The per-atom values can then be output to a dump file or
|
||||
used by any command that uses per-atom values from a compute as input,
|
||||
as discussed in "Section 6.15"_Section_howto.html#howto_15.
|
||||
|
||||
As a concrete example, these commands will calculate the displacement
|
||||
of each atom from the center-of-mass of the molecule it is in, and
|
||||
dump those values to a dump file. In this case, each molecule is a
|
||||
chunk.
|
||||
|
||||
compute cc1 all chunk/atom molecule
|
||||
compute myChunk all com/chunk cc1
|
||||
compute prop all property/atom xu yu zu
|
||||
compute glob all global/atom c_cc1 c_myChunk\[*\]
|
||||
variable dx atom c_prop\[1\]-c_glob\[1\]
|
||||
variable dy atom c_prop\[2\]-c_glob\[2\]
|
||||
variable dz atom c_prop\[3\]-c_glob\[3\]
|
||||
variable dist atom sqrt(v_dx*v_dx+v_dy*v_dy+v_dz*v_dz)
|
||||
dump 1 all custom 100 tmp.dump id xu yu zu c_glob\[1\] c_glob\[2\] c_glob\[3\] &
|
||||
v_dx v_dy v_dz v_dist
|
||||
dump_modify 1 sort id :pre
|
||||
|
||||
You can add these commands to the bench/in.chain script to see how
|
||||
they work.
|
||||
|
||||
:line
|
||||
|
||||
Note that for input values from a compute or fix, the bracketed index
|
||||
I can be specified using a wildcard asterisk with the index to
|
||||
effectively specify multiple values. This takes the form "*" or "*n"
|
||||
or "n*" or "m*n". If N = the size of the vector (for {mode} = scalar)
|
||||
or the number of columns in the array (for {mode} = vector), then an
|
||||
asterisk with no numeric values means all indices from 1 to N. A
|
||||
leading asterisk means all indices from 1 to n (inclusive). A
|
||||
trailing asterisk means all indices from n to N (inclusive). A middle
|
||||
asterisk means all indices from m to n (inclusive).
|
||||
|
||||
Using a wildcard is the same as if the individual columns of the array
|
||||
had been listed one by one. E.g. these 2 compute global/atom commands
|
||||
are equivalent, since the "compute com/chunk"_compute_com_chunk.html
|
||||
command creates a global array with 3 columns:
|
||||
|
||||
compute cc1 all chunk/atom molecule
|
||||
compute com all com/chunk cc1
|
||||
compute 1 all global/atom c_cc1 c_com\[1\] c_com\[2\] c_com\[3\]
|
||||
compute 1 all global/atom c_cc1 c_com\[*\] :pre
|
||||
|
||||
:line
|
||||
|
||||
This section explains the {index} parameter. Note that it must
|
||||
reference per-atom values, as contrasted with the {input} values which
|
||||
must reference global values.
|
||||
|
||||
Note that all of these options generate floating point values. When
|
||||
they are used as an index into the specified input vectors, they
|
||||
simple rounded down to convert the value to integer indices. The
|
||||
final values should range from 1 to N (inclusive), since they are used
|
||||
to access values from N-length vectors.
|
||||
|
||||
If {index} begins with "c_", a compute ID must follow which has been
|
||||
previously defined in the input script. The compute must generate
|
||||
per-atom quantities. See the individual "compute"_compute.html doc
|
||||
page for details. If no bracketed integer is appended, the per-atom
|
||||
vector calculated by the compute is used. If a bracketed integer is
|
||||
appended, the Ith column of the per-atom array calculated by the
|
||||
compute is used. Users can also write code for their own compute
|
||||
styles and "add them to LAMMPS"_Section_modify.html. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
If {index} begins with "f_", a fix ID must follow which has been
|
||||
previously defined in the input script. The Fix must generate
|
||||
per-atom quantities. See the individual "fix"_fix.html doc page for
|
||||
details. Note that some fixes only produce their values on certain
|
||||
timesteps, which must be compatible with when compute global/atom
|
||||
references the values, else an error results. If no bracketed integer
|
||||
is appended, the per-atom vector calculated by the fix is used. If a
|
||||
bracketed integer is appended, the Ith column of the per-atom array
|
||||
calculated by the fix is used. Users can also write code for their
|
||||
own fix style and "add them to LAMMPS"_Section_modify.html. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
If {index} begins with "v_", a variable name must follow which has
|
||||
been previously defined in the input script. It must be an
|
||||
"atom-style variable"_variable.html. Atom-style variables can
|
||||
reference thermodynamic keywords and various per-atom attributes, or
|
||||
invoke other computes, fixes, or variables when they are evaluated, so
|
||||
this is a very general means of generating per-atom quantities to use
|
||||
as {index}.
|
||||
|
||||
:line
|
||||
|
||||
This section explains the kinds of {input} values that can be used.
|
||||
Note that inputs reference global values, as contrasted with the
|
||||
{index} parameter which must reference per-atom values.
|
||||
|
||||
If a value begins with "c_", a compute ID must follow which has been
|
||||
previously defined in the input script. The compute must generate a
|
||||
global vector or array. See the individual "compute"_compute.html doc
|
||||
page for details. If no bracketed integer is appended, the vector
|
||||
calculated by the compute is used. If a bracketed integer is
|
||||
appended, the Ith column of the array calculated by the compute is
|
||||
used. Users can also write code for their own compute styles and "add
|
||||
them to LAMMPS"_Section_modify.html. See the discussion above for how
|
||||
I can be specified with a wildcard asterisk to effectively specify
|
||||
multiple values.
|
||||
|
||||
If a value begins with "f_", a fix ID must follow which has been
|
||||
previously defined in the input script. The fix must generate a
|
||||
global vector or array. See the individual "fix"_fix.html doc page
|
||||
for details. Note that some fixes only produce their values on
|
||||
certain timesteps, which must be compatible with when compute
|
||||
global/atom references the values, else an error results. If no
|
||||
bracketed integer is appended, the vector calculated by the fix is
|
||||
used. If a bracketed integer is appended, the Ith column of the array
|
||||
calculated by the fix is used. Users can also write code for their
|
||||
own fix style and "add them to LAMMPS"_Section_modify.html. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
If a value begins with "v_", a variable name must follow which has
|
||||
been previously defined in the input script. It must be a
|
||||
"vector-style variable"_variable.html. Vector-style variables can
|
||||
reference thermodynamic keywords and various other attributes of
|
||||
atoms, or invoke other computes, fixes, or variables when they are
|
||||
evaluated, so this is a very general means of generating a vector of
|
||||
global quantities which the {index} parameter will reference for
|
||||
assignement of global values to atoms.
|
||||
|
||||
:line
|
||||
|
||||
[Output info:]
|
||||
|
||||
If a single input is specified this compute produces a per-atom
|
||||
vector. If multiple inputs are specified, this compute produces a
|
||||
per-atom array values, where the number of columns is equal to the
|
||||
number of inputs specified. These values can be used by any command
|
||||
that uses per-atom vector or array 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 or array values will be in whatever units the
|
||||
corresponsing input values are in.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute"_compute.html, "fix"_fix.html, "variable"_variable.html,
|
||||
"compute chunk/atom"_compute_chunk_atom.html, "compute
|
||||
reduce"_compute_reduce.html
|
||||
|
||||
[Default:] none
|
||||
@ -37,12 +37,18 @@ The pressure is computed by the formula
|
||||
|
||||
where N is the number of atoms in the system (see discussion of DOF
|
||||
below), Kb is the Boltzmann constant, T is the temperature, d is the
|
||||
dimensionality of the system (2 or 3 for 2d/3d), V is the system
|
||||
volume (or area in 2d), and the second term is the virial, computed
|
||||
within LAMMPS for all pairwise as well as 2-body, 3-body, and 4-body,
|
||||
and long-range interactions. "Fixes"_fix.html that impose constraints
|
||||
(e.g. the "fix shake"_fix_shake.html command) also contribute to the
|
||||
virial term.
|
||||
dimensionality of the system (2 or 3 for 2d/3d), and V is the system
|
||||
volume (or area in 2d). The second term is the virial, equal to
|
||||
-dU/dV, computed for all pairwise as well as 2-body, 3-body, 4-body,
|
||||
manybody, and long-range interactions, where r_i and f_i are the
|
||||
position and force vector of atom i, and the black dot indicates a dot
|
||||
product. When periodic boundary conditions are used, N' necessarily
|
||||
includes periodic image (ghost) atoms outside the central box, and the
|
||||
position and force vectors of ghost atoms are thus included in the
|
||||
summation. When periodic boundary conditions are not used, N' = N =
|
||||
the number of atoms in the system. "Fixes"_fix.html that impose
|
||||
constraints (e.g. the "fix shake"_fix_shake.html command) also
|
||||
contribute to the virial term.
|
||||
|
||||
A symmetric pressure tensor, stored as a 6-element vector, is also
|
||||
calculated by this compute. The 6 components of the vector are
|
||||
@ -62,8 +68,9 @@ compute temperature or ke and/or the virial. The {virial} keyword
|
||||
means include all terms except the kinetic energy {ke}.
|
||||
|
||||
Details of how LAMMPS computes the virial efficiently for the entire
|
||||
system, including the effects of periodic boundary conditions is
|
||||
discussed in "(Thompson)"_#Thompson.
|
||||
system, including for manybody potentials and accounting for the
|
||||
effects of periodic boundary conditions are discussed in
|
||||
"(Thompson)"_#Thompson.
|
||||
|
||||
The temperature and kinetic energy tensor is not calculated by this
|
||||
compute, but rather by the temperature compute specified with the
|
||||
|
||||
@ -27,7 +27,7 @@ contact radius is used only to prevent particles belonging to
|
||||
different physical bodies from penetrating each other. It is used by
|
||||
the contact pair styles, e.g., smd/hertz and smd/tri_surface.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
The value of the contact radius will be 0.0 for particles not in the
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/damage :pre
|
||||
Define a computation that calculates the damage status of SPH particles
|
||||
according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output Info:]
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ configuration. This compute is only really useful for debugging the
|
||||
hourglass control mechanim which is part of the Total-Lagrangian SPH
|
||||
pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output Info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/internal/energy :pre
|
||||
Define a computation which outputs the per-particle enthalpy, i.e.,
|
||||
the sum of potential energy and heat.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output Info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that outputs the equivalent plastic strain per
|
||||
particle. This command is only meaningful if a material model with
|
||||
plasticity is defined.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output Info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that outputs the time rate of the equivalent
|
||||
plastic strain. This command is only meaningful if a material model
|
||||
with plasticity is defined.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output Info:]
|
||||
|
||||
@ -26,7 +26,7 @@ The mass density is the mass of a particle which is constant during
|
||||
the course of a simulation, divided by its volume, which can change
|
||||
due to mechanical deformation.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the deformation gradient. It is
|
||||
only meaningful for particles which interact according to the
|
||||
Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -30,7 +30,7 @@ time step. This calculation is performed automatically in the
|
||||
relevant SPH pair styles and this compute only serves to make the
|
||||
stable time increment accessible for output purposes.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the number of particles inside of
|
||||
the smoothing kernel radius for particles interacting via the
|
||||
Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -26,7 +26,7 @@ associated with a particle as a rotated ellipsoid. It is only
|
||||
meaningful for particles which interact according to the
|
||||
Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/tlsph/strain :pre
|
||||
Define a computation that calculates the Green-Lagrange strain tensor
|
||||
for particles interacting via the Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/tlsph/strain/rate :pre
|
||||
Define a computation that calculates the rate of the strain tensor for
|
||||
particles interacting via the Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/tlsph/stress :pre
|
||||
Define a computation that outputs the Cauchy stress tensor for
|
||||
particles interacting via the Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that returns the coordinates of the vertices
|
||||
corresponding to the triangle-elements of a mesh created by the "fix
|
||||
smd/wall_surface"_fix_smd_wall_surface.html.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that returns the number of neighbor particles
|
||||
inside of the smoothing kernel radius for particles interacting via
|
||||
the updated Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/ulsph/strain :pre
|
||||
Define a computation that outputs the logarithmic strain tensor. for
|
||||
particles interacting via the updated Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that outputs the rate of the logarithmic strain
|
||||
tensor for particles interacting via the updated Lagrangian SPH pair
|
||||
style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -23,7 +23,7 @@ compute 1 all smd/ulsph/stress :pre
|
||||
|
||||
Define a computation that outputs the Cauchy stress tensor.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -24,7 +24,7 @@ compute 1 all smd/vol :pre
|
||||
Define a computation that provides the per-particle volume and the sum
|
||||
of the per-particle volumes of the group for which the fix is defined.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -31,21 +31,19 @@ fix abf all colvars colvars.inp tstat 1 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix interfaces LAMMPS to a "collective variables" or "colvars"
|
||||
module library which allows to calculate potentials of mean force
|
||||
This fix interfaces LAMMPS to the collective variables "Colvars"
|
||||
library, which allows to calculate potentials of mean force
|
||||
(PMFs) for any set of colvars, using different sampling methods:
|
||||
currently implemented are the Adaptive Biasing Force (ABF) method,
|
||||
metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling
|
||||
(US) via a flexible harmonic restraint bias. The colvars library is
|
||||
hosted at "http://colvars.github.io/"_http://colvars.github.io/
|
||||
(US) via a flexible harmonic restraint bias.
|
||||
|
||||
This documentation describes only the fix colvars command itself and
|
||||
LAMMPS specific parts of the code. The full documentation of the
|
||||
colvars library is available as "this supplementary PDF document"_PDF/colvars-refman-lammps.pdf
|
||||
|
||||
A detailed discussion of the implementation of the portable collective
|
||||
variable library is in "(Fiorin)"_#Fiorin. Additional information can
|
||||
be found in "(Henin)"_#Henin.
|
||||
The Colvars library is developed at "https://github.com/colvars/colvars"_https://github.com/colvars/colvars
|
||||
A detailed discussion of its implementation is in "(Fiorin)"_#Fiorin.
|
||||
|
||||
There are some example scripts for using this package with LAMMPS in the
|
||||
examples/USER/colvars directory.
|
||||
@ -129,8 +127,3 @@ and tstat = NULL.
|
||||
|
||||
:link(Fiorin)
|
||||
[(Fiorin)] Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594
|
||||
|
||||
:link(Henin)
|
||||
[(Henin)] Henin, Fiorin, Chipot, Klein, J. Chem. Theory Comput., 6,
|
||||
35-47 (2010)
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ fix eos/table/rx command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID eos/table/rx style file1 N keyword file2 :pre
|
||||
fix ID group-ID eos/table/rx style file1 N keyword ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
eos/table/rx = style name of this fix command
|
||||
@ -18,11 +18,16 @@ style = {linear} = method of interpolation
|
||||
file1 = filename containing the tabulated equation of state
|
||||
N = use N values in {linear} tables
|
||||
keyword = name of table keyword correponding to table file
|
||||
file2 = filename containing the heats of formation of each species :ul
|
||||
file2 = filename containing the heats of formation of each species (optional)
|
||||
deltaHf = heat of formation for a single species in energy units (optional)
|
||||
energyCorr = energy correction in energy units (optional)
|
||||
tempCorrCoeff = temperature correction coefficient (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all eos/table/rx linear eos.table 10000 KEYWORD thermo.table :pre
|
||||
fix 1 all eos/table/rx linear eos.table 10000 KEYWORD thermo.table
|
||||
fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5
|
||||
fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5 0.025 0.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -39,7 +44,15 @@ where {m} is the number of species, {c_i,j} is the concentration of
|
||||
species {j} in particle {i}, {u_j} is the internal energy of species j,
|
||||
{DeltaH_f,j} is the heat of formation of species {j}, N is the number of
|
||||
molecules represented by the coarse-grained particle, kb is the
|
||||
Boltzmann constant, and T is the temperature of the system.
|
||||
Boltzmann constant, and T is the temperature of the system. Additionally,
|
||||
it is possible to modify the concentration-dependent particle internal
|
||||
energy relation by adding an energy correction, temperature-dependent
|
||||
correction, and/or a molecule-dependent correction. An energy correction can
|
||||
be specified as a constant (in energy units). A temperature correction can be
|
||||
specified by multiplying a temperature correction coefficient by the
|
||||
internal temperature. A molecular correction can be specified by
|
||||
by multiplying a molecule correction coefficient by the average number of
|
||||
product gas particles in the coarse-grain particle.
|
||||
|
||||
Fix {eos/table/rx} creates interpolation tables of length {N} from {m}
|
||||
internal energy values of each species {u_j} listed in a file as a
|
||||
@ -58,6 +71,14 @@ file is described below.
|
||||
The second filename specifies a file containing heat of formation
|
||||
{DeltaH_f,j} for each species.
|
||||
|
||||
In cases where the coarse-grain particle represents a single molecular
|
||||
species (i.e., no reactions occur and fix {rx} is not present in the input file),
|
||||
fix {eos/table/rx} can be applied in a similar manner to fix {eos/table}
|
||||
within a non-reactive DPD simulation. In this case, the heat of formation
|
||||
filename is replaced with the heat of formation value for the single species.
|
||||
Additionally, the energy correction and temperature correction coefficients may
|
||||
also be specified as fix arguments.
|
||||
|
||||
:line
|
||||
|
||||
The format of a tabulated file is as follows (without the
|
||||
@ -116,6 +137,19 @@ Note that the species can be listed in any order. The tag that is
|
||||
used as the species name must correspond with the tags used to define
|
||||
the reactions with the "fix rx"_fix_rx.html command.
|
||||
|
||||
Alternatively, corrections to the EOS can be included by specifying
|
||||
three additional columns that correspond to the energy correction,
|
||||
the temperature correction coefficient and molecule correction
|
||||
coefficient. In this case, the format of the file is as follows:
|
||||
|
||||
# HEAT OF FORMATION TABLE (one or more comment or blank lines) :pre
|
||||
(blank)
|
||||
h2 0.00 1.23 0.025 0.0 (species name, heat of formation, energy correction, temperature correction coefficient, molecule correction coefficient)
|
||||
no2 0.34 0.00 0.000 -1.76
|
||||
n2 0.00 0.00 0.000 -1.76
|
||||
...
|
||||
no 0.93 0.00 0.000 -1.76 :pre
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
@ -21,7 +21,7 @@ type = atom type for inserted atoms (must be 0 if mol keyword used) :l
|
||||
seed = random # seed (positive integer) :l
|
||||
T = temperature of the ideal gas reservoir (temperature units) :l
|
||||
mu = chemical potential of the ideal gas reservoir (energy units) :l
|
||||
translate = maximum Monte Carlo translation distance (length units) :l
|
||||
displace = maximum Monte Carlo translation distance (length units) :l
|
||||
zero or more keyword/value pairs may be appended to args :l
|
||||
keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, {charge}, {group}, {grouptype}, {intra_energy}, or {tfac_insert}
|
||||
{mol} value = template-ID
|
||||
|
||||
111
doc/src/fix_grem.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
|
||||
|
||||
fix grem command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID grem lambda eta H0 thermostat-ID :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
grem = style name of this fix command :l
|
||||
lambda = intercept parameter of linear effective temperature function :l
|
||||
eta = slope parameter of linear effective temperature function :l
|
||||
H0 = shift parameter of linear effective temperature function :l
|
||||
thermostat-ID = ID of Nose-Hoover thermostat or barostat used in simulation :l,ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix fxgREM all grem 400 -0.01 -30000 fxnpt
|
||||
thermo_modify press fxgREM_press :pre
|
||||
|
||||
fix fxgREM all grem 502 -0.15 -80000 fxnvt :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix implements the molecular dynamics version of the generalized
|
||||
replica exchange method (gREM) originally developed by "(Kim)"_#Kim,
|
||||
which uses non-Boltzmann ensembles to sample over first order phase
|
||||
transitions. The is done by defining replicas with an enthalpy
|
||||
dependent effective temperature
|
||||
|
||||
:c,image(Eqs/fix_grem.jpg)
|
||||
|
||||
with {eta} negative and steep enough to only intersect the
|
||||
characteristic microcanonical temperature (Ts) of the system once,
|
||||
ensuring a unimodal enthalpy distribution in that replica. {Lambda} is
|
||||
the intercept and effects the generalized ensemble similar to how
|
||||
temperature effects a Boltzmann ensemble. {H0} is a reference
|
||||
enthalpy, and is typically set as the lowest desired sampled enthalpy.
|
||||
Further explanation can be found in our recent papers
|
||||
"(Malolepsza)"_#Malolepsza.
|
||||
|
||||
This fix requires a Nose-Hoover thermostat fix reference passed to the
|
||||
grem as {thermostat-ID}. Two distinct temperatures exist in this
|
||||
generalized ensemble, the effective temperature defined above, and a
|
||||
kinetic temperature that controls the velocity distribution of
|
||||
particles as usual. Either constant volume or constant pressure
|
||||
algorithms can be used.
|
||||
|
||||
The fix enforces a generalized ensemble in a single replica
|
||||
only. Typically, this ideaology is combined with replica exchange with
|
||||
replicas differing by {lambda} only for simplicity, but this is not
|
||||
required. A multi-replica simulation can be run within the LAMMPS
|
||||
environment using the "temper/grem"_temper_grem.html command. This
|
||||
utilizes LAMMPS partition mode and requires the number of available
|
||||
processors be on the order of the number of desired replicas. A
|
||||
100-replica simulation would require at least 100 processors (1 per
|
||||
world at minimum). If a many replicas are needed on a small number of
|
||||
processors, multi-replica runs can be run outside of LAMMPS. An
|
||||
example of this can be found in examples/USER/misc/grem and has no
|
||||
limit on the number of replicas per processor. However, this is very
|
||||
inefficient and error prone and should be avoided if possible.
|
||||
|
||||
In general, defining the generalized ensembles is unique for every
|
||||
system. When starting a many-replica simulation without any knowledge
|
||||
of the underlying microcanonical temperature, there are several tricks
|
||||
we have utilized to optimize the process. Choosing a less-steep {eta}
|
||||
yields broader distributions, requiring fewer replicas to map the
|
||||
microcanonical temperature. While this likely struggles from the same
|
||||
sampling problems gREM was built to avoid, it provides quick insight
|
||||
to Ts. Initially using an evenly-spaced {lambda} distribution
|
||||
identifies regions where small changes in enthalpy lead to large
|
||||
temperature changes. Replicas are easily added where needed.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "thermo_modify"_thermo_modify.html {press} option is supported
|
||||
by this fix to add the rescaled kinetic pressure as part of
|
||||
"thermodynamic output"_thermo_style.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"temper/grem"_temper_grem.html, "fix nvt"_fix_nh.html, "fix
|
||||
npt"_fix_nh.html, "thermo_modify"_thermo_modify.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Kim)
|
||||
[(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010).
|
||||
|
||||
:link(Malolepsza)
|
||||
[(Malolepsza)] Malolepsza, Secor, Keyes, J Phys Chem B 119 (42),
|
||||
13379-13384 (2015).
|
||||
@ -10,18 +10,19 @@ fix ipi command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID ipi address port \[unix\] :pre
|
||||
fix ID group-ID ipi address port \[unix\] \[reset\] :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
ipi = style name of this fix command
|
||||
address = internet address (FQDN or IP), or UNIX socket name
|
||||
port = port number (ignored for UNIX sockets)
|
||||
optional keyword = {unix}, if present uses a unix socket :ul
|
||||
optional keyword = {unix}, if present uses a unix socket
|
||||
optional keyword = {reset}, if present reset electrostatics at each call :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all ipi my.server.com 12345
|
||||
fix 1 all ipi mysocket 666 unix
|
||||
fix 1 all ipi mysocket 666 unix reset
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -57,6 +58,15 @@ input are listed in the same order as in the data file of LAMMPS. The
|
||||
initial configuration is ignored, as it will be substituted with the
|
||||
coordinates received from i-PI before forces are ever evaluated.
|
||||
|
||||
A note of caution when using potentials that contain long-range
|
||||
electrostatics, or that contain parameters that depend on box size:
|
||||
all of these options will be initialized based on the cell size in the
|
||||
LAMMPS-side initial configuration and kept constant during the run.
|
||||
This is required to e.g. obtain reproducible and conserved forces.
|
||||
If the cell varies too wildly, it may be advisable to reinitialize
|
||||
these interactions at each call. This behavior can be requested by
|
||||
setting the {reset} switch.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
There is no restart information associated with this fix, since all
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
fix momentum command :h3
|
||||
fix momentum/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
@ -55,6 +56,29 @@ of atoms by rescaling the velocities after the momentum was removed.
|
||||
Note that the "velocity"_velocity.html command can be used to create
|
||||
initial velocities with zero aggregate linear and/or angular momentum.
|
||||
|
||||
: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.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
|
||||
71
doc/src/fix_nvk.txt
Normal file
@ -0,0 +1,71 @@
|
||||
"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 nvk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID nvk :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
nvk = style name of this fix command :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all nvk :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform constant kinetic energy integration using the Gaussian
|
||||
thermostat to update position and velocity for atoms in the group each
|
||||
timestep. V is volume; K is kinetic energy. This creates a system
|
||||
trajectory consistent with the isokinetic ensemble.
|
||||
|
||||
The equations of motion used are those of Minary et al in
|
||||
"(Minary)"_#nvk-Minary, a variant of those initially given by Zhang in
|
||||
"(Zhang)"_#nvk-Zhang.
|
||||
|
||||
The kinetic energy will be held constant at its value given when fix
|
||||
nvk is initiated. If a different kinetic energy is desired, the
|
||||
"velocity"_velocity.html command should be used to change the kinetic
|
||||
energy prior to this fix.
|
||||
|
||||
:line
|
||||
|
||||
[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
|
||||
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. No parameter of this fix can
|
||||
be used with the {start/stop} keywords of the "run"_run.html command.
|
||||
This fix is not invoked during "energy minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The Gaussian thermostat only works when it is applied to all atoms in
|
||||
the simulation box. Therefore, the group must be set to all.
|
||||
|
||||
This fix has not yet been implemented to work with the RESPA integrator.
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:] none
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(nvk-Minary)
|
||||
[(Minary)] Minary, Martyna, and Tuckerman, J Chem Phys, 18, 2510 (2003).
|
||||
|
||||
:link(nvk-Zhang)
|
||||
[(Zhang)] Zhang, J Chem Phys, 106, 6102 (1997).
|
||||
@ -36,7 +36,7 @@ stable maximum time step.
|
||||
This fix inquires the minimum stable time increment across all particles contained in the group for which this
|
||||
fix is defined. An additional safety factor {s_fact} is applied to the time increment.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ fix 1 all smd/integrate_tlsph limit_velocity 1000 :pre
|
||||
|
||||
The fix performs explicit time integration for particles which interact according with the Total-Lagrangian SPH pair style.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
The {limit_velocity} keyword will control the velocity, scaling the norm of
|
||||
the velocity vector to max_vel in case it exceeds this velocity limit.
|
||||
|
||||
@ -34,7 +34,7 @@ fix 1 all smd/integrate_ulsph limit_velocity 1000 :pre
|
||||
[Description:]
|
||||
|
||||
The fix performs explicit time integration for particles which interact with the updated Lagrangian SPH pair style.
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
The {adjust_radius} keyword activates dynamic adjustment of the per-particle SPH smoothing kernel radius such that the number of neighbors per particles remains
|
||||
within the interval {min_nn} to {max_nn}. The parameter {adjust_radius_factor} determines the amount of adjustment per timestep. Typical values are
|
||||
|
||||
@ -55,7 +55,7 @@ specified. This style also sets the velocity of each particle to (omega cross
|
||||
Rperp) where omega is its angular velocity around the rotation axis and
|
||||
Rperp is a perpendicular vector from the rotation axis to the particle.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ It is possible to move the triangulated surface via the "smd/move_tri_surf"_fix_
|
||||
Immediately after a .STL file has been read, the simulation needs to be run for 0 timesteps in order to properly register the new particles
|
||||
in the system. See the "funnel_flow" example in the USER-SMD examples directory.
|
||||
|
||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
|
||||
@ -48,6 +48,7 @@ Fixes :h1
|
||||
fix_gld
|
||||
fix_gle
|
||||
fix_gravity
|
||||
fix_grem
|
||||
fix_halt
|
||||
fix_heat
|
||||
fix_imd
|
||||
@ -89,6 +90,7 @@ Fixes :h1
|
||||
fix_nve_noforce
|
||||
fix_nve_sphere
|
||||
fix_nve_tri
|
||||
fix_nvk
|
||||
fix_nvt_asphere
|
||||
fix_nvt_body
|
||||
fix_nvt_manifold_rattle
|
||||
|
||||
@ -14,7 +14,7 @@ info args :pre
|
||||
|
||||
args = one or more of the following keywords: {out}, {all}, {system}, {communication}, {computes}, {dumps}, {fixes}, {groups}, {regions}, {variables}, {styles}, {time}, or {configuration}
|
||||
{out} values = {screen}, {log}, {append} filename, {overwrite} filename
|
||||
{styles} values = {all}, {angle}, {atom}, {bond}, {compute}, {command}, {dump}, {dihedral}, {fix}, {improper}, {integrate}, {kspace}, {minimize}, {region} :ul
|
||||
{styles} values = {all}, {angle}, {atom}, {bond}, {compute}, {command}, {dump}, {dihedral}, {fix}, {improper}, {integrate}, {kspace}, {minimize}, {pair}, {region} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -70,8 +70,9 @@ The {variables} category prints a list of all currently defined
|
||||
variables, their names, styles, definition and last computed value, if
|
||||
available.
|
||||
|
||||
The {styles} category prints the list of styles available in LAMMPS. It
|
||||
supports one of the following options to control what is printed out:
|
||||
The {styles} category prints the list of styles available in the
|
||||
current LAMMPS binary. It supports one of the following options
|
||||
to control which category of styles is printed out:
|
||||
|
||||
all
|
||||
angle
|
||||
@ -86,6 +87,7 @@ improper
|
||||
integrate
|
||||
kspace
|
||||
minimize
|
||||
pair
|
||||
region :ul
|
||||
|
||||
The {time} category prints the accumulated CPU and wall time for the
|
||||
|
||||
@ -59,6 +59,7 @@ dump_h5md.html
|
||||
dump_image.html
|
||||
dump_modify.html
|
||||
dump_molfile.html
|
||||
dump_nc.html
|
||||
echo.html
|
||||
fix.html
|
||||
fix_modify.html
|
||||
@ -152,6 +153,7 @@ fix_colvars.html
|
||||
fix_controller.html
|
||||
fix_deform.html
|
||||
fix_deposit.html
|
||||
fix_dpd_energy.html
|
||||
fix_drag.html
|
||||
fix_drude.html
|
||||
fix_drude_transform.html
|
||||
@ -170,6 +172,7 @@ fix_gcmc.html
|
||||
fix_gld.html
|
||||
fix_gle.html
|
||||
fix_gravity.html
|
||||
fix_grem.html
|
||||
fix_halt.html
|
||||
fix_heat.html
|
||||
fix_imd.html
|
||||
@ -211,6 +214,7 @@ fix_nve_manifold_rattle.html
|
||||
fix_nve_noforce.html
|
||||
fix_nve_sphere.html
|
||||
fix_nve_tri.html
|
||||
fix_nvk.html
|
||||
fix_nvt_asphere.html
|
||||
fix_nvt_body.html
|
||||
fix_nvt_manifold_rattle.html
|
||||
@ -272,6 +276,7 @@ fix_viscosity.html
|
||||
fix_viscous.html
|
||||
fix_wall.html
|
||||
fix_wall_gran.html
|
||||
fix_wall_gran_region.html
|
||||
fix_wall_piston.html
|
||||
fix_wall_reflect.html
|
||||
fix_wall_region.html
|
||||
@ -307,6 +312,7 @@ compute_erotate_sphere.html
|
||||
compute_erotate_sphere_atom.html
|
||||
compute_event_displace.html
|
||||
compute_fep.html
|
||||
compute_global_atom.html
|
||||
compute_group_group.html
|
||||
compute_gyration.html
|
||||
compute_gyration_chunk.html
|
||||
@ -390,6 +396,7 @@ compute_voronoi_atom.html
|
||||
compute_xrd.html
|
||||
|
||||
pair_adp.html
|
||||
pair_agni.html
|
||||
pair_airebo.html
|
||||
pair_awpmd.html
|
||||
pair_beck.html
|
||||
@ -622,3 +629,4 @@ USER/atc/man_unfix_flux.html
|
||||
USER/atc/man_unfix_nodes.html
|
||||
USER/atc/man_write_atom_weights.html
|
||||
USER/atc/man_write_restart.html
|
||||
|
||||
|
||||
128
doc/src/pair_agni.txt
Normal file
@ -0,0 +1,128 @@
|
||||
"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 agni command :h3
|
||||
pair_style agni/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style agni :pre
|
||||
|
||||
[Examples:]
|
||||
pair_style agni
|
||||
pair_coeff * * Al.agni Al
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {agni} style computes the manybody vectorial force components for
|
||||
an atom as
|
||||
|
||||
:c,image(Eqs/pair_agni.jpg)
|
||||
|
||||
{u} labels the individual components, i.e. x, y or z, and {V} is the
|
||||
corresponding atomic fingerprint. {d} is the Euclidean distance between
|
||||
any two atomic fingerprints. A total of N_t reference atomic
|
||||
environments are considered to construct the force field file. {alpha_t}
|
||||
and {l} are the weight coefficients and length scale parameter of the
|
||||
non-linear regression model.
|
||||
|
||||
The method implements the recently proposed machine learning access to
|
||||
atomic forces as discussed extensively in the following publications -
|
||||
"(Botu1)"_#Botu2015adaptive and "(Botu2)"_#Botu2015learning. The premise
|
||||
of the method is to map the atomic enviornment numerically into a
|
||||
fingerprint, and use machine learning methods to create a mapping to the
|
||||
vectorial atomic forces.
|
||||
|
||||
Only a single pair_coeff command is used with the {agni} style which
|
||||
specifies an AGNI potential file containing the parameters of the
|
||||
force field for the needed elements. These are mapped to LAMMPS atom
|
||||
types by specifying N additional arguments after the filename in the
|
||||
pair_coeff command, where N is the number of LAMMPS atom types:
|
||||
|
||||
filename
|
||||
N element names = mapping of AGNI elements to atom types :ul
|
||||
|
||||
See the "pair_coeff"_pair_coeff.html doc page for alternate ways
|
||||
to specify the path for the force field file.
|
||||
|
||||
An AGNI force field is fully specified by the filename which contains the
|
||||
parameters of the force field, i.e., the reference training environments
|
||||
used to construct the machine learning force field. Example force field
|
||||
and input files are provided in the examples/USER/misc/agni directory.
|
||||
|
||||
:line
|
||||
|
||||
Styles with {omp} suffix is functionally the same as the corresponding
|
||||
style without the suffix. They have been optimized to run faster, depending
|
||||
on your available hardware, as discussed in "Section 5"_Section_accelerate.html
|
||||
of the manual. The accelerated style takes the same arguments and
|
||||
should produce the same results, except for round-off and precision
|
||||
issues.
|
||||
|
||||
The accelerated style is part of the USER-OMP. 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 style 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]:
|
||||
|
||||
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:]
|
||||
|
||||
Currently, only elemental systems are implemented. Also, the method only
|
||||
provides access to the forces and not energies or stresses. However, one
|
||||
can access the energy via thermodynamic integration of the forces as
|
||||
discussed in "(Botu3)"_#Botu2016construct. 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.
|
||||
|
||||
The AGNI force field files provided with LAMMPS (see the
|
||||
potentials directory) are parameterized for metal "units"_units.html.
|
||||
You can use the AGNI potential with any LAMMPS units, but you would need
|
||||
to create your own AGNI 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(Botu2015adaptive)
|
||||
[(Botu1)] V. Botu and R. Ramprasad, Int. J. Quant. Chem., 115(16), 1074 (2015).
|
||||
|
||||
:link(Botu2015learning)
|
||||
[(Botu2)] V. Botu and R. Ramprasad, Phys. Rev. B, 92(9), 094306 (2015).
|
||||
|
||||
:link(Botu2016construct)
|
||||
[(Botu3)] V. Botu, R. Batra, J. Chapman and R. Ramprasad, https://arxiv.org/abs/1610.02098 (2016).
|
||||
@ -10,16 +10,21 @@ pair_style exp6/rx command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style exp6/rx cutoff :pre
|
||||
pair_style exp6/rx cutoff ... :pre
|
||||
|
||||
cutoff = global cutoff for DPD interactions (distance units) :ul
|
||||
cutoff = global cutoff for DPD interactions (distance units)
|
||||
weighting = fractional or molecular (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style exp6/rx 10.0
|
||||
pair_coeff * * exp6.params h2o h2o 1.0 1.0 10.0
|
||||
pair_coeff * * exp6.params h2o 1fluid 1.0 1.0 10.0
|
||||
pair_coeff * * exp6.params 1fluid 1fluid 1.0 1.0 10.0 :pre
|
||||
pair_style exp6/rx 10.0 fractional
|
||||
pair_style exp6/rx 10.0 molecular
|
||||
pair_coeff * * exp6.params h2o h2o exponent 1.0 1.0 10.0
|
||||
pair_coeff * * exp6.params h2o 1fluid exponent 1.0 1.0 10.0
|
||||
pair_coeff * * exp6.params 1fluid 1fluid exponent 1.0 1.0 10.0
|
||||
pair_coeff * * exp6.params 1fluid 1fluid none 10.0
|
||||
pair_coeff * * exp6.params 1fluid 1fluid polynomial filename 10.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -50,14 +55,36 @@ defined in the reaction kinetics files specified with the "fix
|
||||
rx"_fix_rx.html command or they must correspond to the tag "1fluid",
|
||||
signifying interaction with a product species mixture determined
|
||||
through a one-fluid approximation. The interaction potential is
|
||||
weighted by the geometric average of the concentrations of the two
|
||||
species. The coarse-grained potential is stored before and after the
|
||||
weighted by the geometric average of either the mole fraction concentrations
|
||||
or the number of molecules associated with the interacting coarse-grained
|
||||
particles (see the {fractional} or {molecular} weighting pair style options).
|
||||
The coarse-grained potential is stored before and after the
|
||||
reaction kinetics solver is applied, where the difference is defined
|
||||
to be the internal chemical energy (uChem).
|
||||
|
||||
The fourth and fifth arguments specify the {Rm} and {epsilon} scaling exponents.
|
||||
The fourth argument specifies the type of scaling that will be used
|
||||
to scale the EXP-6 paramters as reactions occur. Currently, there
|
||||
are three scaling options: {exponent}, {polynomial} and {none}.
|
||||
|
||||
The final argument specifies the interaction cutoff.
|
||||
Exponent scaling requires two additional arguments for scaling
|
||||
the {Rm} and {epsilon} parameters, respectively. The scaling factor
|
||||
is computed by phi^exponent, where phi is the number of molecules
|
||||
represented by the coarse-grain particle and exponent is specified
|
||||
as a pair coefficient argument for {Rm} and {epsilon}, respectively.
|
||||
The {Rm} and {epsilon} parameters are multiplied by the scaling
|
||||
factor to give the scaled interaction paramters for the CG particle.
|
||||
|
||||
Polynomial scaling requires a filename to be specified as a pair
|
||||
coeff argument. The file contains the coefficients to a fifth order
|
||||
polynomial for the {alpha}, {epsilon} and {Rm} parameters that depend
|
||||
upon phi (the number of molecules represented by the CG particle).
|
||||
The format of a polynomial file is provided below.
|
||||
|
||||
The {none} option to the scaling does not have any additional pair coeff
|
||||
arguments. This is equivalent to specifying the {exponent} option with
|
||||
{Rm} and {epsilon} exponents of 0.0 and 0.0, respectively.
|
||||
|
||||
The final argument specifies the interaction cutoff (optional).
|
||||
|
||||
:line
|
||||
|
||||
@ -70,6 +97,19 @@ no2 exp6 13.60 0.01 3.70
|
||||
...
|
||||
co2 exp6 13.00 0.03 3.20 :pre
|
||||
|
||||
The format of the polynomial scaling file as follows (without the
|
||||
parenthesized comments):
|
||||
|
||||
# POLYNOMIAL FILE (one or more comment or blank lines) :pre
|
||||
# General Functional Form:
|
||||
# A*phi^5 + B*phi^4 + C*phi^3 + D*phi^2 + E*phi + F
|
||||
#
|
||||
# Parameter A B C D E F
|
||||
(blank)
|
||||
alpha 0.0000 0.00000 0.00008 0.04955 -0.73804 13.63201
|
||||
epsilon 0.0000 0.00478 -0.06283 0.24486 -0.33737 2.60097
|
||||
rm 0.0001 -0.00118 -0.00253 0.05812 -0.00509 1.50106 :pre
|
||||
|
||||
A section begins with a non-blank line whose 1st character is not a
|
||||
"#"; blank lines or lines starting with "#" can be used as comments
|
||||
between sections.
|
||||
@ -117,4 +157,4 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
[Default:] fractional weighting
|
||||
|
||||
@ -13,11 +13,14 @@ pair_style multi/lucy/rx command :h3
|
||||
pair_style multi/lucy/rx style N keyword ... :pre
|
||||
|
||||
style = {lookup} or {linear} = method of interpolation
|
||||
N = use N values in {lookup}, {linear} tables :ul
|
||||
N = use N values in {lookup}, {linear} tables
|
||||
weighting = fractional or molecular (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style multi/lucy/rx linear 1000
|
||||
pair_style multi/lucy/rx linear 1000 fractional
|
||||
pair_style multi/lucy/rx linear 1000 molecular
|
||||
pair_coeff * * multibody.table ENTRY1 h2o h2o 7.0
|
||||
pair_coeff * * multibody.table ENTRY1 h2o 1fluid 7.0 :pre
|
||||
|
||||
@ -94,8 +97,10 @@ tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
{fractional} or {molecular} weighting pair style options). The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
@ -205,7 +210,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
[Default:] fractional weighting
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ invocation of the {tlsph} for a solid body would consist of an equation of state
|
||||
the pressure (the diagonal components of the stress tensor), and a material model to compute shear
|
||||
stresses (the off-diagonal components of the stress tensor). Damage and failure models can also be added.
|
||||
|
||||
Please see the "SMD user guide"_USER/smd/SMD_LAMMPS_userguide.pdf for a complete listing of the possible keywords and material models.
|
||||
Please see the "SMD user guide"_PDF/SMD_LAMMPS_userguide.pdf for a complete listing of the possible keywords and material models.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ stresses (the off-diagonal components of the stress tensor).
|
||||
|
||||
Note that the use of *GRADIENT_CORRECTION can lead to severe numerical instabilities. For a general fluid simulation, *NO_GRADIENT_CORRECTION is recommended.
|
||||
|
||||
Please see the "SMD user guide"_USER/smd/SMD_LAMMPS_userguide.pdf for a complete listing of the possible keywords and material models.
|
||||
Please see the "SMD user guide"_PDF/SMD_LAMMPS_userguide.pdf for a complete listing of the possible keywords and material models.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -10,16 +10,17 @@ pair_style table/rx command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style table style N :pre
|
||||
pair_style table style N ... :pre
|
||||
|
||||
style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation
|
||||
N = use N values in {lookup}, {linear}, {spline} tables
|
||||
N = use 2^N values in {bitmap} tables
|
||||
weighting = fractional or molecular (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style table/rx linear 1000
|
||||
pair_style table/rx bitmap 12
|
||||
pair_style table/rx linear 1000 fractional
|
||||
pair_style table/rx linear 1000 molecular
|
||||
pair_coeff * * rxn.table ENTRY1 h2o h2o 10.0
|
||||
pair_coeff * * rxn.table ENTRY1 1fluid 1fluid 10.0
|
||||
pair_coeff * 3 rxn.table ENTRY1 h2o no2 10.0 :pre
|
||||
@ -84,8 +85,10 @@ tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
The interaction potential is weighted by the geometric average of
|
||||
either the mole fraction concentrations or the number of molecules
|
||||
associated with the interacting coarse-grained particles (see the
|
||||
{fractional} or {molecular} weighting pair style options). The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
@ -230,7 +233,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
[Default:] fractional weighting
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -7,32 +7,43 @@
|
||||
:line
|
||||
|
||||
pair_style tersoff/mod command :h3
|
||||
pair_style tersoff/mod/c command :h3
|
||||
pair_style tersoff/mod/gpu command :h3
|
||||
pair_style tersoff/mod/kk command :h3
|
||||
pair_style tersoff/mod/omp command :h3
|
||||
pair_style tersoff/mod/c/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style tersoff/mod :pre
|
||||
|
||||
pair_style tersoff/mod/c :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style tersoff/mod
|
||||
pair_coeff * * Si.tersoff.mod Si Si :pre
|
||||
|
||||
pair_style tersoff/mod/c
|
||||
pair_coeff * * Si.tersoff.modc Si Si :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {tersoff/mod} style computes a bond-order type interatomic
|
||||
potential "(Kumagai)"_#Kumagai based on a 3-body Tersoff potential
|
||||
"(Tersoff_1)"_#Tersoff_1, "(Tersoff_2)"_#Tersoff_2 with modified
|
||||
cutoff function and angular-dependent term, giving the energy E of a
|
||||
system of atoms as
|
||||
The {tersoff/mod} and {tersoff/mod/c} styles computes a bond-order type
|
||||
interatomic potential "(Kumagai)"_#Kumagai based on a 3-body Tersoff
|
||||
potential "(Tersoff_1)"_#Tersoff_1, "(Tersoff_2)"_#Tersoff_2 with
|
||||
modified cutoff function and angular-dependent term, giving the energy
|
||||
E of a system of atoms as
|
||||
|
||||
:c,image(Eqs/pair_tersoff_mod.jpg)
|
||||
|
||||
where f_R is a two-body term and f_A includes three-body interactions.
|
||||
The summations in the formula are over all neighbors J and K of atom I
|
||||
within a cutoff distance = R + D.
|
||||
The {tersoff/mod/c} style differs from {tersoff/mod} only in the
|
||||
formulation of the V_ij term, where it contains an additional c0 term.
|
||||
|
||||
:c,image(Eqs/pair_tersoff_mod_c.jpg)
|
||||
|
||||
The modified cutoff function f_C proposed by "(Murty)"_#Murty and
|
||||
having a continuous second-order differential is employed. The
|
||||
@ -69,10 +80,11 @@ are placeholders for atom types that will be used with other
|
||||
potentials.
|
||||
|
||||
Tersoff/MOD file in the {potentials} directory of the LAMMPS
|
||||
distribution have a ".tersoff.mod" suffix. Lines that are not blank
|
||||
or comments (starting with #) define parameters for a triplet of
|
||||
elements. The parameters in a single entry correspond to coefficients
|
||||
in the formula above:
|
||||
distribution have a ".tersoff.mod" suffix. Potential files for the
|
||||
{tersoff/mod/c} style have the suffix ".tersoff.modc". Lines that are
|
||||
not blank or comments (starting with #) define parameters for a triplet
|
||||
of elements. The parameters in a single entry correspond to
|
||||
coefficients in the formulae above:
|
||||
|
||||
element 1 (the center atom in a 3-body interaction)
|
||||
element 2 (the atom bonded to the center atom)
|
||||
@ -93,13 +105,15 @@ c1
|
||||
c2
|
||||
c3
|
||||
c4
|
||||
c5 :ul
|
||||
c5
|
||||
c0 (energy units, tersoff/mod/c only):ul
|
||||
|
||||
The n, eta, lambda2, B, lambda1, and A parameters are only used for
|
||||
two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h
|
||||
parameters are only used for three-body interactions. The R and D
|
||||
parameters are used for both two-body and three-body interactions. The
|
||||
non-annotated parameters are unitless.
|
||||
parameters are used for both two-body and three-body interactions.
|
||||
The c0 term applies to {tersoff/mod/c} only. The non-annotated
|
||||
parameters are unitless.
|
||||
|
||||
The Tersoff/MOD potential file must contain entries for all the elements
|
||||
listed in the pair_coeff command. It can also contain entries for
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
pair_style vashishta command :h3
|
||||
pair_style vashishta/omp command :h3
|
||||
pair_style vashishta/kk command :h3
|
||||
pair_style vashishta/table command :h3
|
||||
pair_style vashishta/table/omp command :h3
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ Pair Styles :h1
|
||||
:maxdepth: 1
|
||||
|
||||
pair_adp
|
||||
pair_agni
|
||||
pair_airebo
|
||||
pair_awpmd
|
||||
pair_beck
|
||||
|
||||
@ -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 {file} or {here} or {exists}
|
||||
keyword = {invoke} or {input} or {return} or {format} or {length} or {file} or {here} or {exists}
|
||||
{invoke} arg = none = invoke the previously defined Python function
|
||||
{input} args = N i1 i2 ... iN
|
||||
N = # of inputs to function
|
||||
@ -29,6 +29,8 @@ keyword = {invoke} or {input} or {return} or {format} or {file} or {here} or {ex
|
||||
M = N+1 if there is a return value
|
||||
fstring = each character (i,f,s,p) corresponds in order to an input or return value
|
||||
'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF
|
||||
{length} arg = Nlen
|
||||
Nlen = max length of string returned from Python function
|
||||
{file} arg = filename
|
||||
filename = file of Python code, which defines func
|
||||
{here} arg = inline
|
||||
@ -165,6 +167,17 @@ equal-style variable as an argument, but only if the output of the
|
||||
Python function is flagged as a numeric value ("i" or "f") via the
|
||||
{format} keyword.
|
||||
|
||||
If the {return} keyword is used and the {format} keyword specifies the
|
||||
output as a string, then the default maximum length of that string is
|
||||
63 characters (64-1 for the string terminator). If you want to return
|
||||
a longer string, the {length} keyword can be specified with its {Nlen}
|
||||
value set to a larger number (the code allocates space for Nlen+1 to
|
||||
include the string terminator). If the Python function generates a
|
||||
string longer than the default 63 or the specified {Nlen}, it will be
|
||||
trunctated.
|
||||
|
||||
:line
|
||||
|
||||
Either the {file}, {here}, or {exists} keyword must be used, but only
|
||||
one of them. These keywords specify what Python code to load into the
|
||||
Python interpreter. The {file} keyword gives the name of a file,
|
||||
|
||||
109
doc/src/temper_grem.txt
Normal file
@ -0,0 +1,109 @@
|
||||
"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
|
||||
|
||||
temper/grem command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
temper/grem N M lambda fix-ID thermostat-ID seed1 seed2 index :pre
|
||||
|
||||
N = total # of timesteps to run
|
||||
M = attempt a tempering swap every this many steps
|
||||
lambda = initial lambda for this ensemble
|
||||
fix-ID = ID of fix_grem
|
||||
thermostat-ID = ID of the thermostat that controls kinetic temperature
|
||||
seed1 = random # seed used to decide on adjacent temperature to partner with
|
||||
seed2 = random # seed for Boltzmann factor in Metropolis swap
|
||||
index = which temperature (0 to N-1) I am simulating (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
temper/grem 100000 1000 ${lambda} fxgREM fxnvt 0 58728
|
||||
temper/grem 40000 100 ${lambda} fxgREM fxnpt 0 32285 ${walkers} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Run a parallel tempering or replica exchange simulation in LAMMPS
|
||||
partition mode using multiple generalized replicas (ensembles) of a
|
||||
system defined by "fix grem"_fix_grem.html, which stands for the
|
||||
generalized replica exchange method (gREM) originally developed by
|
||||
"(Kim)"_#Kim. It uses non-Boltzmann ensembles to sample over first
|
||||
order phase transitions. The is done by defining replicas with an
|
||||
enthalpy dependent effective temperature
|
||||
|
||||
Two or more replicas must be used. See the "temper"_temper.html
|
||||
command for an explanation of how to run replicas on multiple
|
||||
partitions of one or more processors.
|
||||
|
||||
This command is a modification of the "temper"_temper.html command and
|
||||
has the same dependencies, restraints, and input variables which are
|
||||
discussed there in greater detail.
|
||||
|
||||
Instead of temperature, this command performs replica exchanges in
|
||||
lambda as per the generalized ensemble enforced by "fix
|
||||
grem"_fix_grem.html. The desired lambda is specified by {lambda},
|
||||
which is typically a variable previously set in the input script, so
|
||||
that each partition is assigned a different temperature. See the
|
||||
"variable"_variable.html command for more details. For example:
|
||||
|
||||
variable lambda world 400 420 440 460
|
||||
fix fxnvt all nvt temp 300.0 300.0 100.0
|
||||
fix fxgREM all grem ${lambda} -0.05 -50000 fxnvt
|
||||
temper 100000 100 ${lambda} fxgREM fxnvt 3847 58382 :pre
|
||||
|
||||
would define 4 lambdas with constant kinetic temperature but unique
|
||||
generalized temperature, and assign one of them to "fix
|
||||
grem"_fix_grem.html used by each replica, and to the grem command.
|
||||
|
||||
As the gREM simulation runs for {N} timesteps, a swap between adjacent
|
||||
ensembles will be attempted every {M} timesteps. If {seed1} is 0,
|
||||
then the swap attempts will alternate between odd and even pairings.
|
||||
If {seed1} is non-zero then it is used as a seed in a random number
|
||||
generator to randomly choose an odd or even pairing each time. Each
|
||||
attempted swap of temperatures is either accepted or rejected based on
|
||||
a Metropolis criterion, derived for gREM by "(Kim)"_#Kim, which uses
|
||||
{seed2} in the random number generator.
|
||||
|
||||
File management works identical to the "temper"_temper.html command.
|
||||
Dump files created by this fix contain continuous trajectories and
|
||||
require post-processing to obtain per-replica information.
|
||||
|
||||
The last argument {index} in the grem command is optional and is used
|
||||
when restarting a run from a set of restart files (one for each
|
||||
replica) which had previously swapped to new lambda. This is done
|
||||
using a variable. For example if the log file listed the following for
|
||||
a simulation with 5 replicas:
|
||||
|
||||
500000 2 4 0 1 3 :pre
|
||||
|
||||
then a setting of
|
||||
|
||||
variable walkers world 2 4 0 1 3 :pre
|
||||
|
||||
would be used to restart the run with a grem command like the example
|
||||
above with ${walkers} as the last argument. This functionality is
|
||||
identical to "temper"_temper.html.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This command 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.
|
||||
|
||||
This command must be used with "fix grem"_fix_grem.html.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix grem"_fix_grem.html, "temper"_temper.html, "variable"_variable.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:link(Kim)
|
||||
[(Kim)] Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010).
|
||||
@ -11,10 +11,22 @@ LAMMPS GitHub tutorial :h3
|
||||
|
||||
:line
|
||||
|
||||
This document briefly describes how to use GitHub to merge changes you
|
||||
make into LAMMPS, using GitHub. It assumes that you are familiar with
|
||||
git. You may want to have a look at the "Git
|
||||
book"_http://git-scm.com/book/ to reacquaint yourself.
|
||||
This document describes the process of how to use GitHub to integrate
|
||||
changes or additions you have made to LAMMPS into the official LAMMPS
|
||||
distribution. It uses the process of updating this very tutorial as
|
||||
an example to describe the individual steps and options. You need to
|
||||
be familiar with git and you may want to have a look at the
|
||||
"Git book"_http://git-scm.com/book/ to reacquaint yourself with some
|
||||
of the more advanced git features used below.
|
||||
|
||||
As of fall 2016, submitting contributions to LAMMPS via pull requests
|
||||
on GitHub is the preferred option for integrating contributed features
|
||||
or improvements to LAMMPS, as it significantly reduces the amount of
|
||||
work required by the LAMMPS developers. Consequently, creating a pull
|
||||
request will increase your chances to have your contribution included
|
||||
and will reduce the time until the integration is complete. For more
|
||||
information on the requirements to have your code included into LAMMPS
|
||||
please see "Section 10.15"_Section_modify.html#mod_15
|
||||
|
||||
:line
|
||||
|
||||
@ -30,106 +42,121 @@ username or e-mail address and password.
|
||||
|
||||
[Forking the repository]
|
||||
|
||||
To get changes into LAMMPS, you need to first fork the repository. At
|
||||
the time of writing, LAMMPS-ICMS is the preferred fork. Go to "LAMMPS
|
||||
on GitHub"_https://github.com/lammps/lammps and make sure branch is
|
||||
set to "lammps-icms", see the figure below.
|
||||
To get changes into LAMMPS, you need to first fork the `lammps/lammps`
|
||||
repository on GitHub. At the time of writing, {master} is the preferred
|
||||
target branch. Thus go to "LAMMPS on GitHub"_https://github.com/lammps/lammps
|
||||
and make sure branch is set to "master", as shown in the figure below.
|
||||
|
||||
:c,image(JPG/tutorial_branch.png)
|
||||
|
||||
Now, click on fork in the top right corner:
|
||||
If it is not, use the button to change it to {master}. Once it is, use the
|
||||
fork button to create a fork.
|
||||
|
||||
:c,image(JPG/tutorial_fork.png)
|
||||
|
||||
This will create your own fork of the LAMMPS repository. You can make
|
||||
changes in this fork and later file {pull requests} to allow the
|
||||
upstream repository to merge changes from your own fork into the one
|
||||
we just forked from. At the same time, you can set things up, so you
|
||||
can include changes from upstream into your repository.
|
||||
|
||||
This will create a fork (which is essentially a copy, but uses less
|
||||
resources) of the LAMMPS repository under your own GitHub account. You
|
||||
can make changes in this fork and later file {pull requests} to allow
|
||||
the upstream repository to merge changes from your own fork into the one
|
||||
we just forked from (or others that were forked from the same repository).
|
||||
At the same time, you can set things up, so you can include changes from
|
||||
upstream into your repository and thus keep it in sync with the ongoing
|
||||
LAMMPS development.
|
||||
|
||||
:line
|
||||
|
||||
[Adding changes to your own fork]
|
||||
|
||||
Before adding changes, it is better to first create a new branch that
|
||||
will contain these changes, a so-called feature branch.
|
||||
Additions to the upstream version of LAMMPS are handled using {feature
|
||||
branches}. For every new feature, a so-called feature branch is
|
||||
created, which contains only those modification relevant to one specific
|
||||
feature. For example, adding a single fix would consist of creating a
|
||||
branch with only the fix header and source file and nothing else. It is
|
||||
explained in more detail here: "feature branch
|
||||
workflow"_https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow.
|
||||
|
||||
[Feature branches]
|
||||
|
||||
Since LAMMPS is such a big project and most user contributions come in
|
||||
small portions, the most ideal workflow for LAMMPS is the so-called
|
||||
"Feature branch" workflow. It is explained in great detail here:
|
||||
"feature branch
|
||||
workflow"_https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow.
|
||||
First of all, create a clone of your version on github on your local
|
||||
machine via HTTPS:
|
||||
|
||||
The idea is that every new feature for LAMMPS gets its own
|
||||
branch. This way, it is fairly painless to incorporate new features
|
||||
into the upstream repository. I will explain briefly here how to do
|
||||
it. In this feature branch, I will add a USER-package.
|
||||
$ git clone https://github.com/<your user name>/lammps.git <some name> :pre
|
||||
|
||||
I assume that git is installed on the local machine and you know how
|
||||
to use a command line.
|
||||
or, if you have set up your GitHub account for using SSH keys, via SSH:
|
||||
|
||||
First of all, you need to clone your own fork of LAMMPS:
|
||||
|
||||
$ git clone https://github.com/<your user name>/lammps.git :pre
|
||||
|
||||
You can find the proper url to the right of the "HTTPS" block, see figure.
|
||||
$ git clone git@github.com:<your user name>/lammps.git :pre
|
||||
|
||||
You can find the proper URL by clicking the "Clone or download"-button:
|
||||
|
||||
:c,image(JPG/tutorial_https_block.png)
|
||||
|
||||
The above command copies ("clones") the git repository to your local
|
||||
machine. You can use this local clone to make changes and test them
|
||||
without interfering with the repository on github. First, however, it
|
||||
is recommended to make a new branch for a particular feature you would
|
||||
like added to LAMMPS. In this example, I will try adding a new
|
||||
USER-package called USER-MANIFOLD.
|
||||
machine to a directory with the name you chose. If none is given, it will
|
||||
default to "lammps". Typical names are "mylammps" or something similar.
|
||||
|
||||
To create a new branch, run the following git command in your repository:
|
||||
You can use this local clone to make changes and
|
||||
test them without interfering with the repository on Github.
|
||||
|
||||
$ git checkout -b add-user-manifold :pre
|
||||
To pull changes from upstream into this copy, you can go to the directory
|
||||
and use git pull:
|
||||
|
||||
The name of this new branch is "add-user-manifold" in my case. Just
|
||||
name it after something that resembles the feature you want added to
|
||||
LAMMPS.
|
||||
$ cd mylammps
|
||||
$ git checkout master
|
||||
$ git pull https://github.com/lammps/lammps :pre
|
||||
|
||||
Now that you've changed branches, you can edit the files as you see
|
||||
fit, add new files, and commit as much as you would like. Just
|
||||
remember that if halfway you decide to add another, unrelated feature,
|
||||
you should switch branches!
|
||||
You can also add this URL as a remote:
|
||||
|
||||
$ git remote add lammps_upstream https://www.github.com/lammps/lammps :pre
|
||||
|
||||
At this point, you typically make a feature branch from the updated master
|
||||
branch for the feature you want to work on. This tutorial contains the
|
||||
workflow that updated this tutorial, and hence we will call the branch
|
||||
"github-tutorial-update":
|
||||
|
||||
$ git checkout -b github-tutorial-update master :pre
|
||||
|
||||
Now that we have changed branches, we can make our changes to our local
|
||||
repository. Just remember that if you want to start working on another,
|
||||
unrelated feature, you should switch branches!
|
||||
|
||||
[After changes are made]
|
||||
|
||||
After everything is done, add the files to the branch and commit them:
|
||||
|
||||
$ git add src/USER-MANIFOLD examples/USER/manifold/
|
||||
$ git add doc/fix_nv\{t,e\}_manifold_rattle.txt
|
||||
$ git add doc/fix_manifoldforce.txt doc/user_manifolds.txt :pre
|
||||
$ git add doc/src/tutorial_github.txt
|
||||
$ git add doc/src/JPG/tutorial*.png :pre
|
||||
|
||||
After the files are added, the change should be comitted:
|
||||
IMPORTANT NOTE: Do not use {git commit -a} (or {git add -A}). The -a
|
||||
flag (or -A flag) will automatically include _all_ modified or new files
|
||||
and that is rarely the behavior you want. It can easily lead to
|
||||
accidentally adding unrelated and unwanted changes into the repository.
|
||||
Instead it is preferable to explicitly use {git add}, {git rm}, {git mv}
|
||||
for adding, removing, renaming individual files, respectively, and then
|
||||
{git commit} to finalize the commit. Carefully check all pending
|
||||
changes with {git status} before committing them. If you find doing
|
||||
this on the command line too tedious, consider using a GUI, for example
|
||||
the one included in git distributions written in Tk, i.e. use {git gui}
|
||||
(on some Linux distributions it may be required to install an additional
|
||||
package to use it).
|
||||
|
||||
$ git commit -m 'Added user-manifold package' :pre
|
||||
After adding all files, the change set can be committed with some
|
||||
useful message that explains the change.
|
||||
|
||||
The "-m" switch is used to add a message to the commit. Use this to
|
||||
indicate what type of change was commited.
|
||||
|
||||
[Wisdom by Axel]
|
||||
|
||||
{"Do not use "git commit -a". the -a flag will automatically include
|
||||
*all* modified or new files. mercurial does that and it find it
|
||||
hugely annoying and often leading to accidental commits of files you
|
||||
don't want. use git add, git rm, git mv for adding, removing,
|
||||
renaming and then git commit to finalize the commit. personally, i
|
||||
find it very convenient to use the bundled gui for commits, i.e. git
|
||||
gui. typically, i will do git add and other operations, but then
|
||||
verify and review them with git gui. git gui also allows to do
|
||||
line-by-line unstaging and other convenient operations."}
|
||||
$ git commit -m 'Finally updated the github tutorial' :pre
|
||||
|
||||
After the commit, the changes can be pushed to the same branch on GitHub:
|
||||
|
||||
$ git push :pre
|
||||
|
||||
Git will ask you for your user name and password on GitHub if you have
|
||||
not configured anything. If you correctly type your user name and
|
||||
password, the change should be added to your fork on GitHub.
|
||||
not configured anything. If your local branch is not present on Github yet,
|
||||
it will ask you to add it by running
|
||||
|
||||
$ git push --set-upstream origin github-tutorial-update :pre
|
||||
|
||||
If you correctly type your user name and
|
||||
password, the feature branch should be added to your fork on GitHub.
|
||||
|
||||
If you want to make really sure you push to the right repository
|
||||
(which is good practice), you can provide it explicitly:
|
||||
@ -140,16 +167,20 @@ or using an explicit URL:
|
||||
|
||||
$ git push git@github.com:Pakketeretet2/lammps.git :pre
|
||||
|
||||
After that, you can file a new pull request based on this
|
||||
branch. GitHub will now look like this:
|
||||
:line
|
||||
|
||||
:c,image(JPG/tutorial_pull_request_feature_branch1.png)
|
||||
[Filing a pull request]
|
||||
|
||||
Up to this point in the tutorial, all changes were to {your} clones of
|
||||
LAMMPS. Eventually, however, you want this feature to be included into
|
||||
the official LAMMPS version. To do this, you will want to file a pull
|
||||
request by clicking on the "New pull request" button:
|
||||
|
||||
:c,image(JPG/tutorial_new_pull_request.png)
|
||||
|
||||
Make sure that the current branch is set to the correct one, which, in
|
||||
this case, is "add-user-manifold". Now click "New pull request". If
|
||||
done correctly, the only changes you will see are those that were made
|
||||
on this branch, so in my case, I will see nothing related to
|
||||
$\mathrm{pair\_dzugatov}.$
|
||||
this case, is "github-tutorial-update". If done correctly, the only
|
||||
changes you will see are those that were made on this branch.
|
||||
|
||||
This will open up a new window that lists changes made to the
|
||||
repository. If you are just adding new files, there is not much to do,
|
||||
@ -158,36 +189,159 @@ changes in existing files. If all changes can automatically be merged,
|
||||
green text at the top will say so and you can click the "Create pull
|
||||
request" button, see image.
|
||||
|
||||
:c,image(JPG/tutorial_pull_request2.png)
|
||||
:c,image(JPG/tutorial_create_new_pull_request1.png)
|
||||
|
||||
After this you have to specify a short title and a comment with
|
||||
details about your pull request. I guess here you write what your
|
||||
modifications do and why they should be incorporated upstream. After
|
||||
that, click the "Create pull request" button, see image below.
|
||||
Before creating the pull request, make sure the short title is accurate
|
||||
and add a comment with details about your pull request. Here you write
|
||||
what your modifications do and why they should be incorporated upstream.
|
||||
|
||||
:c,image(JPG/tutorial_pull_request3.png)
|
||||
Note the checkbox that says "Allow edits from maintainers".
|
||||
This is checked by default checkbox (although in my version of Firefox, only the checkmark is visible):
|
||||
|
||||
Now just write some nice comments, click "Comment", and that is it. It
|
||||
is now up to the maintainer(s) of the upstream repository to
|
||||
incorporate the changes into the repository and to close the pull
|
||||
request.
|
||||
:c,image(JPG/tutorial_edits_maintainers.png)
|
||||
|
||||
:c,image(JPG/tutorial_pull_request4.png)
|
||||
If it is checked, maintainers can immediately add their own edits to the
|
||||
pull request. This helps the inclusion of your branch significantly, as
|
||||
simple/trivial changes can be added directly to your pull request branch
|
||||
by the LAMMPS maintainers. The alternative would be that they make
|
||||
changes on their own version of the branch and file a reverse pull
|
||||
request to you. Just leave this box checked unless you have a very good
|
||||
reason not to.
|
||||
|
||||
Now just write some nice comments and click on "Create pull request".
|
||||
|
||||
:c,image(JPG/tutorial_create_new_pull_request2.png)
|
||||
|
||||
:line
|
||||
|
||||
[After filing a pull request]
|
||||
|
||||
NOTE: When you submit a pull request (or ask for a pull request) for the
|
||||
first time, you will receive an invitation to become a LAMMPS project
|
||||
collaborator. Please accept this invite as being a collaborator will
|
||||
simplify certain administrative tasks and will probably speed up the
|
||||
merging of your feature, too.
|
||||
|
||||
You will notice that after filing the pull request, some checks are
|
||||
performed automatically:
|
||||
|
||||
:c,image(JPG/tutorial_automated_checks.png)
|
||||
|
||||
If all is fine, you will see this:
|
||||
|
||||
:c,image(JPG/tutorial_automated_checks_passed.png)
|
||||
|
||||
If any of the checks are failing, your pull request will not be
|
||||
processed, as your changes may break compilation for certain
|
||||
configurations or may not merge cleanly. It is your responsibility
|
||||
to remove the reason(s) for the failed test(s). If you need help
|
||||
with this, please contact the LAMMPS developers by adding a comment
|
||||
explaining your problems with resolving the failed tests.
|
||||
|
||||
A few further interesting things (can) happen to pull requests before
|
||||
they are included.
|
||||
|
||||
[Additional changes]
|
||||
|
||||
Before the pull request is accepted, any additional changes you push
|
||||
into your repository will automatically become part of the pull
|
||||
request.
|
||||
First of all, any additional changes you push into your branch in your
|
||||
repository will automatically become part of the pull request:
|
||||
|
||||
:c,image(JPG/tutorial_additional_changes.png)
|
||||
|
||||
This means you can add changes that should be part of the feature after
|
||||
filing the pull request, which is useful in case you have forgotten
|
||||
them, or if a developer has requested that something needs to be changed
|
||||
before the feature can be accepted into the official LAMMPS version.
|
||||
After each push, the automated checks are run again.
|
||||
|
||||
[Assignees]
|
||||
|
||||
There is an assignee label for pull requests. If the request has not
|
||||
been reviewed by any developer yet, it is not assigned to anyone. After
|
||||
revision, a developer can choose to assign it to either a) you, b) a
|
||||
LAMMPS developer (including him/herself) or c) Steve Plimpton (sjplimp).
|
||||
|
||||
Case a) happens if changes are required on your part :ulb,l
|
||||
Case b) means that at the moment, it is being tested and reviewed by a
|
||||
LAMMPS developer with the expectation that some changes would be required.
|
||||
After the review, the developer can choose to implement changes directly
|
||||
or suggest them to you. :l
|
||||
Case c) means that the pull request has been assigned to the lead
|
||||
developer Steve Plimpton and means it is considered ready for merging. :ule,l
|
||||
|
||||
In this case, Axel assigned the tutorial to Steve:
|
||||
|
||||
:c,image(JPG/tutorial_steve_assignee.png)
|
||||
|
||||
[Edits from LAMMPS maintainers]
|
||||
|
||||
If you allowed edits from maintainers (the default), any LAMMPS
|
||||
maintainer can add changes to your pull request. In this case, both
|
||||
Axel and Richard made changes to the tutorial:
|
||||
|
||||
:c,image(JPG/tutorial_changes_others.png)
|
||||
|
||||
[Reverse pull requests]
|
||||
|
||||
Sometimes, however, you might not feel comfortable having other people
|
||||
push changes into your own branch, or maybe the maintainers are not sure
|
||||
their idea was the right one. In such a case, they can make changes,
|
||||
reassign you as the assignee, and file a "reverse pull request", i.e.
|
||||
file a pull request in your GitHub repository to include changes in the
|
||||
branch, that you have submitted as a pull request yourself. In that
|
||||
case, you can choose to merge their changes back into your branch,
|
||||
possibly make additional changes or corrections and proceed from there.
|
||||
It looks something like this:
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request.png)
|
||||
|
||||
For some reason, the highlighted button didn't work in my case, but I
|
||||
can go to my own repository and merge the pull request from there:
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request2.png)
|
||||
|
||||
Be sure to check the changes to see if you agree with them by clicking
|
||||
on the tab button:
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request3.png)
|
||||
|
||||
In this case, most of it is changes in the markup and a short rewrite of
|
||||
Axel's explanation of the "git gui" and "git add" commands.
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request4.png)
|
||||
|
||||
Because the changes are OK with us, we are going to merge by clicking on
|
||||
"Merge pull request". After a merge it looks like this:
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request5.png)
|
||||
|
||||
Now, since in the meantime our local text for the tutorial also changed,
|
||||
we need to pull Axel's change back into our branch, and merge them:
|
||||
|
||||
$ git add tutorial_github.txt
|
||||
$ git add JPG/tutorial_reverse_pull_request*.png
|
||||
$ git commit -m "Updated text and images on reverse pull requests"
|
||||
$ git pull :pre
|
||||
|
||||
In this case, the merge was painless because git could auto-merge:
|
||||
|
||||
:c,image(JPG/tutorial_reverse_pull_request6.png)
|
||||
|
||||
With Axel's changes merged in and some final text updates, our feature
|
||||
branch is now perfect as far as we are concerned, so we are going to
|
||||
commit and push again:
|
||||
|
||||
$ git add tutorial_github.txt
|
||||
$ git add JPG/tutorial_reverse_pull_request6.png
|
||||
$ git commit -m "Merged Axel's suggestions and updated text"
|
||||
$ git push git@github.com:Pakketeretet2/lammps :pre
|
||||
|
||||
|
||||
:line
|
||||
|
||||
[After a merge]
|
||||
|
||||
When everything is fine the feature branch is merged into the LAMMPS
|
||||
repositories:
|
||||
When everything is fine, the feature branch is merged into the master branch.
|
||||
|
||||
:c,image(JPG/tutorial_merged.png)
|
||||
|
||||
@ -198,17 +352,29 @@ It is in principle safe to delete them from your own fork. This helps
|
||||
keep it a bit more tidy. Note that you first have to switch to another
|
||||
branch!
|
||||
|
||||
$ git checkout lammps-icms
|
||||
$ git pull lammps-icms
|
||||
$ git branch -d add-user-manifold :pre
|
||||
$ git checkout master
|
||||
$ git pull master
|
||||
$ git branch -d github-tutorial-update :pre
|
||||
|
||||
If you do not pull first, it is not really a problem but git will warn
|
||||
you at the next statement that you are deleting a local branch that
|
||||
was not yet fully merged into HEAD. This is because git does not yet
|
||||
know your branch just got merged into lammps-icms upstream. If you
|
||||
know your branch just got merged into LAMMPS upstream. If you
|
||||
first delete and then pull, everything should still be fine.
|
||||
|
||||
Finally, if you delete the branch locally, you might want to push this
|
||||
to your remote(s) as well:
|
||||
|
||||
$ git push origin :add-user-manifold :pre
|
||||
$ git push origin :github-tutorial-update :pre
|
||||
|
||||
[Recent changes in the workflow]
|
||||
|
||||
Some changes to the workflow are not captured in this tutorial. For
|
||||
example, in addition to the master branch, to which all new features
|
||||
should be submitted, there is now also an "unstable" and a "stable"
|
||||
branch; these have the same content as "master", but are only updated
|
||||
after a patch release or stable release was made.
|
||||
Furthermore, the naming of the patches now follow the pattern
|
||||
"patch_<Day><Month><Year>" to simplify comparisons between releases.
|
||||
Finally, all patches and submissions are subject to automatic testing
|
||||
and code checks to make sure they at the very least compile.
|
||||
|
||||
462
doc/src/tutorial_pylammps.txt
Normal file
@ -0,0 +1,462 @@
|
||||
"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
|
||||
|
||||
PyLammps Tutorial :h1
|
||||
|
||||
<!-- RST
|
||||
.. contents::
|
||||
END_RST -->
|
||||
|
||||
Overview :h2
|
||||
|
||||
PyLammps is a Python wrapper class which can be created on its own or use an
|
||||
existing lammps Python object. It creates a simpler, Python-like interface to
|
||||
common LAMMPS functionality. Unlike the original flat C-types interface, it
|
||||
exposes a discoverable API. It no longer requires knowledge of the underlying
|
||||
C++ code implementation. Finally, the IPyLammps wrapper builds on top of
|
||||
PyLammps and adds some additional features for IPython integration into IPython
|
||||
notebooks, e.g. for embedded visualization output from dump/image.
|
||||
|
||||
Comparison of lammps and PyLammps interfaces :h3
|
||||
|
||||
lammps.lammps :h4
|
||||
|
||||
uses C-Types
|
||||
direct memory access to native C++ data
|
||||
provides functions to send and receive data to LAMMPS
|
||||
requires knowledge of how LAMMPS internally works (C pointers, etc) :ul
|
||||
|
||||
lammps.PyLammps :h4
|
||||
|
||||
higher-level abstraction built on top of original C-Types interface
|
||||
manipulation of Python objects
|
||||
communication with LAMMPS is hidden from API user
|
||||
shorter, more concise Python
|
||||
better IPython integration, designed for quick prototyping :ul
|
||||
|
||||
|
||||
Quick Start :h2
|
||||
|
||||
System-wide Installation :h3
|
||||
|
||||
Step 1: Building LAMMPS as a shared library :h4
|
||||
|
||||
To use LAMMPS inside of Python it has to be compiled as shared library. This
|
||||
library is then loaded by the Python interface. In this example, we use the
|
||||
Make.py utility to create a Makefile with C++ exceptions, PNG, JPEG and FFMPEG
|
||||
output support enabled. Finally, we also enable the MOLECULE package and compile
|
||||
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
|
||||
|
||||
# add packages if necessary
|
||||
make yes-MOLECULE :pre
|
||||
|
||||
# compile shared library using Makefile
|
||||
make mode=shlib auto :pre
|
||||
|
||||
Step 2: Installing the LAMMPS Python package :h4
|
||||
|
||||
PyLammps is part of the lammps Python package. To install it simply install
|
||||
that package into your current Python installation.
|
||||
|
||||
cd $LAMMPS_DIR/python
|
||||
python install.py :pre
|
||||
|
||||
NOTE: Recompiling the shared library requires reinstalling the Python package
|
||||
|
||||
|
||||
Installation inside of a virtualenv :h3
|
||||
|
||||
You can use virtualenv to create a custom Python environment specifically tuned
|
||||
for your workflow.
|
||||
|
||||
Benefits of using a virtualenv :h4
|
||||
|
||||
isolation of your system Python installation from your development installation
|
||||
installation can happen in your user directory without root access (useful for HPC clusters)
|
||||
installing packages through pip allows you to get newer versions of packages than e.g., through apt-get or yum package managers (and without root access)
|
||||
you can even install specific old versions of a package if necessary :ul
|
||||
|
||||
[Prerequisite (e.g. on Ubuntu)]
|
||||
|
||||
apt-get install python-virtualenv :pre
|
||||
|
||||
Creating a virtualenv with lammps installed :h4
|
||||
|
||||
# create virtualenv name 'testing' :pre
|
||||
|
||||
# activate 'testing' environment
|
||||
source testing/bin/activate :pre
|
||||
|
||||
# install LAMMPS package in virtualenv
|
||||
(testing) cd $LAMMPS_DIR/python
|
||||
(testing) python install.py :pre
|
||||
|
||||
# install other useful packages
|
||||
(testing) pip install matplotlib jupyter mpi4py :pre
|
||||
|
||||
... :pre
|
||||
|
||||
# return to original shell
|
||||
(testing) deactivate :pre
|
||||
|
||||
|
||||
Creating a new instance of PyLammps :h2
|
||||
|
||||
To create a PyLammps object you need to first import the class from the lammps
|
||||
module. By using the default constructor, a new {lammps} instance is created.
|
||||
|
||||
from lammps import PyLammps
|
||||
L = PyLammps() :pre
|
||||
|
||||
You can also initialize PyLammps on top of this existing {lammps} object:
|
||||
|
||||
from lammps import lammps, PyLammps
|
||||
lmp = lammps()
|
||||
L = PyLammps(ptr=lmp) :pre
|
||||
|
||||
Commands :h2
|
||||
|
||||
Sending a LAMMPS command with the existing library interfaces is done using
|
||||
the command method of the lammps object instance.
|
||||
|
||||
For instance, let's take the following LAMMPS command:
|
||||
|
||||
region box block 0 10 0 5 -0.5 0.5 :pre
|
||||
|
||||
In the original interface this command can be executed with the following
|
||||
Python code if {L} was a lammps instance:
|
||||
|
||||
L.command("region box block 0 10 0 5 -0.5 0.5") :pre
|
||||
|
||||
With the PyLammps interface, any command can be split up into arbitrary parts
|
||||
separated by whitespace, passed as individual arguments to a region method.
|
||||
|
||||
L.region("box block", 0, 10, 0, 5, -0.5, 0.5) :pre
|
||||
|
||||
Note that each parameter is set as Python literal floating-point number. In the
|
||||
PyLammps interface, each command takes an arbitrary parameter list and transparently
|
||||
merges it to a single command string, separating individual parameters by whitespace.
|
||||
|
||||
The benefit of this approach is avoiding redundant command calls and easier
|
||||
parameterization. In the original interface parametrization needed to be done
|
||||
manually by creating formatted strings.
|
||||
|
||||
L.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi)) :pre
|
||||
|
||||
In contrast, methods of PyLammps accept parameters directly and will convert
|
||||
them automatically to a final command string.
|
||||
|
||||
L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi) :pre
|
||||
|
||||
System state :h2
|
||||
|
||||
In addition to dispatching commands directly through the PyLammps object, it
|
||||
also provides several properties which allow you to query the system state.
|
||||
|
||||
:dlb
|
||||
|
||||
L.system :dt
|
||||
|
||||
Is a dictionary describing the system such as the bounding box or number of atoms :dd
|
||||
|
||||
L.system.xlo, L.system.xhi :dt
|
||||
|
||||
bounding box limits along x-axis :dd
|
||||
|
||||
L.system.ylo, L.system.yhi :dt
|
||||
|
||||
bounding box limits along y-axis :dd
|
||||
|
||||
L.system.zlo, L.system.zhi :dt
|
||||
|
||||
bounding box limits along z-axis :dd
|
||||
|
||||
L.communication :dt
|
||||
|
||||
configuration of communication subsystem, such as the number of threads or processors :dd
|
||||
|
||||
L.communication.nthreads :dt
|
||||
|
||||
number of threads used by each LAMMPS process :dd
|
||||
|
||||
L.communication.nprocs :dt
|
||||
|
||||
number of MPI processes used by LAMMPS :dd
|
||||
|
||||
L.fixes :dt
|
||||
|
||||
List of fixes in the current system :dd
|
||||
|
||||
L.computes :dt
|
||||
|
||||
List of active computes in the current system :dd
|
||||
|
||||
L.dump :dt
|
||||
|
||||
List of active dumps in the current system :dd
|
||||
|
||||
L.groups :dt
|
||||
|
||||
List of groups present in the current system :dd
|
||||
|
||||
:dle
|
||||
|
||||
Working with LAMMPS variables :h2
|
||||
|
||||
LAMMPS variables can be both defined and accessed via the PyLammps interface.
|
||||
|
||||
To define a variable you can use the "variable"_variable.html command:
|
||||
|
||||
L.variable("a index 2") :pre
|
||||
|
||||
A dictionary of all variables is returned by L.variables
|
||||
|
||||
you can access an individual variable by retrieving a variable object from the
|
||||
L.variables dictionary by name
|
||||
|
||||
a = L.variables\['a'\] :pre
|
||||
|
||||
The variable value can then be easily read and written by accessing the value
|
||||
property of this object.
|
||||
|
||||
print(a.value)
|
||||
a.value = 4 :pre
|
||||
|
||||
Retrieving the value of an arbitrary LAMMPS expressions :h2
|
||||
|
||||
LAMMPS expressions can be immediately evaluated by using the eval method. The
|
||||
passed string parameter can be any expression containing global thermo values,
|
||||
variables, compute or fix data.
|
||||
|
||||
result = L.eval("ke") # kinetic energy
|
||||
result = L.eval("pe") # potential energy :pre
|
||||
|
||||
result = L.eval("v_t/2.0") :pre
|
||||
|
||||
Accessing atom data :h2
|
||||
|
||||
All atoms in the current simulation can be accessed by using the L.atoms list.
|
||||
Each element of this list is an object which exposes its properties (id, type,
|
||||
position, velocity, force, etc.).
|
||||
|
||||
# access first atom
|
||||
L.atoms\[0\].id
|
||||
L.atoms\[0\].type :pre
|
||||
|
||||
# access second atom
|
||||
L.atoms\[1\].position
|
||||
L.atoms\[1\].velocity
|
||||
L.atoms\[1\].force :pre
|
||||
|
||||
Some properties can also be used to set:
|
||||
|
||||
# set position in 2D simulation
|
||||
L.atoms\[0\].position = (1.0, 0.0) :pre
|
||||
|
||||
# set position in 3D simulation
|
||||
L.atoms\[0\].position = (1.0, 0.0, 1.) :pre
|
||||
|
||||
Evaluating thermo data :h2
|
||||
|
||||
Each simulation run usually produces thermo output based on system state,
|
||||
computes, fixes or variables. The trajectories of these values can be queried
|
||||
after a run via the L.runs list. This list contains a growing list of run data.
|
||||
The first element is the output of the first run, the second element that of
|
||||
the second run.
|
||||
|
||||
L.run(1000)
|
||||
L.runs\[0\] # data of first 1000 time steps :pre
|
||||
|
||||
L.run(1000)
|
||||
L.runs\[1\] # data of second 1000 time steps :pre
|
||||
|
||||
Each run contains a dictionary of all trajectories. Each trajectory is
|
||||
accessible through its thermo name:
|
||||
|
||||
L.runs\[0\].step # list of time steps in first run
|
||||
L.runs\[0\].ke # list of kinetic energy values in first run :pre
|
||||
|
||||
Together with matplotlib plotting data out of LAMMPS becomes simple:
|
||||
|
||||
import matplotlib.plot as plt
|
||||
|
||||
steps = L.runs\[0\].step
|
||||
ke = L.runs\[0\].ke
|
||||
plt.plot(steps, ke) :pre
|
||||
|
||||
Error handling with PyLammps :h2
|
||||
|
||||
Compiling the shared library with C++ exception support provides a better error
|
||||
handling experience. Without exceptions the LAMMPS code will terminate the
|
||||
current Python process with an error message. C++ exceptions allow capturing
|
||||
them on the C++ side and rethrowing them on the Python side. This way you
|
||||
can handle LAMMPS errors through the Python exception handling mechanism.
|
||||
|
||||
IMPORTANT NOTE: Capturing a LAMMPS exception in Python can still mean that the
|
||||
current LAMMPS process is in an illegal state and must be terminated. It is
|
||||
advised to save your data and terminate the Python instance as quickly as
|
||||
possible.
|
||||
|
||||
Using PyLammps in IPython notebooks and Jupyter :h2
|
||||
|
||||
If the LAMMPS Python package is installed for the same Python interpreter as
|
||||
IPython, you can use PyLammps directly inside of an IPython notebook inside of
|
||||
Jupyter. Jupyter is a powerful integrated development environment (IDE) for
|
||||
many dynamic languages like Python, Julia and others, which operates inside of
|
||||
any web browser. Besides auto-completion and syntax highlighting it allows you
|
||||
to create formatted documents using Markup, mathematical formulas, graphics and
|
||||
animations intermixed with executable Python code. It is a great format for
|
||||
tutorials and showcasing your latest research.
|
||||
|
||||
To launch an instance of Jupyter simply run the following command inside your
|
||||
Python environment (this assumes you followed the Quick Start instructions):
|
||||
|
||||
jupyter notebook :pre
|
||||
|
||||
IPyLammps Examples :h2
|
||||
|
||||
Examples of IPython notebooks can be found in the python/examples/pylammps
|
||||
subdirectory. To open these notebooks launch {jupyter notebook} inside this
|
||||
directory and navigate to one of them. If you compiled and installed
|
||||
a LAMMPS shared library with execeptions, PNG, JPEG and FFMPEG support
|
||||
you should be able to rerun all of these notebooks.
|
||||
|
||||
Validating a dihedral potential :h3
|
||||
|
||||
This example showcases how an IPython Notebook can be used to compare a simple
|
||||
LAMMPS simulation of a harmonic dihedral potential to its analytical solution.
|
||||
Four atoms are placed in the simulation and the dihedral potential is applied on
|
||||
them using a datafile. Then one of the atoms is rotated along the central axis by
|
||||
setting its position from Python, which changes the dihedral angle.
|
||||
|
||||
phi = \[d * math.pi / 180 for d in range(360)\] :pre
|
||||
|
||||
pos = \[(1.0, math.cos(p), math.sin(p)) for p in phi\] :pre
|
||||
|
||||
pe = \[\]
|
||||
for p in pos:
|
||||
L.atoms\[3\].position = p
|
||||
L.run(0)
|
||||
pe.append(L.eval("pe")) :pre
|
||||
|
||||
By evaluating the potential energy for each position we can verify that
|
||||
trajectory with the analytical formula. To compare both solutions, we plot
|
||||
both trajectories over each other using matplotlib, which embeds the generated
|
||||
plot inside the IPython notebook.
|
||||
|
||||
:c,image(JPG/pylammps_dihedral.jpg)
|
||||
|
||||
Running a Monte Carlo relaxation :h3
|
||||
|
||||
This second example shows how to use PyLammps to create a 2D Monte Carlo Relaxation
|
||||
simulation, computing and plotting energy terms and even embedding video output.
|
||||
|
||||
Initially, a 2D system is created in a state with minimal energy.
|
||||
|
||||
:c,image(JPG/pylammps_mc_minimum.jpg)
|
||||
|
||||
It is then disordered by moving each atom by a random delta.
|
||||
|
||||
random.seed(27848)
|
||||
deltaperturb = 0.2 :pre
|
||||
|
||||
for i in range(L.system.natoms):
|
||||
x, y = L.atoms\[i\].position
|
||||
dx = deltaperturb * random.uniform(-1, 1)
|
||||
dy = deltaperturb * random.uniform(-1, 1)
|
||||
L.atoms\[i\].position = (x+dx, y+dy) :pre
|
||||
|
||||
L.run(0) :pre
|
||||
|
||||
:c,image(JPG/pylammps_mc_disordered.jpg)
|
||||
|
||||
Finally, the Monte Carlo algorithm is implemented in Python. It continuously
|
||||
moves random atoms by a random delta and only accepts certain moves.
|
||||
|
||||
estart = L.eval("pe")
|
||||
elast = estart :pre
|
||||
|
||||
naccept = 0
|
||||
energies = \[estart\] :pre
|
||||
|
||||
niterations = 3000
|
||||
deltamove = 0.1
|
||||
kT = 0.05 :pre
|
||||
|
||||
natoms = L.system.natoms :pre
|
||||
|
||||
for i in range(niterations):
|
||||
iatom = random.randrange(0, natoms)
|
||||
current_atom = L.atoms\[iatom\] :pre
|
||||
|
||||
x0, y0 = current_atom.position :pre
|
||||
|
||||
dx = deltamove * random.uniform(-1, 1)
|
||||
dy = deltamove * random.uniform(-1, 1) :pre
|
||||
|
||||
current_atom.position = (x0+dx, y0+dy) :pre
|
||||
|
||||
L.run(1, "pre no post no") :pre
|
||||
|
||||
e = L.eval("pe")
|
||||
energies.append(e) :pre
|
||||
|
||||
if e <= elast:
|
||||
naccept += 1
|
||||
elast = e
|
||||
elif random.random() <= math.exp(natoms*(elast-e)/kT):
|
||||
naccept += 1
|
||||
elast = e
|
||||
else:
|
||||
current_atom.position = (x0, y0) :pre
|
||||
|
||||
The energies of each iteration are collected in a Python list and finally plotted using matplotlib.
|
||||
|
||||
:c,image(JPG/pylammps_mc_energies_plot.jpg)
|
||||
|
||||
The IPython notebook also shows how to use dump commands and embed video files
|
||||
inside of the IPython notebook.
|
||||
|
||||
Using PyLammps and mpi4py (Experimental) :h2
|
||||
|
||||
PyLammps can be run in parallel using mpi4py. This python package can be installed using
|
||||
|
||||
pip install mpi4py :pre
|
||||
|
||||
The following is a short example which reads in an existing LAMMPS input file and
|
||||
executes it in parallel. You can find in.melt in the examples/melt folder.
|
||||
|
||||
from mpi4py import MPI
|
||||
from lammps import PyLammps :pre
|
||||
|
||||
L = PyLammps()
|
||||
L.file("in.melt") :pre
|
||||
|
||||
if MPI.COMM_WORLD.rank == 0:
|
||||
print("Potential energy: ", L.eval("pe")) :pre
|
||||
|
||||
MPI.Finalize() :pre
|
||||
|
||||
To run this script (melt.py) in parallel using 4 MPI processes we invoke the
|
||||
following mpirun command:
|
||||
|
||||
mpirun -np 4 python melt.py :pre
|
||||
|
||||
IMPORTANT NOTE: Any command must be executed by all MPI processes. However, evaluations and querying the system state is only available on rank 0.
|
||||
|
||||
Feedback and Contributing :h2
|
||||
|
||||
If you find this Python interface useful, please feel free to provide feedback
|
||||
and ideas on how to improve it to Richard Berger (richard.berger@temple.edu). We also
|
||||
want to encourage people to write tutorial style IPython notebooks showcasing LAMMPS usage
|
||||
and maybe their latest research results.
|
||||
@ -7,6 +7,7 @@ Tutorials :h1
|
||||
|
||||
tutorial_drude
|
||||
tutorial_github
|
||||
tutorial_pylammps
|
||||
body
|
||||
manifolds
|
||||
|
||||
|
||||
@ -35,129 +35,133 @@ thermo_modify format float %24.16f
|
||||
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.6
|
||||
ghost atom cutoff = 10.6
|
||||
binsize = 5.3 -> bins = 25 25 25
|
||||
Memory usage per processor = 3.36353 Mbytes
|
||||
binsize = 5.3, bins = 25 25 25
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair dpd/fdt/energy, perpetual
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Memory usage per processor = 4.28221 Mbytes
|
||||
Step Temp Press PotEng KinEng c_dpdU[1] c_dpdU[2] v_totEnergy c_dpdU[4]
|
||||
0 301.4391322267262012 1636.1776395935085020 1188.6488072196075336 394.4722035796053206 7852.5601874986105031 7852.5601874986105031 17288.2413857964347699 299.9999999999841407
|
||||
10 301.4791572483523510 1486.4422375141198245 1188.7147620806101713 394.5245815119678241 7852.5601874999802021 7852.3731942333779443 17288.1727253259377903 299.9960221120699089
|
||||
20 301.4275643919337426 1677.9356110821624952 1188.7839634625399867 394.4570655673388728 7852.5601874999938445 7852.3711851933012440 17288.1724017231754260 299.9955485734552099
|
||||
30 301.2240988054542186 1452.7304951528931269 1188.8550809767796181 394.1908044563202225 7852.5601875000002110 7852.5679666239848302 17288.1740395570850524 299.9988968405210130
|
||||
40 301.1023506886409677 1527.9758363521380033 1188.9264527568634549 394.0314812537677653 7852.5601874999947540 7852.6574764573806533 17288.1755979680056043 300.0001694462812338
|
||||
50 301.0409654880461972 1597.1737251233498682 1188.9944523606982330 393.9511507566391515 7852.5601875000029395 7852.6700547249911324 17288.1758453423317405 299.9999653064982681
|
||||
60 301.2904978886139133 1610.8630327676828529 1189.0651026961211301 394.2776962691256131 7852.5601874999829306 7852.2734988976435488 17288.1764853628737910 299.9919857290491905
|
||||
70 300.8575037843163500 1489.3259312130880971 1189.1295686642290548 393.7110673208616731 7852.5601874999856591 7852.7707182199101226 17288.1715417049854295 300.0010992278233175
|
||||
80 300.5955830326474825 1449.3896097889587509 1189.1880764967559116 393.3683100440913449 7852.5601875000411383 7853.0484238882281716 17288.1649979291178170 300.0059513551503301
|
||||
90 301.0092332775843147 1553.9266324350364812 1189.2470037925052111 393.9096250433288446 7852.5601875000420478 7852.4452067113825251 17288.1620230472581170 299.9940347326859182
|
||||
100 301.0478004479094238 1539.2270336322194453 1189.3010269201699884 393.9600951881690207 7852.5601875000074870 7852.3416236045995902 17288.1629332129450631 299.9916385566916119
|
||||
110 300.9609384905550087 1500.0429484565006533 1189.3524514939088021 393.8464250502817663 7852.5601874999983920 7852.4114980357189779 17288.1705620799075405 299.9925626482005327
|
||||
120 300.9625536631411933 1630.5065919443034090 1189.4006029528841282 393.8485387131115658 7852.5601875000575092 7852.3600810123671181 17288.1694101784196391 299.9911580775880680
|
||||
130 301.0373750247310340 1539.2267307640183844 1189.4426173625224692 393.9464521696795032 7852.5601874999993015 7852.2178388309775983 17288.1670958631802932 299.9879581026651749
|
||||
140 300.7465104415114752 1550.8353679735087098 1189.4887352231000932 393.5658181350791551 7852.5601874999920256 7852.5559582333216895 17288.1706990914935886 299.9939749909034958
|
||||
150 300.6667173911141617 1634.8987162883277051 1189.5368575067818711 393.4613985788388959 7852.5601874999920256 7852.6079668015609059 17288.1664103871735279 299.9946423938895350
|
||||
160 300.4684731724562425 1462.9400882126803936 1189.5825022927965620 393.2019703048678707 7852.5601874999847496 7852.8265187980177870 17288.1711788956672535 299.9983600613423960
|
||||
170 300.1439323338466920 1510.2352578813552100 1189.6305700279478970 392.7772665220106774 7852.5601874999802021 7853.2009671047335360 17288.1689911546709482 300.0051118582463232
|
||||
180 300.1074244553407198 1529.6307083879951279 1189.6764977580119194 392.7294912276224181 7852.5601874999729262 7853.2047509722533505 17288.1709274578606710 300.0047089238623812
|
||||
190 300.4193298066089142 1546.3205495807171701 1189.7172820166240399 393.1376598363699486 7852.5601874999847496 7852.7461854379371289 17288.1613147909156396 299.9954451643528728
|
||||
200 300.3353919251508728 1532.5496449337254035 1189.7600175880224924 393.0278162310690391 7852.5601874999683787 7852.8107089913455638 17288.1587303104060993 299.9962707550171785
|
||||
210 300.3276568499739483 1504.8178651700843602 1189.7998299597820733 393.0176938818990493 7852.5601875000156724 7852.7810130200659842 17288.1587243617614149 299.9953436245502871
|
||||
220 300.5768315696971626 1592.5896084568344122 1189.8391466344742184 393.3437713226064716 7852.5601875000329528 7852.4205574703573802 17288.1636629274726147 299.9880321846658831
|
||||
230 300.6587445618569063 1672.3049358942289473 1189.8766340798690635 393.4509650976162334 7852.5601874999847496 7852.2733199687863817 17288.1611066462573945 299.9848228571166828
|
||||
240 300.7517707836825025 1527.1722267937811921 1189.9126240081129708 393.5727019751183207 7852.5601875000065775 7852.1160682173085661 17288.1615817005440476 299.9814952182625802
|
||||
250 300.8473715548367409 1589.1847713095248764 1189.9441342461948352 393.6978079843565865 7852.5601875000047585 7851.9625847797888127 17288.1647145103452203 299.9782210858571148
|
||||
260 300.8450266408960942 1623.1896863377055524 1189.9636161513917614 393.6947393603111891 7852.5601874999820211 7851.9471828473988353 17288.1657258590821584 299.9775302202895659
|
||||
270 300.6663619570709898 1564.5160171187899323 1189.9764081239700317 393.4609334472908131 7852.5601875000193104 7852.1708276117251444 17288.1683566830033669 299.9812899253168439
|
||||
280 300.7668534205726019 1618.5400526904263643 1189.9872008155405183 393.5924395618274048 7852.5601875000184009 7852.0271568534708422 17288.1669847308585304 299.9781169783826158
|
||||
290 300.8462727198648849 1562.6765776748122789 1189.9918265985252219 393.6963700162682471 7852.5601875000211294 7851.9189772084127981 17288.1673613232269417 299.9756806168044250
|
||||
300 300.8095414073812890 1525.1785808192844343 1189.9873922767767453 393.6483023295390922 7852.5601875000020300 7851.9657301693578120 17288.1616122756749974 299.9761279889730758
|
||||
310 300.9496330741350221 1566.5597234051326723 1189.9752299662607129 393.8316304464934774 7852.5601875000056680 7851.7898117189633922 17288.1568596317229094 299.9723726900590464
|
||||
320 301.2370566356515837 1513.6869483705047514 1189.9626455872523820 394.2077614578674343 7852.5601874999929350 7851.4248466706330873 17288.1554412157456682 299.9650543775110236
|
||||
330 301.3279721508968692 1549.0667862452519330 1189.9513389477854162 394.3267362020337146 7852.5601874999929350 7851.3129955581916875 17288.1512582080031279 299.9625537201162615
|
||||
340 301.1145736537583844 1414.7930515101759283 1189.9408691169965095 394.0474765890400590 7852.5601874999993015 7851.6028846074832472 17288.1514178135184920 299.9677356565828745
|
||||
350 301.1651600907370039 1529.8016115175887535 1189.9314470205476937 394.1136755032911196 7852.5601874999929350 7851.5441417268757505 17288.1494517507089768 299.9662576716461331
|
||||
360 301.0550563185083206 1536.7721716375504002 1189.9200519814730796 393.9695904359920178 7852.5601875000074870 7851.7101209691463737 17288.1599508866202086 299.9690811750865009
|
||||
370 301.1008976932964742 1522.3385843459479929 1189.9109162496640693 394.0295798208944120 7852.5601875000211294 7851.6603423306560217 17288.1610259012340975 299.9677565060027860
|
||||
380 301.1656898730700505 1505.0548721701993600 1189.9005648244351505 394.1143687921909304 7852.5601875000056680 7851.5816827598300733 17288.1568038764598896 299.9659906785156522
|
||||
390 300.8379322662876802 1740.9151205755624687 1189.8851457594087151 393.6854554509390596 7852.5601875000238579 7852.0268864110385039 17288.1576751214088290 299.9741278188615752
|
||||
400 300.8663790447546376 1564.9461156870302148 1189.8690133470408909 393.7226817503372445 7852.5601875000411383 7852.0043792319993372 17288.1562618294192362 299.9732593416579789
|
||||
410 300.6263441860635908 1564.2840871092373618 1189.8566574093877080 393.4085650033033517 7852.5601874999892971 7852.3284491703725507 17288.1538590830532485 299.9792095875052951
|
||||
420 300.5302259436974168 1438.1569922368764765 1189.8406936554465574 393.2827818158641549 7852.5601875000302243 7852.4696075433648730 17288.1532705147074012 299.9815165752025337
|
||||
430 300.5877786105220935 1503.3641639033023694 1189.8251514530138593 393.3580969454444016 7852.5601874999802021 7852.4023373559457468 17288.1457732543858583 299.9798346272511935
|
||||
440 300.7289160804472772 1689.2527029957295781 1189.8035410609209066 393.5427936314976591 7852.5601875000029395 7852.2436462415198548 17288.1501684339418716 299.9764596782897570
|
||||
450 300.9487198282456575 1497.3668092174791582 1189.7808137689632986 393.8304353457919547 7852.5601874999938445 7851.9788323927432430 17288.1502690074921702 299.9710227473042323
|
||||
460 300.9359942496024587 1625.1573864018491804 1189.7615359247627111 393.8137822755282400 7852.5601875000147629 7852.0165192783370003 17288.1520249786408385 299.9713565393226986
|
||||
470 301.0000133856357252 1486.1561922844011860 1189.7439269526955741 393.8975596188205941 7852.5601874999656502 7851.9561324572268859 17288.1578065287103527 299.9697143418395626
|
||||
480 300.8568627175957886 1535.6080526199095857 1189.7237810071801505 393.7102284019063063 7852.5601874999601932 7852.1697010727630186 17288.1638979818089865 299.9732503057674080
|
||||
490 301.0608040775520067 1497.3221544489886128 1189.7062242497636362 393.9771121242308709 7852.5601874999974825 7851.9258988739011329 17288.1694227478947141 299.9682362511933320
|
||||
500 301.0232592587148019 1517.5854528541199215 1189.6911287485861521 393.9279798589197981 7852.5601875000247674 7851.9823225510326665 17288.1616186585633841 299.9690333355835037
|
||||
510 300.7038579923685120 1420.2615974401142012 1189.6747661513456933 393.5100018730125839 7852.5601874999674692 7852.4114869568047652 17288.1564424811294884 299.9768186576545759
|
||||
520 300.5917863355052759 1537.4862082427132464 1189.6604754398756540 393.3633415734188361 7852.5601875000029395 7852.5789017095057716 17288.1629062228021212 299.9795694302102333
|
||||
530 300.4751352158502868 1481.1071694751799441 1189.6453243069925065 393.2106884527691477 7852.5601874999811116 7852.7451655714066874 17288.1613658311471227 299.9823181268525900
|
||||
540 300.5380123640739498 1547.3461372766389559 1189.6261485232855648 393.2929713568877332 7852.5601875000375003 7852.6850583598352387 17288.1643657400454686 299.9808112190538623
|
||||
550 300.4253885005187499 1544.3485889749692888 1189.6033595464525661 393.1455884232119047 7852.5601874999756546 7852.8598718466746504 17288.1690073163154011 299.9835860164698147
|
||||
560 300.3263552442093101 1556.5150300058251105 1189.5759163336824713 393.0159905619273673 7852.5601875000111249 7853.0148613782675966 17288.1669557738860021 299.9861837797674866
|
||||
570 300.1977324643196425 1511.2320626303917379 1189.5441090918316149 392.8476709710407704 7852.5601875000102154 7853.2098259401755058 17288.1617935030590161 299.9896761688499964
|
||||
580 300.3543631005173893 1588.9566243200433746 1189.5094471319721379 393.0526424747489500 7852.5601875000156724 7853.0374555421631158 17288.1597326488990802 299.9859298211933378
|
||||
590 300.5019108864805730 1504.4406939723214691 1189.4809412920112663 393.2457278908070748 7852.5601874999874781 7852.8704277855340479 17288.1572844683396397 299.9823573257917815
|
||||
600 300.4791158523048011 1540.4690749004150803 1189.4551948503105905 393.2158976318902432 7852.5601875000220389 7852.9312239063838206 17288.1625038886049879 299.9832002920041987
|
||||
610 300.5939139841889869 1368.0565839211087678 1189.4252547652590692 393.3661258776944578 7852.5601874999574648 7852.8130977336286378 17288.1646658765384927 299.9807742697515778
|
||||
620 300.7674247480806002 1483.2566452708945235 1189.3941250938435132 393.5931872179773450 7852.5601875000193104 7852.6187967208716145 17288.1662965327122947 299.9766963671718258
|
||||
630 300.7920034341021278 1543.0699124130637756 1189.3598279316649950 393.6253516166882491 7852.5601875000302243 7852.6219971866230480 17288.1673642350069713 299.9762538437230432
|
||||
640 300.8032734267029014 1423.2549819291616586 1189.3293074476885067 393.6400998638143278 7852.5601874999847496 7852.6384826097782934 17288.1680774212654796 299.9762118202994543
|
||||
650 300.7516995878241346 1542.6559695158523482 1189.3021161045705867 393.5726088061030055 7852.5601874999720167 7852.7361949473242930 17288.1711073579681397 299.9775656396505497
|
||||
660 300.8699697098109596 1675.5121937767839881 1189.2687179804190691 393.7273806013013768 7852.5601874999802021 7852.6179739687149777 17288.1742600504148868 299.9750492262036801
|
||||
670 301.0255004186900578 1520.7397686587873977 1189.2284265783687260 393.9309127074437242 7852.5601874999847496 7852.4592279727157802 17288.1787547585117863 299.9715123049731460
|
||||
680 301.1071983488760679 1651.9751417063259851 1189.1858967311386550 394.0378250459656329 7852.5601875000002110 7852.3982826328638112 17288.1821919099675142 299.9699481289110850
|
||||
690 301.0027086454253435 1496.1607274163641250 1189.1436949551202815 393.9010867158519886 7852.5601875000293148 7852.5788938360938118 17288.1838630070960789 299.9731939774295597
|
||||
700 300.9009090279179759 1551.8182127127668082 1189.0993919251338866 393.7678687121208441 7852.5601875000102154 7852.7513665452252098 17288.1788146824910655 299.9761043445071209
|
||||
710 301.2325536720837817 1678.1546953970853338 1189.0528341066981284 394.2018687459686817 7852.5601874999956635 7852.3633298995819132 17288.1782202522445004 299.9683013583347133
|
||||
720 301.2122298224125529 1524.1415452491430642 1189.0046957644285612 394.1752723525083866 7852.5601875000093059 7852.4351629896145823 17288.1753186065616319 299.9693315350040734
|
||||
730 301.0763282392692304 1547.1987029633166912 1188.9602551214045434 393.9974275034455218 7852.5601874999883876 7852.6518053705112834 17288.1696754953518393 299.9732715774841267
|
||||
740 301.3262401480515109 1544.7045314021493141 1188.9131307177485724 394.3244696516559884 7852.5601874999965730 7852.3694201272974169 17288.1672079966992897 299.9674666811455950
|
||||
750 301.5740779122830304 1591.1785078054851965 1188.8637580645938669 394.6487975126887022 7852.5601875000029395 7852.0919529470393172 17288.1646960243233480 299.9616008527094095
|
||||
760 301.4385361878654521 1547.3218422039201414 1188.8113669183098864 394.4714235854450521 7852.5601874999838401 7852.3161911124070684 17288.1591691161447670 299.9656339783694534
|
||||
770 301.6110125684814420 1494.5039561806622714 1188.7581685915934031 394.6971313010439530 7852.5601875000083965 7852.1351720579104949 17288.1506594505553949 299.9619855799395509
|
||||
780 301.8360352039435384 1588.1458619705292676 1188.7039178696472845 394.9916026067776329 7852.5601874999956635 7851.9015195838428554 17288.1572275602629816 299.9572350302977952
|
||||
790 302.1008324754310479 1545.4409171812178556 1188.6491103416560691 395.3381241828382144 7852.5601875000138534 7851.6150048936624444 17288.1624269181702402 299.9513959104631340
|
||||
800 301.9660372380565718 1563.9565804790736365 1188.5964649891604950 395.1617271307158035 7852.5601874999874781 7851.8461249560614306 17288.1645045759250934 299.9555810527747326
|
||||
810 302.0507207347627627 1511.4560763489957935 1188.5468477146612258 395.2725464702810996 7852.5601875000120344 7851.7904104899025697 17288.1699921748586348 299.9541551776504775
|
||||
820 302.4700213214911741 1458.5135514273570152 1188.4981381693974072 395.8212556746473751 7852.5601875000202199 7851.2935886962204677 17288.1731700402851857 299.9441803241180651
|
||||
830 302.2853997979337350 1496.2544527963129894 1188.4496917372191547 395.5796544641875698 7852.5601875000447762 7851.5862641793482908 17288.1757978808018379 299.9494768794835977
|
||||
840 302.0840465730901201 1518.8301331998704882 1188.3994383226176978 395.3161576523596636 7852.5601875000038490 7851.8962146812327774 17288.1719981562127941 299.9550476592922337
|
||||
850 301.8910942560261788 1469.8827850510901953 1188.3489956121345585 395.0636545180261692 7852.5601874999829306 7852.2025804631493884 17288.1754180932912277 299.9606927700139067
|
||||
860 301.7284384160519153 1657.6802015862324424 1188.3052233777652873 394.8507982536594341 7852.5601875000093059 7852.4644669022691232 17288.1806760337058222 299.9652835238809985
|
||||
870 301.6331619894115192 1501.5829953208524330 1188.2628815714097072 394.7261166912876433 7852.5601875000202199 7852.6378180648598573 17288.1870038275774277 299.9682811831179379
|
||||
880 301.3703918424367316 1499.1595903074553462 1188.2195190931643083 394.3822478705861272 7852.5601874999956635 7853.0266423250832304 17288.1885967888301820 299.9755099056966401
|
||||
890 301.4157954313303662 1598.8758859042511631 1188.1845892608291706 394.4416643558612918 7852.5601875000065775 7853.0036606192506952 17288.1901017359487014 299.9745322513492738
|
||||
900 301.4752150615485675 1621.2148728756822038 1188.1517520946135846 394.5194226492019993 7852.5601874999711072 7852.9579580608560718 17288.1893203046420240 299.9733125337182287
|
||||
910 301.4308816315938770 1538.4823217911632582 1188.1159856659232901 394.4614066057066566 7852.5601875000002110 7853.0558695713261841 17288.1934493429580471 299.9748317405193916
|
||||
920 301.4323110133492492 1594.7193046491217956 1188.0835779842032025 394.4632771371357762 7852.5601875000202199 7853.0942701464364291 17288.2013127677964803 299.9751127806911200
|
||||
930 301.4801256941950101 1387.6885377097617038 1188.0464206196895702 394.5258488489681099 7852.5601875000229484 7853.0656502842994087 17288.1981072529815719 299.9740698440909910
|
||||
940 301.8075611840245074 1534.2487040663793323 1188.0124217312886685 394.9543406584059539 7852.5601874999701977 7852.6729444202819650 17288.1998943099461030 299.9660570413493588
|
||||
950 301.6915970126173647 1567.7725992489238251 1187.9790455470049437 394.8025864986412898 7852.5601875000274958 7852.8619557087595240 17288.2037752544347313 299.9694678653150959
|
||||
960 301.6392594677008105 1504.8502165144939227 1187.9439133338105421 394.7340960325207675 7852.5601874999711072 7852.9728807988849439 17288.2110776651898050 299.9711546356286362
|
||||
970 301.6049535791644303 1514.0198965433548892 1187.9094123369413865 394.6892023276233772 7852.5601874999765641 7853.0497909819878259 17288.2085931465298927 299.9722547114341751
|
||||
980 301.2982841679705643 1634.1208149125807267 1187.8768454876480973 394.2878856256063500 7852.5601874999856591 7853.4862008383515786 17288.2111194515891839 299.9802110109069986
|
||||
990 301.2573007350166563 1489.7316698898257528 1187.8432331161868660 394.2342534877078606 7852.5601875000047585 7853.5840096862748396 17288.2216837901723920 299.9819468620868292
|
||||
1000 301.3195135766228532 1562.6587211933920116 1187.8034267774903583 394.3156670604516307 7852.5601874999356369 7853.5372636956635688 17288.2165450335414789 299.9807651637231629
|
||||
Loop time of 21.3308 on 1 procs for 1000 steps with 10125 atoms
|
||||
0 301.4391322267262012 1636.1776395935080473 1188.6488072196075336 394.4722035796053206 0.0000000000000000 15705.1203749972210062 17288.2413857964347699 299.9999999999841407
|
||||
10 301.4791572483523510 1486.4422375141214161 1188.7147620806101713 394.5245815119678241 0.0000000000000000 15704.9333817333845218 17288.1727253259632562 299.9960221120699089
|
||||
20 301.4275643919337995 1677.9356110821622678 1188.7839634625399867 394.4570655673389865 -0.0000000000000000 15704.9313726932996360 17288.1724017231790640 299.9955485734552667
|
||||
30 301.2240988054542186 1452.7304951528922174 1188.8550809767796181 394.1908044563202225 -0.0000000000000000 15705.1281541239713988 17288.1740395570705005 299.9988968405209562
|
||||
40 301.1023506886409109 1527.9758363521384581 1188.9264527568634549 394.0314812537677085 -0.0000000000000000 15705.2176639573335706 17288.1755979679655866 300.0001694462812907
|
||||
50 301.0409654880461972 1597.1737251233505503 1188.9944523606984603 393.9511507566391515 -0.0000000000000000 15705.2302422249904339 17288.1758453423281026 299.9999653064982112
|
||||
60 301.2904978886138565 1610.8630327676828529 1189.0651026961211301 394.2776962691255562 -0.0000000000000000 15704.8336863976528548 17288.1764853628992569 299.9919857290491905
|
||||
70 300.8575037843164068 1489.3259312130892340 1189.1295686642290548 393.7110673208617300 0.0000000000000000 15705.3309057198275696 17288.1715417049199459 300.0010992278232607
|
||||
80 300.5955830326474825 1449.3896097889576140 1189.1880764967559116 393.3683100440913449 -0.0000000000000000 15705.6086113882302016 17288.1649979290777992 300.0059513551502164
|
||||
90 301.0092332775843147 1553.9266324350371633 1189.2470037925056658 393.9096250433288446 -0.0000000000000000 15705.0053942113881931 17288.1620230472217372 299.9940347326859182
|
||||
100 301.0478004479094238 1539.2270336322201274 1189.3010269201699884 393.9600951881690207 -0.0000000000000000 15704.9018111045588739 17288.1629332128977694 299.9916385566916119
|
||||
110 300.9609384905550655 1500.0429484565015628 1189.3524514939088021 393.8464250502818231 -0.0000000000000000 15704.9716855356964516 17288.1705620798857126 299.9925626482006464
|
||||
120 300.9625536631413070 1630.5065919443020448 1189.4006029528841282 393.8485387131116795 0.0000000000000000 15704.9202685123345873 17288.1694101783286897 299.9911580775880680
|
||||
130 301.0373750247309772 1539.2267307640188392 1189.4426173625224692 393.9464521696794463 -0.0000000000000000 15704.7780263310032751 17288.1670958632057591 299.9879581026650044
|
||||
140 300.7465104415114183 1550.8353679735089372 1189.4887352231000932 393.5658181350790983 0.0000000000000000 15705.1161457332873397 17288.1706990914681228 299.9939749909034958
|
||||
150 300.6667173911142186 1634.8987162883267956 1189.5368575067818711 393.4613985788390096 0.0000000000000000 15705.1681543015274656 17288.1664103871480620 299.9946423938894213
|
||||
160 300.4684731724561857 1462.9400882126797114 1189.5825022927965620 393.2019703048678139 0.0000000000000000 15705.3867062980680203 17288.1711788957327371 299.9983600613422254
|
||||
170 300.1439323338466920 1510.2352578813547552 1189.6305700279476696 392.7772665220106774 -0.0000000000000000 15705.7611546046609874 17288.1689911546200165 300.0051118582463232
|
||||
180 300.1074244553407766 1529.6307083879964921 1189.6764977580119194 392.7294912276225318 -0.0000000000000000 15705.7649384723172261 17288.1709274579516205 300.0047089238623812
|
||||
190 300.4193298066088573 1546.3205495807169427 1189.7172820166242673 393.1376598363698349 0.0000000000000000 15705.3063729379555298 17288.1613147909483814 299.9954451643527022
|
||||
200 300.3353919251508728 1532.5496449337249487 1189.7600175880224924 393.0278162310690391 -0.0000000000000000 15705.3708964914076205 17288.1587303105006868 299.9962707550172922
|
||||
210 300.3276568499739483 1504.8178651700850423 1189.7998299597820733 393.0176938818990493 0.0000000000000000 15705.3412005200552812 17288.1587243617359491 299.9953436245502871
|
||||
220 300.5768315696972195 1592.5896084568353217 1189.8391466344739911 393.3437713226065284 -0.0000000000000000 15704.9807449702821032 17288.1636629273634753 299.9880321846658262
|
||||
230 300.6587445618569063 1672.3049358942282652 1189.8766340798690635 393.4509650976162334 0.0000000000000000 15704.8335074687693123 17288.1611066462537565 299.9848228571169102
|
||||
240 300.7517707836825025 1527.1722267937814195 1189.9126240081131982 393.5727019751183207 -0.0000000000000000 15704.6762557172896777 17288.1615817005222198 299.9814952182625802
|
||||
250 300.8473715548367409 1589.1847713095232848 1189.9441342461948352 393.6978079843565865 0.0000000000000000 15704.5227722798481409 17288.1647145103997900 299.9782210858571148
|
||||
260 300.8450266408959806 1623.1896863377055524 1189.9636161513917614 393.6947393603110186 0.0000000000000000 15704.5073703474117792 17288.1657258591149002 299.9775302202894522
|
||||
270 300.6663619570710466 1564.5160171187892502 1189.9764081239700317 393.4609334472908699 0.0000000000000000 15704.7310151116998895 17288.1683566829597112 299.9812899253167302
|
||||
280 300.7668534205727155 1618.5400526904256822 1189.9872008155405183 393.5924395618275184 0.0000000000000000 15704.5873443533891987 17288.1669847307566670 299.9781169783825590
|
||||
290 300.8462727198648281 1562.6765776748138705 1189.9918265985252219 393.6963700162681334 0.0000000000000000 15704.4791647084566648 17288.1673613232487696 299.9756806168042544
|
||||
300 300.8095414073812890 1525.1785808192844343 1189.9873922767767453 393.6483023295390922 0.0000000000000000 15704.5259176693853078 17288.1616122757004632 299.9761279889731327
|
||||
310 300.9496330741349652 1566.5597234051326723 1189.9752299662607129 393.8316304464933637 0.0000000000000000 15704.3499992189717887 17288.1568596317265474 299.9723726900589327
|
||||
320 301.2370566356514132 1513.6869483705036146 1189.9626455872523820 394.2077614578672069 0.0000000000000000 15703.9850341706151085 17288.1554412157347542 299.9650543775107394
|
||||
330 301.3279721508969260 1549.0667862452526151 1189.9513389477854162 394.3267362020338282 0.0000000000000000 15703.8731830581982649 17288.1512582080176799 299.9625537201162615
|
||||
340 301.1145736537582707 1414.7930515101757010 1189.9408691169962822 394.0474765890398885 0.0000000000000000 15704.1630721074998291 17288.1514178135366819 299.9677356565827040
|
||||
350 301.1651600907369470 1529.8016115175894356 1189.9314470205474663 394.1136755032910628 0.0000000000000000 15704.1043292268568621 17288.1494517506944248 299.9662576716459625
|
||||
360 301.0550563185083206 1536.7721716375513097 1189.9200519814730796 393.9695904359920178 0.0000000000000000 15704.2703084691693221 17288.1599508866347605 299.9690811750866146
|
||||
370 301.1008976932965311 1522.3385843459491298 1189.9109162496640693 394.0295798208944689 0.0000000000000000 15704.2205298306434997 17288.1610259012013557 299.9677565060027860
|
||||
380 301.1656898730701073 1505.0548721701995873 1189.9005648244356053 394.1143687921909873 -0.0000000000000000 15704.1418702597857191 17288.1568038764125959 299.9659906785157091
|
||||
390 300.8379322662877371 1740.9151205755633782 1189.8851457594089425 393.6854554509391164 -0.0000000000000000 15704.5870739109432179 17288.1576751212924137 299.9741278188614046
|
||||
400 300.8663790447545239 1564.9461156870302148 1189.8690133470406636 393.7226817503371308 0.0000000000000000 15704.5645667319495260 17288.1562618293282867 299.9732593416576947
|
||||
410 300.6263441860637045 1564.2840871092375892 1189.8566574093874806 393.4085650033035222 -0.0000000000000000 15704.8886366703736712 17288.1538590830641624 299.9792095875053519
|
||||
420 300.5302259436973031 1438.1569922368769312 1189.8406936554461026 393.2827818158640412 0.0000000000000000 15705.0297950433650840 17288.1532705146746594 299.9815165752024768
|
||||
430 300.5877786105221503 1503.3641639033021420 1189.8251514530136319 393.3580969454445153 -0.0000000000000000 15704.9625248558968451 17288.1457732543567545 299.9798346272512504
|
||||
440 300.7289160804472772 1689.2527029957295781 1189.8035410609209066 393.5427936314976591 -0.0000000000000000 15704.8038337415237038 17288.1501684339418716 299.9764596782894728
|
||||
450 300.9487198282456006 1497.3668092174784761 1189.7808137689632986 393.8304353457918978 -0.0000000000000000 15704.5390198927143501 17288.1502690074703423 299.9710227473042323
|
||||
460 300.9359942496024019 1625.1573864018473614 1189.7615359247631659 393.8137822755281263 0.0000000000000000 15704.5767067783035600 17288.1520249785935448 299.9713565393225849
|
||||
470 301.0000133856357252 1486.1561922844020955 1189.7439269526958014 393.8975596188205941 0.0000000000000000 15704.5163199572089070 17288.1578065287249046 299.9697143418395058
|
||||
480 300.8568627175958454 1535.6080526199100404 1189.7237810071803779 393.7102284019064200 -0.0000000000000000 15704.7298885727686866 17288.1638979818562802 299.9732503057675785
|
||||
490 301.0608040775520067 1497.3221544489890675 1189.7062242497640909 393.9771121242308709 -0.0000000000000000 15704.4860863739140768 17288.1694227479092660 299.9682362511933889
|
||||
500 301.0232592587148019 1517.5854528541185573 1189.6911287485863795 393.9279798589197981 -0.0000000000000000 15704.5425100510510674 17288.1616186585561081 299.9690333355832195
|
||||
510 300.7038579923685120 1420.2615974401142012 1189.6747661513456933 393.5100018730125839 -0.0000000000000000 15704.9716744568013382 17288.1564424811585923 299.9768186576548032
|
||||
520 300.5917863355052759 1537.4862082427125642 1189.6604754398761088 393.3633415734188361 -0.0000000000000000 15705.1390892093895673 17288.1629062226857059 299.9795694302102902
|
||||
530 300.4751352158504574 1481.1071694751785799 1189.6453243069920518 393.2106884527693751 -0.0000000000000000 15705.3053530714041699 17288.1613658311653126 299.9823181268525900
|
||||
540 300.5380123640739498 1547.3461372766387285 1189.6261485232855648 393.2929713568877332 0.0000000000000000 15705.2452458598490921 17288.1643657400236407 299.9808112190538623
|
||||
550 300.4253885005187499 1544.3485889749688340 1189.6033595464525661 393.1455884232119047 0.0000000000000000 15705.4200593467012368 17288.1690073163663328 299.9835860164698147
|
||||
560 300.3263552442091395 1556.5150300058239736 1189.5759163336820166 393.0159905619271399 0.0000000000000000 15705.5750488783432957 17288.1669557739514858 299.9861837797674298
|
||||
570 300.1977324643196994 1511.2320626303924200 1189.5441090918316149 392.8476709710408272 0.0000000000000000 15705.7700134401693504 17288.1617935030408262 299.9896761688500533
|
||||
580 300.3543631005173893 1588.9566243200420104 1189.5094471319723652 393.0526424747489500 -0.0000000000000000 15705.5976430422142585 17288.1597326489354600 299.9859298211932810
|
||||
590 300.5019108864805730 1504.4406939723210144 1189.4809412920112663 393.2457278908070748 -0.0000000000000000 15705.4306152855297114 17288.1572844683469157 299.9823573257918952
|
||||
600 300.4791158523048011 1540.4690749004137160 1189.4551948503108179 393.2158976318902432 0.0000000000000000 15705.4914114063831221 17288.1625038885831600 299.9832002920041418
|
||||
610 300.5939139841890437 1368.0565839211083130 1189.4252547652597514 393.3661258776945715 0.0000000000000000 15705.3732852337052464 17288.1646658766585460 299.9807742697515209
|
||||
620 300.7674247480806002 1483.2566452708929319 1189.3941250938437406 393.5931872179773450 0.0000000000000000 15705.1789842209145718 17288.1662965327341226 299.9766963671719395
|
||||
630 300.7920034341022415 1543.0699124130630935 1189.3598279316649950 393.6253516166883628 -0.0000000000000000 15705.1821846865786938 17288.1673642349305737 299.9762538437231001
|
||||
640 300.8032734267029014 1423.2549819291609765 1189.3293074476887341 393.6400998638143278 -0.0000000000000000 15705.1986701098048798 17288.1680774213091354 299.9762118202993975
|
||||
650 300.7516995878240209 1542.6559695158514387 1189.3021161045703593 393.5726088061028349 0.0000000000000000 15705.2963824473390559 17288.1711073580117954 299.9775656396504360
|
||||
660 300.8699697098108459 1675.5121937767842155 1189.2687179804192965 393.7273806013012063 0.0000000000000000 15705.1781614686860848 17288.1742600504076108 299.9750492262035095
|
||||
670 301.0255004186899441 1520.7397686587889893 1189.2284265783694082 393.9309127074436105 0.0000000000000000 15705.0194154727287241 17288.1787547585408902 299.9715123049731460
|
||||
680 301.1071983488761248 1651.9751417063253029 1189.1858967311388824 394.0378250459656897 0.0000000000000000 15704.9584701329349627 17288.1821919100402738 299.9699481289110281
|
||||
690 301.0027086454255141 1496.1607274163641250 1189.1436949551202815 393.9010867158522160 0.0000000000000000 15705.1390813360922039 17288.1838630070633371 299.9731939774292755
|
||||
700 300.9009090279178622 1551.8182127127668082 1189.0993919251338866 393.7678687121206735 -0.0000000000000000 15705.3115540452217829 17288.1788146824765136 299.9761043445070641
|
||||
710 301.2325536720837817 1678.1546953970841969 1189.0528341066981284 394.2018687459686817 0.0000000000000000 15704.9235173995584773 17288.1782202522263105 299.9683013583346565
|
||||
720 301.2122298224125529 1524.1415452491437463 1189.0046957644283339 394.1752723525083866 0.0000000000000000 15704.9953504895402148 17288.1753186064779584 299.9693315350040734
|
||||
730 301.0763282392692304 1547.1987029633176007 1188.9602551214045434 393.9974275034455218 0.0000000000000000 15705.2119928705469647 17288.1696754953954951 299.9732715774840699
|
||||
740 301.3262401480515109 1544.7045314021493141 1188.9131307177485724 394.3244696516559884 0.0000000000000000 15704.9296076272603386 17288.1672079966665478 299.9674666811455950
|
||||
750 301.5740779122830872 1591.1785078054849691 1188.8637580645940943 394.6487975126887591 0.0000000000000000 15704.6521404470349808 17288.1646960243160720 299.9616008527092959
|
||||
760 301.4385361878655658 1547.3218422039212783 1188.8113669183098864 394.4714235854451658 0.0000000000000000 15704.8763786124927719 17288.1591691162466304 299.9656339783693966
|
||||
770 301.6110125684815557 1494.5039561806624988 1188.7581685915934031 394.6971313010441236 0.0000000000000000 15704.6953595579507237 17288.1506594505881367 299.9619855799396646
|
||||
780 301.8360352039435384 1588.1458619705304045 1188.7039178696477393 394.9916026067776329 0.0000000000000000 15704.4617070838321524 17288.1572275602593436 299.9572350302976247
|
||||
790 302.1008324754310479 1545.4409171812180830 1188.6491103416560691 395.3381241828382144 0.0000000000000000 15704.1751923936917592 17288.1624269181847922 299.9513959104630771
|
||||
800 301.9660372380565718 1563.9565804790738639 1188.5964649891604950 395.1617271307158035 0.0000000000000000 15704.4063124560707365 17288.1645045759469212 299.9555810527747326
|
||||
810 302.0507207347627059 1511.4560763489960209 1188.5468477146607711 395.2725464702810427 0.0000000000000000 15704.3505979898400255 17288.1699921747822373 299.9541551776507617
|
||||
820 302.4700213214913447 1458.5135514273563331 1188.4981381693974072 395.8212556746476025 0.0000000000000000 15703.8537761962070363 17288.1731700402524439 299.9441803241177809
|
||||
830 302.2853997979336214 1496.2544527963145811 1188.4496917372191547 395.5796544641873993 0.0000000000000000 15704.1464516793694202 17288.1757978807763720 299.9494768794834840
|
||||
840 302.0840465730901201 1518.8301331998702608 1188.3994383226179252 395.3161576523596636 0.0000000000000000 15704.4564021812439023 17288.1719981562200701 299.9550476592922337
|
||||
850 301.8910942560260082 1469.8827850510904227 1188.3489956121347859 395.0636545180259986 0.0000000000000000 15704.7627679631386854 17288.1754180932985037 299.9606927700136794
|
||||
860 301.7284384160518016 1657.6802015862315329 1188.3052233777652873 394.8507982536592635 0.0000000000000000 15705.0246544022065791 17288.1806760336330626 299.9652835238807711
|
||||
870 301.6331619894114624 1501.5829953208508414 1188.2628815714099346 394.7261166912875865 0.0000000000000000 15705.1980055648327834 17288.1870038275301340 299.9682811831179947
|
||||
880 301.3703918424367316 1499.1595903074555736 1188.2195190931643083 394.3822478705861272 0.0000000000000000 15705.5868298250898079 17288.1885967888410960 299.9755099056964127
|
||||
890 301.4157954313303662 1598.8758859042509357 1188.1845892608291706 394.4416643558612918 0.0000000000000000 15705.5638481192290783 17288.1901017359195976 299.9745322513492738
|
||||
900 301.4752150615486812 1621.2148728756842502 1188.1517520946144941 394.5194226492021699 0.0000000000000000 15705.5181455608308170 17288.1893203046492999 299.9733125337182287
|
||||
910 301.4308816315937634 1538.4823217911621214 1188.1159856659228353 394.4614066057064861 0.0000000000000000 15705.6160570713091147 17288.1934493429398572 299.9748317405192779
|
||||
920 301.4323110133492492 1594.7193046491240693 1188.0835779842032025 394.4632771371357762 0.0000000000000000 15705.6544576464475540 17288.2013127677855664 299.9751127806913473
|
||||
930 301.4801256941949532 1387.6885377097596574 1188.0464206196900250 394.5258488489680531 0.0000000000000000 15705.6258377843460039 17288.1981072530033998 299.9740698440912183
|
||||
940 301.8075611840245074 1534.2487040663797870 1188.0124217312888959 394.9543406584059539 0.0000000000000000 15705.2331319202457962 17288.1998943099388271 299.9660570413491882
|
||||
950 301.6915970126175353 1567.7725992489226883 1187.9790455470049437 394.8025864986415172 0.0000000000000000 15705.4221432087451831 17288.2037752543910756 299.9694678653152096
|
||||
960 301.6392594677008105 1504.8502165144939227 1187.9439133338107695 394.7340960325207675 0.0000000000000000 15705.5330682989206252 17288.2110776652516506 299.9711546356285226
|
||||
970 301.6049535791644871 1514.0198965433535250 1187.9094123369409317 394.6892023276234909 0.0000000000000000 15705.6099784820144123 17288.2085931465771864 299.9722547114341751
|
||||
980 301.2982841679706780 1634.1208149125800446 1187.8768454876478700 394.2878856256065205 0.0000000000000000 15706.0463883383199573 17288.2111194515746320 299.9802110109068849
|
||||
990 301.2573007350166563 1489.7316698898262075 1187.8432331161866387 394.2342534877078606 0.0000000000000000 15706.1441971863041545 17288.2216837901978579 299.9819468620868292
|
||||
1000 301.3195135766228532 1562.6587211933931485 1187.8034267774903583 394.3156670604516307 0.0000000000000000 15706.0974511956701463 17288.2165450336106005 299.9807651637235040
|
||||
Loop time of 17.0881 on 1 procs for 1000 steps with 10125 atoms
|
||||
|
||||
Performance: 4.050 ns/day, 5.925 hours/ns, 46.880 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 5.056 ns/day, 4.747 hours/ns, 58.520 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 10.099 | 10.099 | 10.099 | 0.0 | 47.34
|
||||
Neigh | 10.145 | 10.145 | 10.145 | 0.0 | 47.56
|
||||
Comm | 0.49807 | 0.49807 | 0.49807 | 0.0 | 2.33
|
||||
Output | 0.011203 | 0.011203 | 0.011203 | 0.0 | 0.05
|
||||
Modify | 0.28296 | 0.28296 | 0.28296 | 0.0 | 1.33
|
||||
Other | | 0.295 | | | 1.38
|
||||
Pair | 8.0541 | 8.0541 | 8.0541 | 0.0 | 47.13
|
||||
Neigh | 8.1306 | 8.1306 | 8.1306 | 0.0 | 47.58
|
||||
Comm | 0.39415 | 0.39415 | 0.39415 | 0.0 | 2.31
|
||||
Output | 0.01103 | 0.01103 | 0.01103 | 0.0 | 0.06
|
||||
Modify | 0.24061 | 0.24061 | 0.24061 | 0.0 | 1.41
|
||||
Other | | 0.2576 | | | 1.51
|
||||
|
||||
Nlocal: 10125 ave 10125 max 10125 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -170,4 +174,4 @@ Total # of neighbors = 114682
|
||||
Ave neighs/atom = 11.3266
|
||||
Neighbor list builds = 1000
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:21
|
||||
Total wall time: 0:00:17
|
||||
|
||||
@ -37,7 +37,7 @@ timestep 0.001
|
||||
|
||||
pair_style hybrid/overlay dpd/fdt/energy 16.00 234324 exp6/rx 16.00
|
||||
pair_coeff * * dpd/fdt/energy 0.0 0.05 10.0 16.00
|
||||
pair_coeff * * exp6/rx params.exp6 1fluid 1fluid 1.0 1.0 16.00
|
||||
pair_coeff * * exp6/rx params.exp6 1fluid 1fluid exponent 1.0 1.0 16.00
|
||||
|
||||
fix 1 all shardlow
|
||||
fix 2 all nve
|
||||
|
||||
@ -48,7 +48,7 @@ timestep 0.001
|
||||
|
||||
pair_style hybrid/overlay dpd/fdt/energy 16.00 234324 exp6/rx 16.00
|
||||
pair_coeff * * dpd/fdt/energy 0.0 0.05 10.0 16.00
|
||||
pair_coeff * * exp6/rx params.exp6 1fluid 1fluid 1.0 1.0 16.00
|
||||
pair_coeff * * exp6/rx params.exp6 1fluid 1fluid exponent 1.0 1.0 16.00
|
||||
|
||||
fix 1 all shardlow
|
||||
fix 2 all nve
|
||||
@ -69,39 +69,51 @@ dump_modify 2 sort id
|
||||
|
||||
run 10
|
||||
Neighbor list info ...
|
||||
2 neighbor list requests
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9 -> bins = 8 8 5
|
||||
Memory usage per processor = 6.52436 Mbytes
|
||||
binsize = 9, bins = 8 8 5
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair dpd/fdt/energy, perpetual
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) pair exp6/rx, perpetual, copy from (1)
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) fix shardlow, perpetual, ssa
|
||||
pair build: half/bin/newton/ssa
|
||||
stencil: half/bin/3d/newton/ssa
|
||||
bin: ssa
|
||||
Memory usage per processor = 8.39564 Mbytes
|
||||
Step Temp Press Volume PotEng KinEng c_dpdU[1] c_dpdU[2] c_dpdU[3] v_totEnergy c_dpdU[4]
|
||||
0 2065.00000000 1368.17463335 179834.51777865 0.00000000 230.35385810 3841.42393279 3841.42393279 0.00000000 7682.84786557 2065.00000000
|
||||
1 2064.93210437 1368.12964881 179834.51777865 0.00000000 230.34628424 3841.42393279 3841.43150665 0.00000000 7682.85543943 2065.20275230
|
||||
2 2067.82089565 1370.04362990 179834.51777865 -0.00000000 230.66853326 3841.42393279 3841.10925763 0.00000000 7682.53319042 2065.32453473
|
||||
3 2070.45225169 1371.78704616 179834.51777865 -0.00000000 230.96206499 3841.42393279 3840.81572590 0.00000000 7682.23965869 2065.45336917
|
||||
4 2075.00241157 1374.80177416 179834.51777865 -0.00000000 231.46964217 3841.42393279 3840.30814872 0.00000000 7681.73208151 2065.52973333
|
||||
5 2073.96509212 1374.11449370 179834.51777865 -0.00000000 231.35392762 3841.42393279 3840.42386327 0.00000000 7681.84779605 2065.76011517
|
||||
6 2074.26516936 1374.31331117 179834.51777865 -0.00000000 231.38740169 3841.42393279 3840.39038920 0.00000000 7681.81432198 2065.95399323
|
||||
7 2071.41069700 1372.42206822 179834.51777865 -0.00000000 231.06898100 3841.42393279 3840.70880989 0.00000000 7682.13274267 2066.23407076
|
||||
8 2071.35844957 1372.38745146 179834.51777865 -0.00000000 231.06315272 3841.42393279 3840.71463817 0.00000000 7682.13857095 2066.43766287
|
||||
9 2071.35676496 1372.38633532 179834.51777865 -0.00000000 231.06296480 3841.42393279 3840.71482609 0.00000000 7682.13875887 2066.64001166
|
||||
10 2066.53172340 1369.18948328 179834.51777865 -0.00000000 230.52472415 3841.42393279 3841.25306673 0.00000000 7682.67699952 2066.97516855
|
||||
Loop time of 0.289778 on 1 procs for 10 steps with 864 atoms
|
||||
0 2065.00000000 1368.17463335 179834.51777865 0.00000000 230.35385810 0.00000000 7682.84786557 0.00000000 7682.84786557 2065.00000000
|
||||
1 2064.93210437 1368.12964881 179834.51777865 0.00000000 230.34628424 0.00000000 7682.85543943 0.00000000 7682.85543943 2065.20275230
|
||||
2 2067.82089565 1370.04362990 179834.51777865 -0.00000000 230.66853326 0.00000000 7682.53319042 0.00000000 7682.53319042 2065.32453473
|
||||
3 2070.45225169 1371.78704616 179834.51777865 -0.00000000 230.96206499 0.00000000 7682.23965869 0.00000000 7682.23965869 2065.45336917
|
||||
4 2075.00241157 1374.80177416 179834.51777865 -0.00000000 231.46964217 0.00000000 7681.73208151 0.00000000 7681.73208151 2065.52973333
|
||||
5 2073.96509212 1374.11449370 179834.51777865 -0.00000000 231.35392762 -0.00000000 7681.84779605 0.00000000 7681.84779605 2065.76011517
|
||||
6 2074.26516936 1374.31331117 179834.51777865 -0.00000000 231.38740169 -0.00000000 7681.81432198 0.00000000 7681.81432198 2065.95399323
|
||||
7 2071.41069700 1372.42206822 179834.51777865 -0.00000000 231.06898100 -0.00000000 7682.13274267 0.00000000 7682.13274267 2066.23407076
|
||||
8 2071.35844957 1372.38745146 179834.51777865 -0.00000000 231.06315272 0.00000000 7682.13857095 0.00000000 7682.13857095 2066.43766287
|
||||
9 2071.35676496 1372.38633532 179834.51777865 -0.00000000 231.06296480 0.00000000 7682.13875887 0.00000000 7682.13875887 2066.64001166
|
||||
10 2066.53172340 1369.18948328 179834.51777865 -0.00000000 230.52472415 0.00000000 7682.67699952 0.00000000 7682.67699952 2066.97516855
|
||||
Loop time of 0.611304 on 1 procs for 10 steps with 864 atoms
|
||||
|
||||
Performance: 2.982 ns/day, 8.049 hours/ns, 34.509 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 1.413 ns/day, 16.981 hours/ns, 16.358 timesteps/s
|
||||
98.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.16405 | 0.16405 | 0.16405 | 0.0 | 56.61
|
||||
Pair | 0.34177 | 0.34177 | 0.34177 | 0.0 | 55.91
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00066328 | 0.00066328 | 0.00066328 | 0.0 | 0.23
|
||||
Output | 0.037718 | 0.037718 | 0.037718 | 0.0 | 13.02
|
||||
Modify | 0.087281 | 0.087281 | 0.087281 | 0.0 | 30.12
|
||||
Other | | 7.057e-05 | | | 0.02
|
||||
Comm | 0.0013342 | 0.0013342 | 0.0013342 | 0.0 | 0.22
|
||||
Output | 0.083583 | 0.083583 | 0.083583 | 0.0 | 13.67
|
||||
Modify | 0.18451 | 0.18451 | 0.18451 | 0.0 | 30.18
|
||||
Other | | 0.0001087 | | | 0.02
|
||||
|
||||
Nlocal: 864 ave 864 max 864 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
64
examples/USER/misc/addtorque/in.addtorque
Normal file
@ -0,0 +1,64 @@
|
||||
|
||||
units lj
|
||||
lattice fcc 0.8442
|
||||
boundary f f f
|
||||
|
||||
region ball sphere 0.0 0.0 0.0 5.0
|
||||
region box block -10 10 -10 10 -10 10
|
||||
region half block -10 0 -10 10 -10 10
|
||||
|
||||
# add molecule ids so we can use chunk/atom
|
||||
fix 0 all property/atom mol ghost yes
|
||||
|
||||
create_box 2 box
|
||||
create_atoms 1 region ball
|
||||
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
mass * 1.0
|
||||
set group all mol 1
|
||||
|
||||
# label half the sphere with a different type for better visualization
|
||||
set region half type 2
|
||||
|
||||
# use a dynamic group (may require a patch to fix addtorque with older versions of LAMMPS)
|
||||
group ball dynamic all region ball
|
||||
|
||||
neigh_modify delay 2 every 1 check yes
|
||||
|
||||
minimize 0.0 0.0 1000 10000
|
||||
reset_timestep 0
|
||||
|
||||
velocity all create 1.2 12351235
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all wall/reflect xlo EDGE xhi EDGE ylo EDGE yhi EDGE zlo EDGE zhi EDGE
|
||||
|
||||
compute 1 all chunk/atom molecule
|
||||
compute 2 ball omega/chunk 1
|
||||
compute 3 ball inertia/chunk 1
|
||||
|
||||
# compute rotational kinetic energy: 1/2 * I * omega**2
|
||||
variable r_ke_x equal c_2[1][1]*c_2[1][1]*c_3[1][1]*0.5
|
||||
variable r_ke_y equal c_2[1][2]*c_2[1][2]*c_3[1][2]*0.5
|
||||
variable r_ke_z equal c_2[1][3]*c_2[1][3]*c_3[1][3]*0.5
|
||||
|
||||
# output moments of inertia for x,y,z and angular velocity as well as rotational kinertic energy
|
||||
|
||||
thermo_style custom step ke pe c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
thermo 500
|
||||
|
||||
# dump 1 all atom 100 dump.lammpstrj
|
||||
|
||||
# dump 2 all movie 10 ball.mp4 type mass
|
||||
|
||||
# equilibration w/o torque added
|
||||
run 1000 post no
|
||||
|
||||
# start spinning the ball. rotation around z should increase and Erot_z should grow
|
||||
fix 4 ball addtorque 0.0 0.0 200.0
|
||||
run 10000 upto post no
|
||||
|
||||
# continue without adding more torque. rotation continues at fixed speed
|
||||
unfix 4
|
||||
run 5000
|
||||
202
examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.1
Normal file
@ -0,0 +1,202 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units lj
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
boundary f f f
|
||||
|
||||
region ball sphere 0.0 0.0 0.0 5.0
|
||||
region box block -10 10 -10 10 -10 10
|
||||
region half block -10 0 -10 10 -10 10
|
||||
|
||||
# add molecule ids so we can use chunk/atom
|
||||
fix 0 all property/atom mol ghost yes
|
||||
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-16.796 -16.796 -16.796) to (16.796 16.796 16.796)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 region ball
|
||||
Created 2123 atoms
|
||||
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
mass * 1.0
|
||||
set group all mol 1
|
||||
2123 settings made for mol
|
||||
|
||||
# label half the sphere with a different type for better visualization
|
||||
set region half type 2
|
||||
1142 settings made for type
|
||||
|
||||
# use a dynamic group (may require a patch to fix addtorque with older versions of LAMMPS)
|
||||
group ball dynamic all region ball
|
||||
dynamic group ball defined
|
||||
|
||||
neigh_modify delay 2 every 1 check yes
|
||||
|
||||
minimize 0.0 0.0 1000 10000
|
||||
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168)
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15 -> bins = 16 16 16
|
||||
Memory usage per processor = 3.68322 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -6.2285099 0 -6.2285099 -0.38871568
|
||||
1000 0 -7.3616908 0 -7.3616908 -9.1828951e-16
|
||||
Loop time of 12.4181 on 1 procs for 1000 steps with 2123 atoms
|
||||
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = max iterations
|
||||
Energy initial, next-to-last, final =
|
||||
-6.22850993032 -7.36169083402 -7.36169083402
|
||||
Force two-norm initial, final = 197.762 3.3539e-12
|
||||
Force max component initial, final = 7.88704 1.52475e-13
|
||||
Final line search alpha, max atom move = 1 1.52475e-13
|
||||
Iterations, force evaluations = 1000 1994
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 12.282 | 12.282 | 12.282 | 0.0 | 98.91
|
||||
Neigh | 0.06315 | 0.06315 | 0.06315 | 0.0 | 0.51
|
||||
Comm | 0.000443 | 0.000443 | 0.000443 | 0.0 | 0.00
|
||||
Output | 2.7e-05 | 2.7e-05 | 2.7e-05 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.07231 | | | 0.58
|
||||
|
||||
Nlocal: 2123 ave 2123 max 2123 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 270799 ave 270799 max 270799 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 270799
|
||||
Ave neighs/atom = 127.555
|
||||
Neighbor list builds = 11
|
||||
Dangerous builds = 0
|
||||
reset_timestep 0
|
||||
|
||||
velocity all create 1.2 12351235
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all wall/reflect xlo EDGE xhi EDGE ylo EDGE yhi EDGE zlo EDGE zhi EDGE
|
||||
|
||||
compute 1 all chunk/atom molecule
|
||||
compute 2 ball omega/chunk 1
|
||||
compute 3 ball inertia/chunk 1
|
||||
|
||||
# compute rotational kinetic energy: 1/2 * I * omega**2
|
||||
variable r_ke_x equal c_2[1][1]*c_2[1][1]*c_3[1][1]*0.5
|
||||
variable r_ke_y equal c_2[1][2]*c_2[1][2]*c_3[1][2]*0.5
|
||||
variable r_ke_z equal c_2[1][3]*c_2[1][3]*c_3[1][3]*0.5
|
||||
|
||||
# output moments of inertia for x,y,z and angular velocity as well as rotational kinertic energy
|
||||
|
||||
thermo_style custom step ke pe c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
thermo 500
|
||||
|
||||
# dump 1 all atom 100 dump.lammpstrj
|
||||
|
||||
# dump 2 all movie 10 ball.mp4 type mass
|
||||
|
||||
# equilibration w/o torque added
|
||||
run 1000 post no
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 2 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15 -> bins = 16 16 16
|
||||
Memory usage per processor = 2.68359 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
0 1.7991521 -7.3616908 51125.265 51125.265 51125.265 0.0034331372 -0.0045852283 0.0091015032 0.30129221 0.53743693 2.117541
|
||||
500 0.8882476 -6.43927 52585.112 52205.936 52112.109 0.0033058719 -0.0043753253 0.0089502237 0.2873458 0.49970143 2.0872595
|
||||
1000 0.79407357 -6.337372 53754.145 54093.977 53787.624 0.0033214912 -0.0042125031 0.0090171557 0.29651603 0.47995375 2.1867116
|
||||
Loop time of 4.26119 on 1 procs for 1000 steps with 2123 atoms
|
||||
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
# start spinning the ball. rotation around z should increase and Erot_z should grow
|
||||
fix 4 ball addtorque 0.0 0.0 200.0
|
||||
run 10000 upto post no
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Memory usage per processor = 2.68359 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
1000 0.79407357 -6.337372 53754.145 54093.977 53787.624 0.0033214912 -0.0042125031 0.0090171557 0.29651603 0.47995375 2.1867116
|
||||
1500 0.68685306 -6.2226287 55026.889 54809.958 55224.858 0.0026096779 -0.0039390202 0.01797948 0.18737807 0.42521238 8.9260406
|
||||
2000 0.65370325 -6.1832475 54914.897 55655.542 55405.781 0.0029310978 -0.0040761978 0.025816421 0.23589612 0.46236922 18.463634
|
||||
2500 0.69337585 -6.2170462 54604.66 54800.001 54488.865 0.0028821313 -0.0045216915 0.035781895 0.22679174 0.56021203 34.882245
|
||||
3000 0.76778067 -6.2850756 53423.198 53620.349 53692.133 0.004088872 -0.004451787 0.044703139 0.44658786 0.53133496 53.64839
|
||||
3500 0.79707238 -6.3044974 53055.225 53071.129 52927.537 0.0036751739 -0.0037584362 0.054889715 0.3583059 0.3748372 79.732181
|
||||
4000 0.80746429 -6.3010044 53519.853 53643.284 54058.105 0.003813517 -0.0041637733 0.062983015 0.38916725 0.46500703 107.22047
|
||||
4500 0.81206394 -6.2884719 53371.354 53883.202 53854.559 0.00385001 -0.003643712 0.072544638 0.39555051 0.35769386 141.71085
|
||||
5000 0.81648687 -6.2737414 53776.764 54233.367 53762.425 0.0024484228 -0.0043310965 0.080673643 0.16118978 0.50866551 174.94929
|
||||
5500 0.81888245 -6.2572796 53908.22 53502.342 54717.506 0.0037110524 -0.00327586 0.088836946 0.37120958 0.28707375 215.91536
|
||||
6000 0.86533749 -6.2804248 53687.533 53571.135 53536.171 0.0025223465 -0.0047753224 0.099646475 0.17078626 0.61081016 265.79156
|
||||
6500 0.88029206 -6.2719195 53344.67 53291.068 53298.665 0.003937416 -0.0033910578 0.10778737 0.41350774 0.30640427 309.61504
|
||||
7000 0.9066019 -6.2714707 53928.646 53524.142 54003.175 0.0028500736 -0.0039730774 0.11855069 0.21902903 0.4224485 379.4875
|
||||
7500 0.94601421 -6.2819912 53534.525 53547.598 53851.344 0.0028610722 -0.0049440438 0.12716472 0.21910969 0.6544472 435.41142
|
||||
8000 0.9562253 -6.2626222 53486.577 53033.175 53858.803 0.0025501008 -0.0048075887 0.13526164 0.17391198 0.61287549 492.69254
|
||||
8500 0.99679401 -6.2691139 53566.766 53721.523 53831.283 0.0034137155 -0.0039265 0.14392854 0.3121189 0.41412316 557.56894
|
||||
9000 1.0371056 -6.2761647 53415.879 53605.078 53985.02 0.0029321914 -0.0046362889 0.1518846 0.2296281 0.57612526 622.6884
|
||||
9500 1.0598491 -6.26216 53493.003 53049.859 53699.774 0.0032127038 -0.0050624912 0.16002437 0.27606311 0.67980256 687.56651
|
||||
10000 1.1014855 -6.2654945 53418.49 53251.964 53867.56 0.0037330249 -0.0056278017 0.17103133 0.37220602 0.84330216 787.85924
|
||||
Loop time of 43.025 on 1 procs for 9000 steps with 2123 atoms
|
||||
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
# continue without adding more torque. rotation continues at fixed speed
|
||||
unfix 4
|
||||
run 5000
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Memory usage per processor = 2.68359 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
10000 1.1014855 -6.2654945 53418.49 53251.964 53867.56 0.0037330249 -0.0056278017 0.17103133 0.37220602 0.84330216 787.85924
|
||||
10500 1.07259 -6.2363698 52825.233 52896.327 55753.551 0.0035928335 -0.0050843805 0.16344484 0.34094601 0.68370948 744.70621
|
||||
11000 1.0644214 -6.2282099 52016.795 51950.497 54922.101 0.0047316668 -0.0050149935 0.16196531 0.58229343 0.65328165 720.37919
|
||||
11500 1.0887339 -6.2525622 52602.789 52903.594 54461.53 0.0044295697 -0.0046710153 0.16698036 0.51606197 0.57713546 759.26022
|
||||
12000 1.0707466 -6.234719 52785.654 52997.192 54943.066 0.0057389353 -0.0030340721 0.16553451 0.86925773 0.2439353 752.76594
|
||||
12500 1.0758302 -6.2397291 52375.734 52783.309 55011.986 0.0047029783 -0.0023526884 0.16493895 0.57922337 0.14608158 748.29657
|
||||
13000 1.0716957 -6.2354221 52711.183 52788.224 55234.737 0.0034033406 -0.00206283 0.16427569 0.30526962 0.11231401 745.29615
|
||||
13500 1.083667 -6.2475953 52698.902 52203.324 55102.881 0.0032012254 -0.0021366488 0.16381832 0.27002507 0.11916109 739.38261
|
||||
14000 1.085106 -6.2490655 52767.613 52353.974 55225.438 0.0025647931 -0.0022235227 0.1636534 0.17355699 0.12942041 739.53587
|
||||
14500 1.0838261 -6.2477856 52292.343 51995.567 54735.836 0.001794954 -0.0029396951 0.16409339 0.084239299 0.22466783 736.92607
|
||||
15000 1.0827419 -6.2468971 51917.584 51388.833 54481.681 0.0017979486 -0.0025793756 0.16196568 0.083914884 0.17094953 714.60575
|
||||
Loop time of 22.7848 on 1 procs for 5000 steps with 2123 atoms
|
||||
|
||||
Performance: 94800.138 tau/day, 219.445 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 18.891 | 18.891 | 18.891 | 0.0 | 82.91
|
||||
Neigh | 3.5735 | 3.5735 | 3.5735 | 0.0 | 15.68
|
||||
Comm | 0.005778 | 0.005778 | 0.005778 | 0.0 | 0.03
|
||||
Output | 0.001862 | 0.001862 | 0.001862 | 0.0 | 0.01
|
||||
Modify | 0.27476 | 0.27476 | 0.27476 | 0.0 | 1.21
|
||||
Other | | 0.0379 | | | 0.17
|
||||
|
||||
Nlocal: 2123 ave 2123 max 2123 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 242472 ave 242472 max 242472 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 242472
|
||||
Ave neighs/atom = 114.212
|
||||
Neighbor list builds = 560
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:22
|
||||
202
examples/USER/misc/addtorque/log.9Nov16.addtorque.g++.4
Normal file
@ -0,0 +1,202 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
|
||||
units lj
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
boundary f f f
|
||||
|
||||
region ball sphere 0.0 0.0 0.0 5.0
|
||||
region box block -10 10 -10 10 -10 10
|
||||
region half block -10 0 -10 10 -10 10
|
||||
|
||||
# add molecule ids so we can use chunk/atom
|
||||
fix 0 all property/atom mol ghost yes
|
||||
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-16.796 -16.796 -16.796) to (16.796 16.796 16.796)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 region ball
|
||||
Created 2123 atoms
|
||||
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
mass * 1.0
|
||||
set group all mol 1
|
||||
2123 settings made for mol
|
||||
|
||||
# label half the sphere with a different type for better visualization
|
||||
set region half type 2
|
||||
1142 settings made for type
|
||||
|
||||
# use a dynamic group (may require a patch to fix addtorque with older versions of LAMMPS)
|
||||
group ball dynamic all region ball
|
||||
dynamic group ball defined
|
||||
|
||||
neigh_modify delay 2 every 1 check yes
|
||||
|
||||
minimize 0.0 0.0 1000 10000
|
||||
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168)
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15 -> bins = 16 16 16
|
||||
Memory usage per processor = 3.77014 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -6.2285099 0 -6.2285099 -0.38871568
|
||||
1000 0 -7.3616908 0 -7.3616908 -9.7399049e-16
|
||||
Loop time of 8.29581 on 4 procs for 1000 steps with 2123 atoms
|
||||
|
||||
89.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = max iterations
|
||||
Energy initial, next-to-last, final =
|
||||
-6.22850993032 -7.36169083402 -7.36169083402
|
||||
Force two-norm initial, final = 197.762 3.40861e-12
|
||||
Force max component initial, final = 7.88704 1.60379e-13
|
||||
Final line search alpha, max atom move = 1 1.60379e-13
|
||||
Iterations, force evaluations = 1000 1994
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.8462 | 6.8198 | 8.0872 | 34.0 | 82.21
|
||||
Neigh | 0.021211 | 0.028936 | 0.035891 | 3.8 | 0.35
|
||||
Comm | 0.10672 | 1.3842 | 2.3694 | 76.2 | 16.69
|
||||
Output | 2.8e-05 | 3.35e-05 | 5e-05 | 0.2 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0629 | | | 0.76
|
||||
|
||||
Nlocal: 530.75 ave 543 max 514 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Nghost: 1058.25 ave 1075 max 1046 min
|
||||
Histogram: 1 0 0 2 0 0 0 0 0 1
|
||||
Neighs: 67699.8 ave 82013 max 55681 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 270799
|
||||
Ave neighs/atom = 127.555
|
||||
Neighbor list builds = 11
|
||||
Dangerous builds = 0
|
||||
reset_timestep 0
|
||||
|
||||
velocity all create 1.2 12351235
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all wall/reflect xlo EDGE xhi EDGE ylo EDGE yhi EDGE zlo EDGE zhi EDGE
|
||||
|
||||
compute 1 all chunk/atom molecule
|
||||
compute 2 ball omega/chunk 1
|
||||
compute 3 ball inertia/chunk 1
|
||||
|
||||
# compute rotational kinetic energy: 1/2 * I * omega**2
|
||||
variable r_ke_x equal c_2[1][1]*c_2[1][1]*c_3[1][1]*0.5
|
||||
variable r_ke_y equal c_2[1][2]*c_2[1][2]*c_3[1][2]*0.5
|
||||
variable r_ke_z equal c_2[1][3]*c_2[1][3]*c_3[1][3]*0.5
|
||||
|
||||
# output moments of inertia for x,y,z and angular velocity as well as rotational kinertic energy
|
||||
|
||||
thermo_style custom step ke pe c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
thermo 500
|
||||
|
||||
# dump 1 all atom 100 dump.lammpstrj
|
||||
|
||||
# dump 2 all movie 10 ball.mp4 type mass
|
||||
|
||||
# equilibration w/o torque added
|
||||
run 1000 post no
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 2 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15 -> bins = 16 16 16
|
||||
Memory usage per processor = 2.77052 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
0 1.7991521 -7.3616908 51125.265 51125.265 51125.265 0.0040198435 -0.0024237256 0.0011306245 0.4130702 0.15016629 0.032677011
|
||||
500 0.90968729 -6.4603004 52559.075 52593.598 52370.876 0.0039073429 -0.0023505431 0.0011032256 0.40121833 0.14529121 0.031870471
|
||||
1000 0.80269935 -6.3456699 53966.859 54192.03 54298.931 0.0040875347 -0.0023098179 0.00077010445 0.45083753 0.14456425 0.016101285
|
||||
Loop time of 2.3842 on 4 procs for 1000 steps with 2123 atoms
|
||||
|
||||
89.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
# start spinning the ball. rotation around z should increase and Erot_z should grow
|
||||
fix 4 ball addtorque 0.0 0.0 200.0
|
||||
run 10000 upto post no
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Memory usage per processor = 2.77052 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
1000 0.80269935 -6.3456699 53966.859 54192.03 54298.931 0.0040875347 -0.0023098179 0.00077010445 0.45083753 0.14456425 0.016101285
|
||||
1500 0.68922642 -6.2266953 54966.109 54681.607 54947.256 0.0038798951 -0.0016325797 0.0099837591 0.41371853 0.072871893 2.7384461
|
||||
2000 0.64105167 -6.1739656 54782.995 54570.486 54910.316 0.0034645832 -0.0027243304 0.017763588 0.32878936 0.20251043 8.6633395
|
||||
2500 0.69929409 -6.2287557 54307.47 53952.925 54538.409 0.0035199565 -0.0022538001 0.028279733 0.33643732 0.13703004 21.808363
|
||||
3000 0.77013056 -6.2945597 53916.743 53801.81 53955.863 0.0039732989 -0.0024543292 0.037182149 0.42559463 0.16204384 37.297319
|
||||
3500 0.80807105 -6.3246605 53451.163 53387.178 53474.789 0.0043137676 -0.0020556348 0.047270147 0.49732542 0.11279735 59.743821
|
||||
4000 0.81007199 -6.3142362 53334.317 53243.089 53685.963 0.0038548696 -0.0031009535 0.055811043 0.3962745 0.25599044 83.612467
|
||||
4500 0.7850954 -6.2735818 53738.002 53682.367 53639.471 0.0033046861 -0.0018472801 0.065975851 0.29343502 0.091594032 116.74129
|
||||
5000 0.77992741 -6.2508277 53864.644 53804.867 53877.025 0.0038258186 -0.0028703189 0.073848203 0.39420539 0.2216419 146.91071
|
||||
5500 0.79428302 -6.2467907 54353.329 53987.578 54234.062 0.0034715133 -0.0030161617 0.082746129 0.32751699 0.24556875 185.66819
|
||||
6000 0.82211943 -6.2549436 54273.545 53195.299 54061.645 0.0030929934 -0.0031282112 0.090458895 0.25960687 0.26027676 221.18813
|
||||
6500 0.87630771 -6.2870988 54042.229 53505.982 54492.239 0.0026486452 -0.0024783378 0.10046947 0.18956181 0.1643211 275.02546
|
||||
7000 0.88614639 -6.2727488 53701.993 52682.206 53948.142 0.0035384498 -0.0035905797 0.11030427 0.33619131 0.33959641 328.19439
|
||||
7500 0.92102182 -6.2787281 53410.068 52577.853 53132.511 0.0033084315 -0.0031776605 0.11973875 0.2923058 0.26545312 380.8902
|
||||
8000 0.94010525 -6.2697758 53732.562 53384.271 53795.933 0.0046460009 -0.0032755993 0.12803006 0.5799174 0.28639462 440.90328
|
||||
8500 0.95359399 -6.252319 53444.305 53558.444 53789.691 0.0037919474 -0.0035729209 0.13616177 0.38423423 0.34185722 498.63117
|
||||
9000 0.98631627 -6.25197 53115.01 54017.327 53955.578 0.0045084495 -0.0034368377 0.14488919 0.53981096 0.31902236 566.34143
|
||||
9500 1.0328238 -6.2632597 53287.675 53682.978 53769.692 0.0044595175 -0.0025931203 0.15416363 0.5298739 0.1804895 638.95665
|
||||
10000 1.0741755 -6.2667785 53103.657 53319.569 53601.523 0.0059237675 -0.0019561182 0.16445664 0.93173079 0.10201096 724.85302
|
||||
Loop time of 21.8398 on 4 procs for 9000 steps with 2123 atoms
|
||||
|
||||
90.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
# continue without adding more torque. rotation continues at fixed speed
|
||||
unfix 4
|
||||
run 5000
|
||||
WARNING: One or more dynamic groups may not be updated at correct point in timestep (../fix_group.cpp:153)
|
||||
Memory usage per processor = 2.77052 Mbytes
|
||||
Step KinEng PotEng c_3[1][1] c_3[1][2] c_3[1][3] c_2[1][1] c_2[1][2] c_2[1][3] v_r_ke_x v_r_ke_y v_r_ke_z
|
||||
10000 1.0741755 -6.2667785 53103.657 53319.569 53601.523 0.0059237675 -0.0019561182 0.16445664 0.93173079 0.10201096 724.85302
|
||||
10500 1.0588571 -6.2509381 52374.303 52131.544 55020.367 0.0048843769 -0.0018716797 0.15729531 0.62475047 0.091313217 680.65188
|
||||
11000 1.0554911 -6.2471863 52803.345 52177.891 55200.756 0.0042073234 -0.0024283269 0.15742315 0.46735107 0.15384055 683.99392
|
||||
11500 1.0559499 -6.2469955 54031.351 52919.728 54882.35 0.0046703444 -0.0016225764 0.15994353 0.58926908 0.06966232 701.99832
|
||||
12000 1.0311805 -6.2224471 52812.51 52444.13 55356.101 0.0044986993 -0.0019225732 0.15672327 0.53441759 0.096924293 679.83334
|
||||
12500 1.0423882 -6.2339087 52000.562 52043.013 55003.272 0.0038688875 -0.0022935053 0.1548654 0.38917977 0.13687746 659.57977
|
||||
13000 1.0548857 -6.2465445 52196.499 52869.024 54622.553 0.0036650563 -0.0025542156 0.1590498 0.35056832 0.17245921 690.88895
|
||||
13500 1.0443009 -6.2360149 51921.746 53124.078 54750.325 0.0052756473 -0.0011658069 0.15689119 0.72255483 0.036100621 673.83538
|
||||
14000 1.0505583 -6.241923 51861.696 52153.234 54321.531 0.0037119391 -0.00045576703 0.15738082 0.35728798 0.0054167284 672.73745
|
||||
14500 1.040343 -6.2316147 52035.588 51680.479 54443.305 0.0026177168 -0.0014795729 0.15428968 0.1782854 0.056567797 648.01978
|
||||
15000 1.0404962 -6.2322338 52376.795 51327.453 54677.693 0.0025711787 -0.0021695312 0.15403509 0.17313044 0.12079571 648.66363
|
||||
Loop time of 11.9695 on 4 procs for 5000 steps with 2123 atoms
|
||||
|
||||
Performance: 180458.440 tau/day, 417.728 timesteps/s
|
||||
89.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 7.0313 | 8.4017 | 9.6932 | 35.5 | 70.19
|
||||
Neigh | 0.97886 | 1.3633 | 1.7406 | 26.8 | 11.39
|
||||
Comm | 0.34002 | 2.0227 | 3.7911 | 94.9 | 16.90
|
||||
Output | 0.001198 | 0.0015522 | 0.002578 | 1.5 | 0.01
|
||||
Modify | 0.12841 | 0.131 | 0.13336 | 0.5 | 1.09
|
||||
Other | | 0.04924 | | | 0.41
|
||||
|
||||
Nlocal: 530.75 ave 534 max 529 min
|
||||
Histogram: 1 0 2 0 0 0 0 0 0 1
|
||||
Nghost: 1038 ave 1048 max 1029 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
Neighs: 60482.5 ave 72547 max 49124 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 241930
|
||||
Ave neighs/atom = 113.957
|
||||
Neighbor list builds = 555
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:44
|
||||
1019
examples/USER/misc/agni/Al_prb.agni
Normal file
197
examples/USER/misc/agni/adatom.data
Normal file
@ -0,0 +1,197 @@
|
||||
Data File created from VASP POSCAR
|
||||
|
||||
181 atoms
|
||||
1 atom types
|
||||
|
||||
0 17.121440767 xlo xhi
|
||||
0 14.8276026536 ylo yhi
|
||||
0 39.3197318979 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 26.982
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.0 1.64751140595 15.0
|
||||
2 1 2.85357346116 1.64751140595 15.0
|
||||
3 1 5.70714692232 1.64751140595 15.0
|
||||
4 1 8.56072038348 1.64751140595 15.0
|
||||
5 1 11.4142938446 1.64751140595 15.0
|
||||
6 1 14.2678673058 1.64751140595 15.0
|
||||
7 1 1.42678673058 4.11877851488 15.0
|
||||
8 1 4.28036019174 4.11877851488 15.0
|
||||
9 1 7.1339336529 4.11877851488 15.0
|
||||
10 1 9.98750711406 4.11877851488 15.0
|
||||
11 1 12.8410805752 4.11877851488 15.0
|
||||
12 1 15.6946540364 4.11877851488 15.0
|
||||
13 1 0.0 6.59004562381 15.0
|
||||
14 1 2.85357346116 6.59004562381 15.0
|
||||
15 1 5.70714692232 6.59004562381 15.0
|
||||
16 1 8.56072038348 6.59004562381 15.0
|
||||
17 1 11.4142938446 6.59004562381 15.0
|
||||
18 1 14.2678673058 6.59004562381 15.0
|
||||
19 1 1.42678673058 9.06131273274 15.0
|
||||
20 1 4.28036019174 9.06131273274 15.0
|
||||
21 1 7.1339336529 9.06131273274 15.0
|
||||
22 1 9.98750711406 9.06131273274 15.0
|
||||
23 1 12.8410805752 9.06131273274 15.0
|
||||
24 1 15.6946540364 9.06131273274 15.0
|
||||
25 1 0.0 11.5325798417 15.0
|
||||
26 1 2.85357346116 11.5325798417 15.0
|
||||
27 1 5.70714692232 11.5325798417 15.0
|
||||
28 1 8.56072038348 11.5325798417 15.0
|
||||
29 1 11.4142938446 11.5325798417 15.0
|
||||
30 1 14.2678673058 11.5325798417 15.0
|
||||
31 1 1.42678673058 14.0038469506 15.0
|
||||
32 1 4.28036019174 14.0038469506 15.0
|
||||
33 1 7.1339336529 14.0038469506 15.0
|
||||
34 1 9.98750711406 14.0038469506 15.0
|
||||
35 1 12.8410805752 14.0038469506 15.0
|
||||
36 1 15.6946540364 14.0038469506 15.0
|
||||
37 1 0.0 0.0 17.3299329745
|
||||
38 1 2.85357346116 0.0 17.3299329745
|
||||
39 1 5.70714692232 0.0 17.3299329745
|
||||
40 1 8.56072038348 0.0 17.3299329745
|
||||
41 1 11.4142938446 0.0 17.3299329745
|
||||
42 1 14.2678673058 0.0 17.3299329745
|
||||
43 1 1.42678673058 2.47126710893 17.3299329745
|
||||
44 1 4.28036019174 2.47126710893 17.3299329745
|
||||
45 1 7.1339336529 2.47126710893 17.3299329745
|
||||
46 1 9.98750711406 2.47126710893 17.3299329745
|
||||
47 1 12.8410805752 2.47126710893 17.3299329745
|
||||
48 1 15.6946540364 2.47126710893 17.3299329745
|
||||
49 1 0.0 4.94253421786 17.3299329745
|
||||
50 1 2.85357346116 4.94253421786 17.3299329745
|
||||
51 1 5.70714692232 4.94253421786 17.3299329745
|
||||
52 1 8.56072038348 4.94253421786 17.3299329745
|
||||
53 1 11.4142938446 4.94253421786 17.3299329745
|
||||
54 1 14.2678673058 4.94253421786 17.3299329745
|
||||
55 1 1.42678673058 7.41380132679 17.3299329745
|
||||
56 1 4.28036019174 7.41380132679 17.3299329745
|
||||
57 1 7.1339336529 7.41380132679 17.3299329745
|
||||
58 1 9.98750711406 7.41380132679 17.3299329745
|
||||
59 1 12.8410805752 7.41380132679 17.3299329745
|
||||
60 1 15.6946540364 7.41380132679 17.3299329745
|
||||
61 1 0.0 9.88506843572 17.3299329745
|
||||
62 1 2.85357346116 9.88506843572 17.3299329745
|
||||
63 1 5.70714692232 9.88506843572 17.3299329745
|
||||
64 1 8.56072038348 9.88506843572 17.3299329745
|
||||
65 1 11.4142938446 9.88506843572 17.3299329745
|
||||
66 1 14.2678673058 9.88506843572 17.3299329745
|
||||
67 1 1.42678673058 12.3563355446 17.3299329745
|
||||
68 1 4.28036019174 12.3563355446 17.3299329745
|
||||
69 1 7.1339336529 12.3563355446 17.3299329745
|
||||
70 1 9.98750711406 12.3563355446 17.3299329745
|
||||
71 1 12.8410805752 12.3563355446 17.3299329745
|
||||
72 1 15.6946540364 12.3563355446 17.3299329745
|
||||
73 1 1.42678673058 0.823755702976 19.6598659489
|
||||
74 1 4.28036019174 0.823755702976 19.6598659489
|
||||
75 1 7.1339336529 0.823755702976 19.6598659489
|
||||
76 1 9.98750711406 0.823755702976 19.6598659489
|
||||
77 1 12.8410805752 0.823755702976 19.6598659489
|
||||
78 1 15.6946540364 0.823755702976 19.6598659489
|
||||
79 1 0.0 3.29502281191 19.6598659489
|
||||
80 1 2.85357346116 3.29502281191 19.6598659489
|
||||
81 1 5.70714692232 3.29502281191 19.6598659489
|
||||
82 1 8.56072038348 3.29502281191 19.6598659489
|
||||
83 1 11.4142938446 3.29502281191 19.6598659489
|
||||
84 1 14.2678673058 3.29502281191 19.6598659489
|
||||
85 1 1.42678673058 5.76628992084 19.6598659489
|
||||
86 1 4.28036019174 5.76628992084 19.6598659489
|
||||
87 1 7.1339336529 5.76628992084 19.6598659489
|
||||
88 1 9.98750711406 5.76628992084 19.6598659489
|
||||
89 1 12.8410805752 5.76628992084 19.6598659489
|
||||
90 1 15.6946540364 5.76628992084 19.6598659489
|
||||
91 1 0.0 8.23755702976 19.6598659489
|
||||
92 1 2.85357346116 8.23755702976 19.6598659489
|
||||
93 1 5.70714692232 8.23755702976 19.6598659489
|
||||
94 1 8.56072038348 8.23755702976 19.6598659489
|
||||
95 1 11.4142938446 8.23755702976 19.6598659489
|
||||
96 1 14.2678673058 8.23755702976 19.6598659489
|
||||
97 1 1.42678673058 10.7088241387 19.6598659489
|
||||
98 1 4.28036019174 10.7088241387 19.6598659489
|
||||
99 1 7.1339336529 10.7088241387 19.6598659489
|
||||
100 1 9.98750711406 10.7088241387 19.6598659489
|
||||
101 1 12.8410805752 10.7088241387 19.6598659489
|
||||
102 1 15.6946540364 10.7088241387 19.6598659489
|
||||
103 1 0.0 13.1800912476 19.6598659489
|
||||
104 1 2.85357346116 13.1800912476 19.6598659489
|
||||
105 1 5.70714692232 13.1800912476 19.6598659489
|
||||
106 1 8.56072038348 13.1800912476 19.6598659489
|
||||
107 1 11.4142938446 13.1800912476 19.6598659489
|
||||
108 1 14.2678673058 13.1800912476 19.6598659489
|
||||
109 1 0.0 1.64751140595 21.9897989234
|
||||
110 1 2.85357346116 1.64751140595 21.9897989234
|
||||
111 1 5.70714692232 1.64751140595 21.9897989234
|
||||
112 1 8.56072038348 1.64751140595 21.9897989234
|
||||
113 1 11.4142938446 1.64751140595 21.9897989234
|
||||
114 1 14.2678673058 1.64751140595 21.9897989234
|
||||
115 1 1.42678673058 4.11877851488 21.9897989234
|
||||
116 1 4.28036019174 4.11877851488 21.9897989234
|
||||
117 1 7.1339336529 4.11877851488 21.9897989234
|
||||
118 1 9.98750711406 4.11877851488 21.9897989234
|
||||
119 1 12.8410805752 4.11877851488 21.9897989234
|
||||
120 1 15.6946540364 4.11877851488 21.9897989234
|
||||
121 1 0.0 6.59004562381 21.9897989234
|
||||
122 1 2.85357346116 6.59004562381 21.9897989234
|
||||
123 1 5.70714692232 6.59004562381 21.9897989234
|
||||
124 1 8.56072038348 6.59004562381 21.9897989234
|
||||
125 1 11.4142938446 6.59004562381 21.9897989234
|
||||
126 1 14.2678673058 6.59004562381 21.9897989234
|
||||
127 1 1.42678673058 9.06131273274 21.9897989234
|
||||
128 1 4.28036019174 9.06131273274 21.9897989234
|
||||
129 1 7.1339336529 9.06131273274 21.9897989234
|
||||
130 1 9.98750711406 9.06131273274 21.9897989234
|
||||
131 1 12.8410805752 9.06131273274 21.9897989234
|
||||
132 1 15.6946540364 9.06131273274 21.9897989234
|
||||
133 1 0.0 11.5325798417 21.9897989234
|
||||
134 1 2.85357346116 11.5325798417 21.9897989234
|
||||
135 1 5.70714692232 11.5325798417 21.9897989234
|
||||
136 1 8.56072038348 11.5325798417 21.9897989234
|
||||
137 1 11.4142938446 11.5325798417 21.9897989234
|
||||
138 1 14.2678673058 11.5325798417 21.9897989234
|
||||
139 1 1.42678673058 14.0038469506 21.9897989234
|
||||
140 1 4.28036019174 14.0038469506 21.9897989234
|
||||
141 1 7.1339336529 14.0038469506 21.9897989234
|
||||
142 1 9.98750711406 14.0038469506 21.9897989234
|
||||
143 1 12.8410805752 14.0038469506 21.9897989234
|
||||
144 1 15.6946540364 14.0038469506 21.9897989234
|
||||
145 1 0.0 0.0 24.3197318979
|
||||
146 1 2.85357346116 0.0 24.3197318979
|
||||
147 1 5.70714692232 0.0 24.3197318979
|
||||
148 1 8.56072038348 0.0 24.3197318979
|
||||
149 1 11.4142938446 0.0 24.3197318979
|
||||
150 1 14.2678673058 0.0 24.3197318979
|
||||
151 1 1.42678673058 2.47126710893 24.3197318979
|
||||
152 1 4.28036019174 2.47126710893 24.3197318979
|
||||
153 1 7.1339336529 2.47126710893 24.3197318979
|
||||
154 1 9.98750711406 2.47126710893 24.3197318979
|
||||
155 1 12.8410805752 2.47126710893 24.3197318979
|
||||
156 1 15.6946540364 2.47126710893 24.3197318979
|
||||
157 1 0.0 4.94253421786 24.3197318979
|
||||
158 1 2.85357346116 4.94253421786 24.3197318979
|
||||
159 1 5.70714692232 4.94253421786 24.3197318979
|
||||
160 1 8.56072038348 4.94253421786 24.3197318979
|
||||
161 1 11.4142938446 4.94253421786 24.3197318979
|
||||
162 1 14.2678673058 4.94253421786 24.3197318979
|
||||
163 1 1.42678673058 7.41380132679 24.3197318979
|
||||
164 1 4.28036019174 7.41380132679 24.3197318979
|
||||
165 1 7.1339336529 7.41380132679 24.3197318979
|
||||
166 1 9.98750711406 7.41380132679 24.3197318979
|
||||
167 1 12.8410805752 7.41380132679 24.3197318979
|
||||
168 1 15.6946540364 7.41380132679 24.3197318979
|
||||
169 1 0.0 9.88506843572 24.3197318979
|
||||
170 1 2.85357346116 9.88506843572 24.3197318979
|
||||
171 1 5.70714692232 9.88506843572 24.3197318979
|
||||
172 1 8.56072038348 9.88506843572 24.3197318979
|
||||
173 1 11.4142938446 9.88506843572 24.3197318979
|
||||
174 1 14.2678673058 9.88506843572 24.3197318979
|
||||
175 1 1.42678673058 12.3563355446 24.3197318979
|
||||
176 1 4.28036019174 12.3563355446 24.3197318979
|
||||
177 1 7.1339336529 12.3563355446 24.3197318979
|
||||
178 1 9.98750711406 12.3563355446 24.3197318979
|
||||
179 1 12.8410805752 12.3563355446 24.3197318979
|
||||
180 1 15.6946540364 12.3563355446 24.3197318979
|
||||
181 1 7.1339336529 4.11877851488 26.7197318979
|
||||
|
||||
23
examples/USER/misc/agni/in.adatom
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
processors * * 1
|
||||
units metal
|
||||
boundary p p f
|
||||
read_data adatom.data
|
||||
|
||||
pair_style agni
|
||||
pair_coeff * * Al_prb.agni Al
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 2 check yes
|
||||
|
||||
timestep 0.0005
|
||||
velocity all create 500 12345
|
||||
fix 1 all nvt temp 250 250 0.2
|
||||
fix 5 all momentum 1 linear 1 1 1
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step ke temp
|
||||
|
||||
# dump MyDump all custom 250 dump.atoms id type x y z vx vy vz fx fy fz
|
||||
|
||||
run 1000
|
||||