Compare commits
231 Commits
stable_17N
...
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 | |||
| 2a026c9ad8 | |||
| 4a3091f844 | |||
| 747c95c525 | |||
| 5c64934bc8 | |||
| 4e62e58d29 | |||
| 5ac2d9532e | |||
| 19ac9d2959 | |||
| 9f313aac75 | |||
| 0102c5dadc | |||
| 07e46b797a | |||
| b45d1e37ef | |||
| 2e7fd513d4 | |||
| 82364d10e3 | |||
| 16c8a307e5 | |||
| 94f14ab051 | |||
| 683f514fac | |||
| f617993944 | |||
| 4641c9e568 | |||
| 705f66aaee | |||
| e57ae1ce3f | |||
| 950442b8b1 | |||
| 1c68e42ecc | |||
| 5f94b31806 | |||
| fdf5d68f9f | |||
| 0c25f3b1d6 | |||
| 14c7cf4197 | |||
| 26870f223d | |||
| 09544d0698 | |||
| b5130a3b35 | |||
| 20daf82463 | |||
| 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/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="17 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
|
||||
17 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,
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -172,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
|
||||
@ -213,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
|
||||
@ -310,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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
81
examples/USER/misc/grem/README
Normal file
@ -0,0 +1,81 @@
|
||||
Generalized Replica Exchange Method (gREM) examples
|
||||
===================================================
|
||||
|
||||
Examples:
|
||||
---------------------------------------------------
|
||||
|
||||
lj-single:
|
||||
This example is the simplest case scenario utilizing the generalized
|
||||
ensemble defined by fix_grem. It utilizes only 1 replica and requires
|
||||
the LAMMPS executable to be run as usual:
|
||||
|
||||
mpirun -np 4 lmp_mpi -in in.gREM-npt
|
||||
./lmp_serial -in in.gREM-nvt
|
||||
|
||||
While this does not obtain any information about Ts(H), it is most similar to
|
||||
a microcanonical simulation and "single-replica gREM" can be useful for
|
||||
studying non-equilibrium processes as well.
|
||||
|
||||
lj-6rep:
|
||||
This example utilizes an external python script to handle swaps between
|
||||
replicas. Included is run.sh, which requires the path to your LAMMPS
|
||||
executable. The python script is fragile as it relies on parsing output files
|
||||
from the LAMMPS run and moving LAMMPS data files between directories. Use
|
||||
caution if modifying this example further. If complied with mpi, multiple
|
||||
processors can be used as:
|
||||
|
||||
./run.sh $NUM_PROCS
|
||||
|
||||
a serial run is completed simply as
|
||||
|
||||
./run.sh 1
|
||||
|
||||
where the executable provided must be serial if "1" is provided as the number
|
||||
of procs. While this external replica exchange module is quite slow and
|
||||
inefficient, it allows for many replicas to be used on a single processor.
|
||||
While here there are only 6 replicas, this example could be extended to >100
|
||||
replicas while still using a serial compilation. This is also beneficial for
|
||||
running on high performance nodes with few cores to complete a full-scale gREM
|
||||
simulation with a large number of replicas.
|
||||
|
||||
A quick note on efficiency: frequent exchanges slow down this script
|
||||
substantially because LAMMPS is restarted every exchange attempt. The script
|
||||
works best for large systems with infrequent exchanges.
|
||||
|
||||
lj-temper:
|
||||
This is an example using the internal replica exchange module. While fast
|
||||
in comparison to the python version, it requires substantial resources
|
||||
(at least 1 proc per replica). Instead of stopping LAMMPS every exchange
|
||||
attempt, all replicas are run concurrently, and exchanges take place
|
||||
internally. This requires use of LAMMPS partition mode, via the command
|
||||
line using the -p flag. Input files require world type variables defining
|
||||
the parameters of each replica. The included example with 4 replicas must
|
||||
run on at least 4 procs, in that case LAMMPS could be initiated as:
|
||||
|
||||
mpirun -np 4 lmp_mpi -p 4x1 -in in.gREM-temper
|
||||
|
||||
spawning 4 partitions with 1 replica each. Multiple procs per replica could
|
||||
be used. In the case of a 16 system with 4 replicas, the
|
||||
following logic could be used:
|
||||
|
||||
mpirun -np 16 lmp_mpi -p 4x4 -in in.gREM-temper
|
||||
|
||||
Once started, a universe log file will be created as well as log files for
|
||||
each replica. The universe (log.lammps) contains exchange information, while
|
||||
the replicas (*/log.lammps.*) contains the thermo_output as usual. In this
|
||||
example, in.gREM-temper moves the log files to their respective folders.
|
||||
|
||||
|
||||
Closing Notes:
|
||||
---------------------------------------------------
|
||||
|
||||
Of significant difference between lj-6rep and lj-temper is the format of data.
|
||||
In lj-6rep, data is stored as 'replicas' meaning discontinuous trajectories, as
|
||||
files are moved between directories labeled by the 'lambda' of the replica. In
|
||||
lj-temper, data is stored as 'walkers' with continuous trajectories, but
|
||||
discontinuous parameters. The later is significantly more efficient, but
|
||||
requires post-processing to obtain per-replica information.
|
||||
|
||||
|
||||
Any problems/questions should be directed to <dstelter@bu.edu>.
|
||||
|
||||
1022
examples/USER/misc/grem/lj-6rep/400/restart.init
Normal file
1022
examples/USER/misc/grem/lj-6rep/405/restart.init
Normal file
1022
examples/USER/misc/grem/lj-6rep/410/restart.init
Normal file
1022
examples/USER/misc/grem/lj-6rep/415/restart.init
Normal file
1022
examples/USER/misc/grem/lj-6rep/420/restart.init
Normal file
1022
examples/USER/misc/grem/lj-6rep/425/restart.init
Normal file
15
examples/USER/misc/grem/lj-6rep/clean.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#/bin/bash
|
||||
|
||||
for i in $(ls -d [0-9]*)
|
||||
do
|
||||
rm -f $i/final*
|
||||
rm -f $i/log*
|
||||
rm -f $i/ent*
|
||||
rm -f $i/output
|
||||
cp $i/restart.init $i/restart_file
|
||||
done
|
||||
|
||||
echo 1 > lastexchange
|
||||
cp walker.bkp lastwalker
|
||||
|
||||
exit 0
|
||||
168
examples/USER/misc/grem/lj-6rep/double-re-short.py
Executable file
@ -0,0 +1,168 @@
|
||||
#!/usr/bin/env python2.7
|
||||
|
||||
import os, sys
|
||||
from numpy import *
|
||||
import numpy.random
|
||||
|
||||
### Runs replica exchange with gREM (fix grem) for unlimited number of replicas on a set number of processors. This script is inefficient, but necessary if wanting to run with hundreds of replicas on relatively few number of procs.
|
||||
|
||||
|
||||
### read number of processors from the command line
|
||||
nproc = int(sys.argv[1])
|
||||
|
||||
### path to simulation directory
|
||||
path = os.getcwd()
|
||||
|
||||
### path to LAMMPS executable
|
||||
lmp = sys.argv[2]
|
||||
|
||||
### LAMMPS input name
|
||||
inp = sys.argv[3]
|
||||
|
||||
### define pressure for simulations (0 if const V)
|
||||
pressure = 0
|
||||
|
||||
### some constants for gREM, must match with LAMMPS input file!
|
||||
H = -30000
|
||||
eta = -0.01
|
||||
#kB = 0.000086173324 # eV (metal)
|
||||
kB = 0.0019872 # kcal/mol (real)
|
||||
|
||||
### define lambdas - script assumes that there are already existing directories with all files necessary to run
|
||||
lambdas=[400,405,410,415,420,425]
|
||||
ll = len(lambdas)
|
||||
|
||||
### define number of exchanges
|
||||
starting_ex = int(loadtxt("lastexchange"))
|
||||
how_many_ex = 5
|
||||
max_exchange = starting_ex+how_many_ex
|
||||
|
||||
### array with walkers
|
||||
walker = loadtxt("lastwalker")
|
||||
|
||||
### initiate array with enthalpies
|
||||
enthalpy = zeros(ll)
|
||||
aver_enthalpy = zeros(ll)
|
||||
|
||||
for exchange in arange(starting_ex,max_exchange):
|
||||
print "run", exchange
|
||||
for l in range(ll):
|
||||
#print "replica", l
|
||||
os.chdir(path+"/%s" % lambdas[l])
|
||||
#os.system("cp restart_file restart_file%d" % exchange)
|
||||
if (nproc > 1):
|
||||
os.system("mpirun -np %d " % (nproc) + lmp + " -in ../" + inp + " -var lambda %g -var eta %g -var enthalpy %g > output" % (lambdas[l], eta, H))
|
||||
if (nproc == 1):
|
||||
os.system(lmp + " -in ../" + inp + " -var lambda %g -var eta %g -var enthalpy %g > output" % (lambdas[l], eta, H))
|
||||
os.system("grep -v '[a-zA-Z]' output | awk '{if(NF==6 && NR>19)print $0}' | awk '{print $3}' >ent")
|
||||
enthalpy[l] = os.popen("tail -n 1 ent").read()
|
||||
ee = loadtxt("ent")
|
||||
aver_enthalpy[l] = mean(ee[-1])
|
||||
# os.system("mv dump.dcd dump%d.dcd" % exchange)
|
||||
os.system("mv log.lammps log%d.lammps" % exchange)
|
||||
os.system("mv final_restart_file final_restart_file%d" % exchange)
|
||||
os.system("mv ent ent%d" % exchange)
|
||||
os.system("bzip2 log%d.lammps ent%d" % (exchange,exchange))
|
||||
os.system("cp final_restart_file%d restart_file" % exchange)
|
||||
|
||||
### replicas will be exchanged based on enthalpy order, not replicas order (termostat order)
|
||||
#entalpy_sorted_indices = enthalpy.argsort()
|
||||
aver_entalpy_sorted_indices = aver_enthalpy.argsort()
|
||||
|
||||
### choose pair of replicas for exchange attempt based on enthalpy order
|
||||
pp = random.random_integers(0,ll-2)
|
||||
first = aver_entalpy_sorted_indices[pp]
|
||||
second = aver_entalpy_sorted_indices[pp+1]
|
||||
#if (first>second):
|
||||
# tmp = first
|
||||
# first = second
|
||||
# second = tmp
|
||||
print "pair1:", first, second
|
||||
|
||||
### calculate weights for exchange criterion
|
||||
w1 = log(lambdas[first]+eta*(enthalpy[first]-1*H))
|
||||
w2 = log(lambdas[first]+eta*(enthalpy[second]-1*H))
|
||||
w3 = log(lambdas[second]+eta*(enthalpy[first]-1*H))
|
||||
w4 = log(lambdas[second]+eta*(enthalpy[second]-1*H))
|
||||
weight = (w4-w3+w1-w2)/eta/kB
|
||||
|
||||
### generate randon number for exchange criterion and calc its log
|
||||
LOGRANDNUM = log(random.random())
|
||||
|
||||
### wyzeruj warunki
|
||||
compare1 = 0
|
||||
compare2 = 0
|
||||
|
||||
if (weight>0):
|
||||
compare1 = 1
|
||||
if (weight>LOGRANDNUM):
|
||||
compare2 = 1
|
||||
|
||||
### exchange restart files if exchange condition is satisfied
|
||||
if (compare1>0 or compare2>0):
|
||||
print "exchange1 accepted for pair", first, second, lambdas[first], lambdas[second], "with compares as", compare1, compare2, "weight as", weight, "and lograndnum", LOGRANDNUM
|
||||
os.system("cp %s/%s/final_restart_file%d %s/%s/restart_file" % (path,lambdas[first],exchange,path,lambdas[second]))
|
||||
os.system("cp %s/%s/final_restart_file%d %s/%s/restart_file" % (path,lambdas[second],exchange,path,lambdas[first]))
|
||||
### update walkers
|
||||
tmp1=walker[first]
|
||||
tmp2=walker[second]
|
||||
walker[first]=tmp2
|
||||
walker[second]=tmp1
|
||||
else:
|
||||
print "exchange1 not accepted for pair", first, second, lambdas[first], lambdas[second], "with compares as", compare1, compare2, "weight as", weight, "and lograndnum", LOGRANDNUM
|
||||
|
||||
### choose again pair of replicas for exchange attempt based on enthalpy order
|
||||
### but make sure this pair is different than the first pair
|
||||
if_different = 0
|
||||
while if_different<1:
|
||||
pp2 = random.random_integers(0,ll-2)
|
||||
third = aver_entalpy_sorted_indices[pp2]
|
||||
fourth = aver_entalpy_sorted_indices[pp2+1]
|
||||
if (third!=first and third!=second and third!=aver_entalpy_sorted_indices[pp-1]):
|
||||
if_different = 1
|
||||
|
||||
print "pair2:", third, fourth
|
||||
|
||||
### calculate weights for exchange criterion
|
||||
w1 = log(lambdas[third]+eta*(enthalpy[third]-1*H))
|
||||
w2 = log(lambdas[third]+eta*(enthalpy[fourth]-1*H))
|
||||
w3 = log(lambdas[fourth]+eta*(enthalpy[third]-1*H))
|
||||
w4 = log(lambdas[fourth]+eta*(enthalpy[fourth]-1*H))
|
||||
weight = (w4-w3+w1-w2)/eta/kB
|
||||
|
||||
### generate randon number for exchange criterion and calc its log
|
||||
LOGRANDNUM = log(random.random())
|
||||
|
||||
### wyzeruj warunki
|
||||
compare1 = 0
|
||||
compare2 = 0
|
||||
|
||||
if (weight>0):
|
||||
compare1 = 1
|
||||
if (weight>LOGRANDNUM):
|
||||
compare2 = 1
|
||||
|
||||
### exchange restart files if exchange condition is satisfied
|
||||
if (compare1>0 or compare2>0):
|
||||
print "exchange2 accepted for pair", third, fourth, lambdas[third], lambdas[fourth], "with compares as", compare1, compare2, "weight as", weight, "and lograndnum", LOGRANDNUM
|
||||
os.system("cp %s/%s/final_restart_file%d %s/%s/restart_file" % (path,lambdas[third],exchange,path,lambdas[fourth]))
|
||||
os.system("cp %s/%s/final_restart_file%d %s/%s/restart_file" % (path,lambdas[fourth],exchange,path,lambdas[third]))
|
||||
### update walkers
|
||||
tmp1=walker[third]
|
||||
tmp2=walker[fourth]
|
||||
walker[third]=tmp2
|
||||
walker[fourth]=tmp1
|
||||
else:
|
||||
print "exchange2 not accepted for pair", third, fourth, lambdas[third], lambdas[fourth], "with compares as", compare1, compare2, "weight as", weight, "and lograndnum", LOGRANDNUM
|
||||
#print "walkers:", walker
|
||||
print "".join(["%d " % x for x in walker])
|
||||
sys.stdout.flush()
|
||||
|
||||
lastwalker = open(path + "/lastwalker", "w")
|
||||
lastwalker.write("".join(["%d " % w for w in walker]))
|
||||
lastwalker.close()
|
||||
|
||||
lastexchange = open(path + "/lastexchange", "w")
|
||||
lastexchange.write("%d" % (exchange+1))
|
||||
lastexchange.close()
|
||||
|
||||
25
examples/USER/misc/grem/lj-6rep/in.gREM
Normal file
@ -0,0 +1,25 @@
|
||||
# LJ particles
|
||||
variable T0 index 300.0
|
||||
variable press index 0.0
|
||||
variable lambda index 400.0
|
||||
variable eta index -0.01
|
||||
variable enthalpy index -30000.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "restart_file"
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
velocity all create ${T0} 12427
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all npt temp ${T0} ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxgREM all grem ${lambda} ${eta} ${enthalpy} fxnvt
|
||||
thermo_modify press fxgREM_press
|
||||
run 10000
|
||||
|
||||
write_data final_restart_file
|
||||
12
examples/USER/misc/grem/lj-6rep/run.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
NPROCS=1
|
||||
if [ $# -gt 0 ]; then
|
||||
NPROCS=$1
|
||||
fi
|
||||
|
||||
bash ./clean.sh
|
||||
|
||||
python ./double-re-short.py $NPROCS $HOME/compile/lammps-icms/src/lmp_omp in.gREM > total_output.$NPROCS
|
||||
|
||||
exit 0
|
||||
1
examples/USER/misc/grem/lj-6rep/walker.bkp
Normal file
@ -0,0 +1 @@
|
||||
0 1 2 3 4 5
|
||||
21
examples/USER/misc/grem/lj-single/in.gREM-npt
Normal file
@ -0,0 +1,21 @@
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnpt all npt temp ${T0} ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnpt
|
||||
thermo_modify press fxgREM_press
|
||||
run 1000
|
||||
|
||||
#write_data lj-out.data
|
||||
20
examples/USER/misc/grem/lj-single/in.gREM-nvt
Normal file
@ -0,0 +1,20 @@
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all nvt temp ${T0} ${T0} 1000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnvt
|
||||
run 1000
|
||||
|
||||
#write_data lj-out.data
|
||||
1022
examples/USER/misc/grem/lj-single/lj.data
Normal file
176
examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.1
Normal file
@ -0,0 +1,176 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
orthogonal box = (1.06874 1.06874 1.06874) to (23.9313 23.9313 23.9313)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
500 atoms
|
||||
reading velocities ...
|
||||
500 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all npt temp ${T0} ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso 0 ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso 0 0 10000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnvt
|
||||
thermo_modify press fxgREM_press
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7
|
||||
ghost atom cutoff = 7
|
||||
binsize = 3.5 -> bins = 7 7 7
|
||||
Memory usage per processor = 5.37943 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 305.69499 -3177.6423 -2722.9442 -91.741776 11950.115
|
||||
10 312.30124 -3182.2257 -2717.7013 -203.95075 11950.113
|
||||
20 314.94567 -3186.456 -2717.9982 -265.56737 11950.108
|
||||
30 312.229 -3183.7641 -2719.3472 -196.90499 11950.097
|
||||
40 305.94068 -3180.7085 -2725.6449 -92.562221 11950.083
|
||||
50 300.42281 -3176.5838 -2729.7277 10.896769 11950.066
|
||||
60 299.16747 -3174.1939 -2729.205 50.094171 11950.05
|
||||
70 301.65965 -3176.0918 -2727.396 0.096901939 11950.035
|
||||
80 304.77876 -3178.2699 -2724.9346 -64.001022 11950.019
|
||||
90 305.60598 -3178.9517 -2724.386 -93.672879 11950.003
|
||||
100 303.8005 -3177.5156 -2725.6354 -74.516709 11949.985
|
||||
110 300.86776 -3175.4773 -2727.9593 -34.22655 11949.965
|
||||
120 298.70177 -3175.6488 -2731.3526 -19.014898 11949.944
|
||||
130 298.39686 -3176.3792 -2732.5365 -21.293245 11949.923
|
||||
140 300.00669 -3177.7032 -2731.466 -40.992937 11949.902
|
||||
150 301.85665 -3178.1312 -2729.1423 -45.715505 11949.88
|
||||
160 301.20597 -3177.3218 -2729.3007 -10.104082 11949.857
|
||||
170 297.01134 -3172.7462 -2730.9643 99.298381 11949.833
|
||||
180 291.279 -3168.3513 -2735.0958 219.47549 11949.812
|
||||
190 287.13954 -3165.1287 -2738.0304 309.36947 11949.796
|
||||
200 286.57735 -3165.2951 -2739.033 323.96954 11949.786
|
||||
210 289.83941 -3167.8245 -2736.7103 271.77305 11949.783
|
||||
220 296.12858 -3171.8054 -2731.3366 172.4056 11949.785
|
||||
230 303.82424 -3176.3108 -2724.3952 56.711479 11949.791
|
||||
240 309.95738 -3180.9789 -2719.9408 -40.992898 11949.798
|
||||
250 312.0405 -3182.3473 -2718.2107 -57.591676 11949.805
|
||||
260 309.65444 -3181.0587 -2720.4712 3.3540332 11949.81
|
||||
270 304.40001 -3176.5798 -2723.8078 130.77028 11949.816
|
||||
280 298.65985 -3174.1505 -2729.9166 237.63562 11949.825
|
||||
290 294.78709 -3170.9701 -2732.4966 326.94924 11949.838
|
||||
300 294.03216 -3169.9567 -2732.6062 349.85486 11949.859
|
||||
310 296.44397 -3172.8519 -2731.914 284.80897 11949.886
|
||||
320 301.41027 -3175.9697 -2727.6447 179.4647 11949.92
|
||||
330 307.88911 -3181.2615 -2723.2998 24.702414 11949.957
|
||||
340 314.73138 -3186.0047 -2717.8656 -132.6263 11949.995
|
||||
350 320.55591 -3187.8509 -2711.0483 -245.88468 11950.031
|
||||
360 323.50274 -3188.9994 -2707.8136 -314.73676 11950.062
|
||||
370 321.61539 -3187.1233 -2708.7448 -293.17446 11950.086
|
||||
380 314.37275 -3181.484 -2713.8784 -169.00448 11950.104
|
||||
390 303.54884 -3174.1675 -2722.6616 12.923999 11950.119
|
||||
400 293.40432 -3167.0348 -2730.6181 187.6624 11950.135
|
||||
410 288.46351 -3165.273 -2736.2054 252.20051 11950.154
|
||||
420 290.31387 -3168.604 -2736.7841 193.73816 11950.178
|
||||
430 296.35519 -3173.09 -2732.2841 81.521847 11950.207
|
||||
440 301.92973 -3175.4344 -2726.3368 -1.8329439 11950.237
|
||||
450 303.76205 -3176.777 -2724.9539 -35.002096 11950.267
|
||||
460 301.71619 -3174.2731 -2725.4932 14.977875 11950.296
|
||||
470 298.92404 -3172.9921 -2728.3652 64.224747 11950.326
|
||||
480 298.80164 -3172.5329 -2728.0881 82.781347 11950.358
|
||||
490 302.71589 -3175.3703 -2725.1034 27.223049 11950.39
|
||||
500 309.10665 -3179.3013 -2719.5285 -65.460658 11950.424
|
||||
510 314.36408 -3183.2854 -2715.6927 -151.19245 11950.456
|
||||
520 315.71154 -3183.5328 -2713.9358 -163.19151 11950.485
|
||||
530 313.31886 -3182.2521 -2716.214 -125.5741 11950.511
|
||||
540 309.81847 -3178.9358 -2718.1043 -55.55841 11950.534
|
||||
550 308.29687 -3177.837 -2719.2688 -24.39371 11950.556
|
||||
560 308.75927 -3176.3265 -2717.0705 0.93689833 11950.578
|
||||
570 307.52811 -3175.8145 -2718.3897 35.502429 11950.6
|
||||
580 301.75074 -3173.1208 -2724.2894 136.29625 11950.622
|
||||
590 292.37743 -3165.5806 -2730.6913 319.75957 11950.648
|
||||
600 283.57627 -3159.8617 -2738.0635 471.28045 11950.68
|
||||
610 279.85172 -3157.4557 -2741.1975 530.72699 11950.722
|
||||
620 283.40879 -3160.5911 -2739.042 455.28104 11950.775
|
||||
630 292.53718 -3166.3125 -2731.1856 296.63465 11950.838
|
||||
640 302.81112 -3173.3096 -2722.901 113.80844 11950.907
|
||||
650 309.83321 -3179.3684 -2718.515 -26.499431 11950.978
|
||||
660 312.1283 -3182.7335 -2718.4663 -89.363745 11951.049
|
||||
670 311.16363 -3181.867 -2719.0347 -69.370989 11951.118
|
||||
680 308.51041 -3180.6869 -2721.801 -25.972987 11951.186
|
||||
690 304.64393 -3176.8751 -2723.7403 56.592367 11951.254
|
||||
700 300.24456 -3175.4797 -2728.8887 112.34442 11951.323
|
||||
710 296.35785 -3172.9705 -2732.1607 168.18009 11951.394
|
||||
720 293.78145 -3172.1065 -2735.1289 182.81082 11951.468
|
||||
730 293.25707 -3170.8715 -2734.6738 171.04236 11951.547
|
||||
740 295.33219 -3172.9109 -2733.6266 91.351362 11951.629
|
||||
750 299.69136 -3175.2574 -2729.4892 -16.266404 11951.713
|
||||
760 305.2281 -3177.9836 -2723.9799 -137.30615 11951.796
|
||||
770 310.59309 -3182.7053 -2720.7216 -272.72961 11951.877
|
||||
780 314.65573 -3183.4212 -2715.3947 -341.231 11951.952
|
||||
790 316.48606 -3185.44 -2714.691 -388.53602 11952.02
|
||||
800 315.15897 -3186.846 -2718.0709 -384.28316 11952.08
|
||||
810 310.43559 -3183.6648 -2721.9154 -282.61999 11952.133
|
||||
820 303.22265 -3178.464 -2727.4433 -121.47565 11952.179
|
||||
830 295.36843 -3175.4771 -2736.1389 33.066504 11952.223
|
||||
840 288.69698 -3169.5813 -2740.1664 216.10697 11952.268
|
||||
850 283.82649 -3165.7822 -2743.6118 359.56896 11952.317
|
||||
860 280.04102 -3162.8228 -2746.283 475.61942 11952.374
|
||||
870 277.10059 -3159.6212 -2747.4551 572.5432 11952.441
|
||||
880 275.76549 -3158.2545 -2748.0743 616.43304 11952.52
|
||||
890 276.82327 -3158.9703 -2747.2166 596.08147 11952.612
|
||||
900 280.72135 -3162.0637 -2744.5119 506.33695 11952.716
|
||||
910 287.1035 -3167.4388 -2740.3941 356.68688 11952.831
|
||||
920 294.28041 -3171.6218 -2733.902 206.06394 11952.953
|
||||
930 300.36009 -3173.9046 -2727.1418 88.047911 11953.08
|
||||
940 303.86761 -3175.5599 -2723.5798 7.6846808 11953.209
|
||||
950 304.42957 -3176.0831 -2723.2672 -25.15496 11953.339
|
||||
960 303.13982 -3176.0534 -2725.1559 -28.715178 11953.467
|
||||
970 302.30166 -3176.9758 -2727.325 -43.264668 11953.596
|
||||
980 303.93331 -3178.9891 -2726.9114 -88.434034 11953.723
|
||||
990 307.36223 -3180.7316 -2723.5535 -145.46208 11953.849
|
||||
1000 310.09574 -3181.101 -2719.8571 -180.39125 11953.972
|
||||
Loop time of 0.307225 on 1 procs for 1000 steps with 500 atoms
|
||||
|
||||
Performance: 281.227 ns/day, 0.085 hours/ns, 3254.944 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.25351 | 0.25351 | 0.25351 | 0.0 | 82.52
|
||||
Bond | 7.1526e-05 | 7.1526e-05 | 7.1526e-05 | 0.0 | 0.02
|
||||
Neigh | 0.0042093 | 0.0042093 | 0.0042093 | 0.0 | 1.37
|
||||
Comm | 0.010211 | 0.010211 | 0.010211 | 0.0 | 3.32
|
||||
Output | 0.0013611 | 0.0013611 | 0.0013611 | 0.0 | 0.44
|
||||
Modify | 0.033891 | 0.033891 | 0.033891 | 0.0 | 11.03
|
||||
Other | | 0.003969 | | | 1.29
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1610 ave 1610 max 1610 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 14765 ave 14765 max 14765 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 14765
|
||||
Ave neighs/atom = 29.53
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 5
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_data lj-out.data
|
||||
Total wall time: 0:00:00
|
||||
176
examples/USER/misc/grem/lj-single/log.gREM-npt.9Nov16.g++.4
Normal file
@ -0,0 +1,176 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
orthogonal box = (1.06874 1.06874 1.06874) to (23.9313 23.9313 23.9313)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
500 atoms
|
||||
reading velocities ...
|
||||
500 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all npt temp ${T0} ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 ${T0} 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso ${press} ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso 0 ${press} 10000.0
|
||||
fix fxnvt all npt temp 300 300 1000.0 iso 0 0 10000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnvt
|
||||
thermo_modify press fxgREM_press
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7
|
||||
ghost atom cutoff = 7
|
||||
binsize = 3.5 -> bins = 7 7 7
|
||||
Memory usage per processor = 5.34276 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 305.69499 -3177.6423 -2722.9442 -91.741776 11950.115
|
||||
10 312.30124 -3182.2257 -2717.7013 -203.95075 11950.113
|
||||
20 314.94567 -3186.456 -2717.9982 -265.56737 11950.108
|
||||
30 312.229 -3183.7641 -2719.3472 -196.90499 11950.097
|
||||
40 305.94068 -3180.7085 -2725.6449 -92.562221 11950.083
|
||||
50 300.42281 -3176.5838 -2729.7277 10.896769 11950.066
|
||||
60 299.16747 -3174.1939 -2729.205 50.094171 11950.05
|
||||
70 301.65965 -3176.0918 -2727.396 0.096901939 11950.035
|
||||
80 304.77876 -3178.2699 -2724.9346 -64.001022 11950.019
|
||||
90 305.60598 -3178.9517 -2724.386 -93.672879 11950.003
|
||||
100 303.8005 -3177.5156 -2725.6354 -74.516709 11949.985
|
||||
110 300.86776 -3175.4773 -2727.9593 -34.22655 11949.965
|
||||
120 298.70177 -3175.6488 -2731.3526 -19.014898 11949.944
|
||||
130 298.39686 -3176.3792 -2732.5365 -21.293245 11949.923
|
||||
140 300.00669 -3177.7032 -2731.466 -40.992937 11949.902
|
||||
150 301.85665 -3178.1312 -2729.1423 -45.715505 11949.88
|
||||
160 301.20597 -3177.3218 -2729.3007 -10.104082 11949.857
|
||||
170 297.01134 -3172.7462 -2730.9643 99.298381 11949.833
|
||||
180 291.279 -3168.3513 -2735.0958 219.47549 11949.812
|
||||
190 287.13954 -3165.1287 -2738.0304 309.36947 11949.796
|
||||
200 286.57735 -3165.2951 -2739.033 323.96954 11949.786
|
||||
210 289.83941 -3167.8245 -2736.7103 271.77305 11949.783
|
||||
220 296.12858 -3171.8054 -2731.3366 172.4056 11949.785
|
||||
230 303.82424 -3176.3108 -2724.3952 56.711479 11949.791
|
||||
240 309.95738 -3180.9789 -2719.9408 -40.992898 11949.798
|
||||
250 312.0405 -3182.3473 -2718.2107 -57.591676 11949.805
|
||||
260 309.65444 -3181.0587 -2720.4712 3.3540332 11949.81
|
||||
270 304.40001 -3176.5798 -2723.8078 130.77028 11949.816
|
||||
280 298.65985 -3174.1505 -2729.9166 237.63562 11949.825
|
||||
290 294.78709 -3170.9701 -2732.4966 326.94924 11949.838
|
||||
300 294.03216 -3169.9567 -2732.6062 349.85486 11949.859
|
||||
310 296.44397 -3172.8519 -2731.914 284.80897 11949.886
|
||||
320 301.41027 -3175.9697 -2727.6447 179.4647 11949.92
|
||||
330 307.88911 -3181.2615 -2723.2998 24.702414 11949.957
|
||||
340 314.73138 -3186.0047 -2717.8656 -132.6263 11949.995
|
||||
350 320.55591 -3187.8509 -2711.0483 -245.88468 11950.031
|
||||
360 323.50274 -3188.9994 -2707.8136 -314.73676 11950.062
|
||||
370 321.61539 -3187.1233 -2708.7448 -293.17446 11950.086
|
||||
380 314.37275 -3181.484 -2713.8784 -169.00448 11950.104
|
||||
390 303.54884 -3174.1675 -2722.6616 12.923999 11950.119
|
||||
400 293.40432 -3167.0348 -2730.6181 187.6624 11950.135
|
||||
410 288.46351 -3165.273 -2736.2054 252.20051 11950.154
|
||||
420 290.31387 -3168.604 -2736.7841 193.73816 11950.178
|
||||
430 296.35519 -3173.09 -2732.2841 81.521847 11950.207
|
||||
440 301.92973 -3175.4344 -2726.3368 -1.8329439 11950.237
|
||||
450 303.76205 -3176.777 -2724.9539 -35.002096 11950.267
|
||||
460 301.71619 -3174.2731 -2725.4932 14.977875 11950.296
|
||||
470 298.92404 -3172.9921 -2728.3652 64.224747 11950.326
|
||||
480 298.80164 -3172.5329 -2728.0881 82.781347 11950.358
|
||||
490 302.71589 -3175.3703 -2725.1034 27.223049 11950.39
|
||||
500 309.10665 -3179.3013 -2719.5285 -65.460658 11950.424
|
||||
510 314.36408 -3183.2854 -2715.6927 -151.19245 11950.456
|
||||
520 315.71154 -3183.5328 -2713.9358 -163.19151 11950.485
|
||||
530 313.31886 -3182.2521 -2716.214 -125.5741 11950.511
|
||||
540 309.81847 -3178.9358 -2718.1043 -55.55841 11950.534
|
||||
550 308.29687 -3177.837 -2719.2688 -24.39371 11950.556
|
||||
560 308.75927 -3176.3265 -2717.0705 0.93689833 11950.578
|
||||
570 307.52811 -3175.8145 -2718.3897 35.502429 11950.6
|
||||
580 301.75074 -3173.1208 -2724.2894 136.29625 11950.622
|
||||
590 292.37743 -3165.5806 -2730.6913 319.75957 11950.648
|
||||
600 283.57627 -3159.8617 -2738.0635 471.28045 11950.68
|
||||
610 279.85172 -3157.4557 -2741.1975 530.72699 11950.722
|
||||
620 283.40879 -3160.5911 -2739.042 455.28104 11950.775
|
||||
630 292.53718 -3166.3125 -2731.1856 296.63465 11950.838
|
||||
640 302.81112 -3173.3096 -2722.901 113.80844 11950.907
|
||||
650 309.83321 -3179.3684 -2718.515 -26.499431 11950.978
|
||||
660 312.1283 -3182.7335 -2718.4663 -89.363745 11951.049
|
||||
670 311.16363 -3181.867 -2719.0347 -69.370989 11951.118
|
||||
680 308.51041 -3180.6869 -2721.801 -25.972987 11951.186
|
||||
690 304.64393 -3176.8751 -2723.7403 56.592367 11951.254
|
||||
700 300.24456 -3175.4797 -2728.8887 112.34442 11951.323
|
||||
710 296.35785 -3172.9705 -2732.1607 168.18009 11951.394
|
||||
720 293.78145 -3172.1065 -2735.1289 182.81082 11951.468
|
||||
730 293.25707 -3170.8715 -2734.6738 171.04236 11951.547
|
||||
740 295.33219 -3172.9109 -2733.6266 91.351362 11951.629
|
||||
750 299.69136 -3175.2574 -2729.4892 -16.266404 11951.713
|
||||
760 305.2281 -3177.9836 -2723.9799 -137.30615 11951.796
|
||||
770 310.59309 -3182.7053 -2720.7216 -272.72961 11951.877
|
||||
780 314.65573 -3183.4212 -2715.3947 -341.231 11951.952
|
||||
790 316.48606 -3185.44 -2714.691 -388.53602 11952.02
|
||||
800 315.15897 -3186.846 -2718.0709 -384.28316 11952.08
|
||||
810 310.43559 -3183.6648 -2721.9154 -282.61999 11952.133
|
||||
820 303.22265 -3178.464 -2727.4433 -121.47565 11952.179
|
||||
830 295.36843 -3175.4771 -2736.1389 33.066504 11952.223
|
||||
840 288.69698 -3169.5813 -2740.1664 216.10697 11952.268
|
||||
850 283.82649 -3165.7822 -2743.6118 359.56896 11952.317
|
||||
860 280.04102 -3162.8228 -2746.283 475.61942 11952.374
|
||||
870 277.10059 -3159.6212 -2747.4551 572.5432 11952.441
|
||||
880 275.76549 -3158.2545 -2748.0743 616.43304 11952.52
|
||||
890 276.82327 -3158.9703 -2747.2166 596.08147 11952.612
|
||||
900 280.72135 -3162.0637 -2744.5119 506.33695 11952.716
|
||||
910 287.1035 -3167.4388 -2740.3941 356.68688 11952.831
|
||||
920 294.28041 -3171.6218 -2733.902 206.06394 11952.953
|
||||
930 300.36009 -3173.9046 -2727.1418 88.047911 11953.08
|
||||
940 303.86761 -3175.5599 -2723.5798 7.6846808 11953.209
|
||||
950 304.42957 -3176.0831 -2723.2672 -25.15496 11953.339
|
||||
960 303.13982 -3176.0534 -2725.1559 -28.715178 11953.467
|
||||
970 302.30166 -3176.9758 -2727.325 -43.264668 11953.596
|
||||
980 303.93331 -3178.9891 -2726.9114 -88.434034 11953.723
|
||||
990 307.36223 -3180.7316 -2723.5535 -145.46208 11953.849
|
||||
1000 310.09574 -3181.101 -2719.8571 -180.39125 11953.972
|
||||
Loop time of 0.154208 on 4 procs for 1000 steps with 500 atoms
|
||||
|
||||
Performance: 560.281 ns/day, 0.043 hours/ns, 6484.730 timesteps/s
|
||||
98.1% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.072079 | 0.074846 | 0.079666 | 1.1 | 48.54
|
||||
Bond | 5.7936e-05 | 6.634e-05 | 8.1062e-05 | 0.1 | 0.04
|
||||
Neigh | 0.0010812 | 0.0012064 | 0.0012748 | 0.2 | 0.78
|
||||
Comm | 0.032452 | 0.037544 | 0.04076 | 1.6 | 24.35
|
||||
Output | 0.0018461 | 0.0020589 | 0.0026393 | 0.7 | 1.34
|
||||
Modify | 0.032085 | 0.032688 | 0.033361 | 0.3 | 21.20
|
||||
Other | | 0.005799 | | | 3.76
|
||||
|
||||
Nlocal: 125 ave 127 max 123 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Nghost: 870.5 ave 882 max 862 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
Neighs: 3691.25 ave 3807 max 3563 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 14765
|
||||
Ave neighs/atom = 29.53
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 5
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_data lj-out.data
|
||||
Total wall time: 0:00:00
|
||||
173
examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.1
Normal file
@ -0,0 +1,173 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
orthogonal box = (1.06874 1.06874 1.06874) to (23.9313 23.9313 23.9313)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
500 atoms
|
||||
reading velocities ...
|
||||
500 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all nvt temp ${T0} ${T0} 1000.0
|
||||
fix fxnvt all nvt temp 300 ${T0} 1000.0
|
||||
fix fxnvt all nvt temp 300 300 1000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnvt
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7
|
||||
ghost atom cutoff = 7
|
||||
binsize = 3.5 -> bins = 7 7 7
|
||||
Memory usage per processor = 5.37943 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 305.69499 -3177.6423 -2722.9442 883.58369 11950.115
|
||||
10 312.30121 -3182.2257 -2717.7013 793.47811 11950.115
|
||||
20 314.94553 -3186.4559 -2717.9983 738.74091 11950.115
|
||||
30 312.22861 -3183.7638 -2719.3474 797.47978 11950.115
|
||||
40 305.93987 -3180.7079 -2725.6455 881.30806 11950.115
|
||||
50 300.42132 -3176.5828 -2729.7288 967.92042 11950.115
|
||||
60 299.16487 -3174.1921 -2729.2071 1004.247 11950.115
|
||||
70 301.65565 -3176.0891 -2727.3992 962.58134 11950.115
|
||||
80 304.77334 -3178.2663 -2724.939 907.8946 11950.115
|
||||
90 305.59929 -3178.9472 -2724.3914 879.91629 11950.115
|
||||
100 303.79263 -3177.5103 -2725.6418 892.67631 11950.115
|
||||
110 300.85863 -3175.4711 -2727.9667 923.44924 11950.115
|
||||
120 298.69083 -3175.6415 -2731.3615 931.87518 11950.115
|
||||
130 298.38415 -3176.3706 -2732.5468 928.88286 11950.115
|
||||
140 299.99129 -3177.6935 -2731.4792 914.36783 11950.115
|
||||
150 301.83869 -3178.121 -2729.1588 915.01407 11950.115
|
||||
160 301.18834 -3177.3117 -2729.3169 947.45228 11950.115
|
||||
170 296.99406 -3172.7363 -2730.9801 1042.6928 11950.115
|
||||
180 291.25952 -3168.3407 -2735.1142 1144.5436 11950.115
|
||||
190 287.1178 -3164.9847 -2737.9187 1223.4003 11950.115
|
||||
200 286.552 -3165.2799 -2739.0555 1235.6703 11950.115
|
||||
210 289.81033 -3167.8062 -2736.7353 1194.6672 11950.115
|
||||
220 296.09616 -3171.7847 -2731.3641 1115.8799 11950.115
|
||||
230 303.79176 -3176.2893 -2724.4221 1024.6471 11950.115
|
||||
240 309.9273 -3180.9591 -2719.9657 945.55045 11950.115
|
||||
250 312.0159 -3182.3307 -2718.2306 934.36956 11950.115
|
||||
260 309.63264 -3181.0452 -2720.4901 986.77385 11950.115
|
||||
270 304.38172 -3176.568 -2723.8233 1097.264 11950.115
|
||||
280 298.64188 -3174.1384 -2729.9313 1186.2239 11950.115
|
||||
290 294.76686 -3170.9562 -2732.5128 1264.247 11950.115
|
||||
300 294.00805 -3169.8091 -2732.4944 1287.4001 11950.115
|
||||
310 296.41801 -3172.834 -2731.9347 1229.5624 11950.115
|
||||
320 301.38477 -3175.9514 -2727.6644 1140.8664 11950.115
|
||||
330 307.86584 -3181.2442 -2723.3171 1007.1545 11950.115
|
||||
340 314.7103 -3185.9891 -2717.8814 871.74528 11950.115
|
||||
350 320.53954 -3187.8385 -2711.0602 776.85994 11950.115
|
||||
360 323.49505 -3188.9927 -2707.8184 716.58062 11950.115
|
||||
370 321.62077 -3187.1246 -2708.7381 731.01909 11950.115
|
||||
380 314.39049 -3181.4931 -2713.8611 831.21057 11950.115
|
||||
390 303.57079 -3174.1804 -2722.6419 978.62645 11950.115
|
||||
400 293.42165 -3167.0452 -2730.6027 1122.3558 11950.115
|
||||
410 288.46838 -3165.4071 -2736.3322 1171.8087 11950.115
|
||||
420 290.30766 -3168.5988 -2736.7882 1122.5413 11950.115
|
||||
430 296.34338 -3173.0824 -2732.2941 1030.2769 11950.115
|
||||
440 301.92394 -3175.4307 -2726.3417 964.25387 11950.115
|
||||
450 303.76745 -3176.9122 -2725.0811 934.49176 11950.115
|
||||
460 301.72985 -3174.2821 -2725.4818 979.07605 11950.115
|
||||
470 298.93736 -3173.0014 -2728.3548 1020.0482 11950.115
|
||||
480 298.80912 -3172.803 -2728.3471 1036.6531 11950.115
|
||||
490 302.72217 -3175.3764 -2725.1001 997.71146 11950.115
|
||||
500 309.11393 -3179.3088 -2719.5253 925.81108 11950.115
|
||||
510 314.37612 -3183.2961 -2715.6855 856.23748 11950.115
|
||||
520 315.72767 -3183.547 -2713.926 847.70543 11950.115
|
||||
530 313.34173 -3182.2695 -2716.1974 877.30842 11950.115
|
||||
540 309.84312 -3178.9553 -2718.0871 936.69244 11950.115
|
||||
550 308.3251 -3177.8582 -2719.248 963.93032 11950.115
|
||||
560 308.79192 -3176.4834 -2717.1788 989.67643 11950.115
|
||||
570 307.57194 -3175.8464 -2718.3565 1021.0494 11950.115
|
||||
580 301.8035 -3173.1582 -2724.2483 1102.4893 11950.115
|
||||
590 292.43425 -3165.751 -2730.7772 1254.7815 11950.115
|
||||
600 283.62905 -3159.8987 -2738.022 1381.0608 11950.115
|
||||
610 279.90122 -3157.49 -2741.1581 1431.0028 11950.115
|
||||
620 283.4582 -3160.756 -2739.1334 1367.7385 11950.115
|
||||
630 292.58866 -3166.3469 -2731.1435 1241.1194 11950.115
|
||||
640 302.86585 -3173.4778 -2722.9878 1089.7342 11950.115
|
||||
650 309.89252 -3179.4078 -2718.4662 972.6359 11950.115
|
||||
660 312.19165 -3182.7754 -2718.414 916.62037 11950.115
|
||||
670 311.2287 -3181.9102 -2718.9811 933.79804 11950.115
|
||||
680 308.57852 -3180.7312 -2721.7441 969.24936 11950.115
|
||||
690 304.71609 -3176.9196 -2723.6775 1040.2699 11950.115
|
||||
700 300.31995 -3175.5245 -2728.8213 1082.845 11950.115
|
||||
710 296.43537 -3173.0166 -2732.0915 1127.4487 11950.115
|
||||
720 293.86692 -3172.1582 -2735.0535 1135.0215 11950.115
|
||||
730 293.35611 -3170.9335 -2734.5885 1122.9143 11950.115
|
||||
740 295.44861 -3172.9862 -2733.5288 1050.995 11950.115
|
||||
750 299.82732 -3175.3467 -2729.3763 958.31462 11950.115
|
||||
760 305.37987 -3178.216 -2723.9866 854.1946 11950.115
|
||||
770 310.75394 -3182.8127 -2720.5898 737.72668 11950.115
|
||||
780 314.81395 -3183.7905 -2715.5286 679.74198 11950.115
|
||||
790 316.63339 -3185.8028 -2714.8346 638.48871 11950.115
|
||||
800 315.2894 -3186.9345 -2717.9654 641.53256 11950.115
|
||||
810 310.54289 -3183.7383 -2721.8293 728.51241 11950.115
|
||||
820 303.31439 -3178.7897 -2727.6326 864.45674 11950.115
|
||||
830 295.46125 -3175.5387 -2736.0625 997.72969 11950.115
|
||||
840 288.802 -3169.6502 -2740.0791 1160.6622 11950.115
|
||||
850 283.94785 -3165.8605 -2743.5096 1289.55 11950.115
|
||||
860 280.17501 -3163.0381 -2746.299 1392.8854 11950.115
|
||||
870 277.2456 -3159.8429 -2747.4611 1481.3899 11950.115
|
||||
880 275.93123 -3158.3584 -2747.9316 1523.5374 11950.115
|
||||
890 277.0215 -3159.2285 -2747.18 1506.1558 11950.115
|
||||
900 280.96237 -3162.483 -2744.5728 1428.4183 11950.115
|
||||
910 287.37962 -3167.6183 -2740.1628 1303.0268 11950.115
|
||||
920 294.56731 -3171.6765 -2733.5299 1177.748 11950.115
|
||||
930 300.63273 -3174.0842 -2726.9158 1078.7393 11950.115
|
||||
940 304.10943 -3175.9847 -2723.645 1007.7154 11950.115
|
||||
950 304.64845 -3176.6263 -2723.4848 976.37917 11950.115
|
||||
960 303.36343 -3176.4694 -2725.2393 971.40749 11950.115
|
||||
970 302.57138 -3177.5541 -2727.5021 954.01115 11950.115
|
||||
980 304.2593 -3179.2101 -2726.6475 919.74949 11950.115
|
||||
990 307.69959 -3180.9631 -2723.2833 874.9594 11950.115
|
||||
1000 310.3971 -3181.9675 -2720.2753 842.81184 11950.115
|
||||
Loop time of 0.279202 on 1 procs for 1000 steps with 500 atoms
|
||||
|
||||
Performance: 309.453 ns/day, 0.078 hours/ns, 3581.633 timesteps/s
|
||||
99.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.24196 | 0.24196 | 0.24196 | 0.0 | 86.66
|
||||
Bond | 6.628e-05 | 6.628e-05 | 6.628e-05 | 0.0 | 0.02
|
||||
Neigh | 0.0043204 | 0.0043204 | 0.0043204 | 0.0 | 1.55
|
||||
Comm | 0.010242 | 0.010242 | 0.010242 | 0.0 | 3.67
|
||||
Output | 0.0012252 | 0.0012252 | 0.0012252 | 0.0 | 0.44
|
||||
Modify | 0.017572 | 0.017572 | 0.017572 | 0.0 | 6.29
|
||||
Other | | 0.003811 | | | 1.37
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1610 ave 1610 max 1610 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 14767 ave 14767 max 14767 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 14767
|
||||
Ave neighs/atom = 29.534
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 5
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_data lj-out.data
|
||||
Total wall time: 0:00:00
|
||||
173
examples/USER/misc/grem/lj-single/log.gREM-nvt.9Nov16.g++.4
Normal file
@ -0,0 +1,173 @@
|
||||
LAMMPS (9 Nov 2016)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LJ particles
|
||||
variable T0 equal 300.0
|
||||
variable press equal 0.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
pair_style lj/cut 5.0
|
||||
|
||||
read_data "lj.data"
|
||||
orthogonal box = (1.06874 1.06874 1.06874) to (23.9313 23.9313 23.9313)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
500 atoms
|
||||
reading velocities ...
|
||||
500 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step temp pe etotal press vol
|
||||
|
||||
timestep 1.0
|
||||
|
||||
fix fxnvt all nvt temp ${T0} ${T0} 1000.0
|
||||
fix fxnvt all nvt temp 300 ${T0} 1000.0
|
||||
fix fxnvt all nvt temp 300 300 1000.0
|
||||
fix fxgREM all grem 400 -.01 -30000 fxnvt
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
1 neighbor list requests
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 7
|
||||
ghost atom cutoff = 7
|
||||
binsize = 3.5 -> bins = 7 7 7
|
||||
Memory usage per processor = 5.34276 Mbytes
|
||||
Step Temp PotEng TotEng Press Volume
|
||||
0 305.69499 -3177.6423 -2722.9442 883.58369 11950.115
|
||||
10 312.30121 -3182.2257 -2717.7013 793.47811 11950.115
|
||||
20 314.94553 -3186.4559 -2717.9983 738.74091 11950.115
|
||||
30 312.22861 -3183.7638 -2719.3474 797.47978 11950.115
|
||||
40 305.93987 -3180.7079 -2725.6455 881.30806 11950.115
|
||||
50 300.42132 -3176.5828 -2729.7288 967.92042 11950.115
|
||||
60 299.16487 -3174.1921 -2729.2071 1004.247 11950.115
|
||||
70 301.65565 -3176.0891 -2727.3992 962.58134 11950.115
|
||||
80 304.77334 -3178.2663 -2724.939 907.8946 11950.115
|
||||
90 305.59929 -3178.9472 -2724.3914 879.91629 11950.115
|
||||
100 303.79263 -3177.5103 -2725.6418 892.67631 11950.115
|
||||
110 300.85863 -3175.4711 -2727.9667 923.44924 11950.115
|
||||
120 298.69083 -3175.6415 -2731.3615 931.87518 11950.115
|
||||
130 298.38415 -3176.3706 -2732.5468 928.88286 11950.115
|
||||
140 299.99129 -3177.6935 -2731.4792 914.36783 11950.115
|
||||
150 301.83869 -3178.121 -2729.1588 915.01407 11950.115
|
||||
160 301.18834 -3177.3117 -2729.3169 947.45228 11950.115
|
||||
170 296.99406 -3172.7363 -2730.9801 1042.6928 11950.115
|
||||
180 291.25952 -3168.3407 -2735.1142 1144.5436 11950.115
|
||||
190 287.1178 -3164.9847 -2737.9187 1223.4003 11950.115
|
||||
200 286.552 -3165.2799 -2739.0555 1235.6703 11950.115
|
||||
210 289.81033 -3167.8062 -2736.7353 1194.6672 11950.115
|
||||
220 296.09616 -3171.7847 -2731.3641 1115.8799 11950.115
|
||||
230 303.79176 -3176.2893 -2724.4221 1024.6471 11950.115
|
||||
240 309.9273 -3180.9591 -2719.9657 945.55045 11950.115
|
||||
250 312.0159 -3182.3307 -2718.2306 934.36956 11950.115
|
||||
260 309.63264 -3181.0452 -2720.4901 986.77385 11950.115
|
||||
270 304.38172 -3176.568 -2723.8233 1097.264 11950.115
|
||||
280 298.64188 -3174.1384 -2729.9313 1186.2239 11950.115
|
||||
290 294.76686 -3170.9562 -2732.5128 1264.247 11950.115
|
||||
300 294.00805 -3169.8091 -2732.4944 1287.4001 11950.115
|
||||
310 296.41801 -3172.834 -2731.9347 1229.5624 11950.115
|
||||
320 301.38477 -3175.9514 -2727.6644 1140.8664 11950.115
|
||||
330 307.86584 -3181.2442 -2723.3171 1007.1545 11950.115
|
||||
340 314.7103 -3185.9891 -2717.8814 871.74528 11950.115
|
||||
350 320.53954 -3187.8385 -2711.0602 776.85994 11950.115
|
||||
360 323.49505 -3188.9927 -2707.8184 716.58062 11950.115
|
||||
370 321.62077 -3187.1246 -2708.7381 731.01909 11950.115
|
||||
380 314.39049 -3181.4931 -2713.8611 831.21057 11950.115
|
||||
390 303.57079 -3174.1804 -2722.6419 978.62645 11950.115
|
||||
400 293.42165 -3167.0452 -2730.6027 1122.3558 11950.115
|
||||
410 288.46838 -3165.4071 -2736.3322 1171.8087 11950.115
|
||||
420 290.30766 -3168.5988 -2736.7882 1122.5413 11950.115
|
||||
430 296.34338 -3173.0824 -2732.2941 1030.2769 11950.115
|
||||
440 301.92394 -3175.4307 -2726.3417 964.25387 11950.115
|
||||
450 303.76745 -3176.9122 -2725.0811 934.49176 11950.115
|
||||
460 301.72985 -3174.2821 -2725.4818 979.07605 11950.115
|
||||
470 298.93736 -3173.0014 -2728.3548 1020.0482 11950.115
|
||||
480 298.80912 -3172.803 -2728.3471 1036.6531 11950.115
|
||||
490 302.72217 -3175.3764 -2725.1001 997.71146 11950.115
|
||||
500 309.11393 -3179.3088 -2719.5253 925.81108 11950.115
|
||||
510 314.37612 -3183.2961 -2715.6855 856.23748 11950.115
|
||||
520 315.72767 -3183.547 -2713.926 847.70543 11950.115
|
||||
530 313.34173 -3182.2695 -2716.1974 877.30842 11950.115
|
||||
540 309.84312 -3178.9553 -2718.0871 936.69244 11950.115
|
||||
550 308.3251 -3177.8582 -2719.248 963.93032 11950.115
|
||||
560 308.79192 -3176.4834 -2717.1788 989.67643 11950.115
|
||||
570 307.57194 -3175.8464 -2718.3565 1021.0494 11950.115
|
||||
580 301.8035 -3173.1582 -2724.2483 1102.4893 11950.115
|
||||
590 292.43425 -3165.751 -2730.7772 1254.7815 11950.115
|
||||
600 283.62905 -3159.8987 -2738.022 1381.0608 11950.115
|
||||
610 279.90122 -3157.49 -2741.1581 1431.0028 11950.115
|
||||
620 283.4582 -3160.756 -2739.1334 1367.7385 11950.115
|
||||
630 292.58866 -3166.3469 -2731.1435 1241.1194 11950.115
|
||||
640 302.86585 -3173.4778 -2722.9878 1089.7342 11950.115
|
||||
650 309.89252 -3179.4078 -2718.4662 972.6359 11950.115
|
||||
660 312.19165 -3182.7754 -2718.414 916.62037 11950.115
|
||||
670 311.2287 -3181.9102 -2718.9811 933.79804 11950.115
|
||||
680 308.57852 -3180.7312 -2721.7441 969.24936 11950.115
|
||||
690 304.71609 -3176.9196 -2723.6775 1040.2699 11950.115
|
||||
700 300.31995 -3175.5245 -2728.8213 1082.845 11950.115
|
||||
710 296.43537 -3173.0166 -2732.0915 1127.4487 11950.115
|
||||
720 293.86692 -3172.1582 -2735.0535 1135.0215 11950.115
|
||||
730 293.35611 -3170.9335 -2734.5885 1122.9143 11950.115
|
||||
740 295.44861 -3172.9862 -2733.5288 1050.995 11950.115
|
||||
750 299.82732 -3175.3467 -2729.3763 958.31462 11950.115
|
||||
760 305.37987 -3178.216 -2723.9866 854.1946 11950.115
|
||||
770 310.75394 -3182.8127 -2720.5898 737.72668 11950.115
|
||||
780 314.81395 -3183.7905 -2715.5286 679.74198 11950.115
|
||||
790 316.63339 -3185.8028 -2714.8346 638.48871 11950.115
|
||||
800 315.2894 -3186.9345 -2717.9654 641.53256 11950.115
|
||||
810 310.54289 -3183.7383 -2721.8293 728.51241 11950.115
|
||||
820 303.31439 -3178.7897 -2727.6326 864.45674 11950.115
|
||||
830 295.46125 -3175.5387 -2736.0625 997.72969 11950.115
|
||||
840 288.802 -3169.6502 -2740.0791 1160.6622 11950.115
|
||||
850 283.94785 -3165.8605 -2743.5096 1289.55 11950.115
|
||||
860 280.17501 -3163.0381 -2746.299 1392.8854 11950.115
|
||||
870 277.2456 -3159.8429 -2747.4611 1481.3899 11950.115
|
||||
880 275.93123 -3158.3584 -2747.9316 1523.5374 11950.115
|
||||
890 277.0215 -3159.2285 -2747.18 1506.1558 11950.115
|
||||
900 280.96237 -3162.483 -2744.5728 1428.4183 11950.115
|
||||
910 287.37962 -3167.6183 -2740.1628 1303.0268 11950.115
|
||||
920 294.56731 -3171.6765 -2733.5299 1177.748 11950.115
|
||||
930 300.63273 -3174.0842 -2726.9158 1078.7393 11950.115
|
||||
940 304.10943 -3175.9847 -2723.645 1007.7154 11950.115
|
||||
950 304.64845 -3176.6263 -2723.4848 976.37917 11950.115
|
||||
960 303.36343 -3176.4694 -2725.2393 971.40749 11950.115
|
||||
970 302.57138 -3177.5541 -2727.5021 954.01115 11950.115
|
||||
980 304.2593 -3179.2101 -2726.6475 919.74949 11950.115
|
||||
990 307.69959 -3180.9631 -2723.2833 874.9594 11950.115
|
||||
1000 310.3971 -3181.9675 -2720.2753 842.81184 11950.115
|
||||
Loop time of 0.133894 on 4 procs for 1000 steps with 500 atoms
|
||||
|
||||
Performance: 645.285 ns/day, 0.037 hours/ns, 7468.580 timesteps/s
|
||||
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.065271 | 0.071043 | 0.07818 | 1.9 | 53.06
|
||||
Bond | 5.6505e-05 | 6.5565e-05 | 7.7724e-05 | 0.1 | 0.05
|
||||
Neigh | 0.0011396 | 0.0012607 | 0.0013669 | 0.2 | 0.94
|
||||
Comm | 0.033866 | 0.040269 | 0.045386 | 2.6 | 30.08
|
||||
Output | 0.0019252 | 0.0020776 | 0.0023642 | 0.4 | 1.55
|
||||
Modify | 0.012141 | 0.013629 | 0.01486 | 0.9 | 10.18
|
||||
Other | | 0.005549 | | | 4.14
|
||||
|
||||
Nlocal: 125 ave 127 max 123 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Nghost: 871.25 ave 882 max 863 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
Neighs: 3691.75 ave 3808 max 3563 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 14767
|
||||
Ave neighs/atom = 29.534
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 5
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_data lj-out.data
|
||||
Total wall time: 0:00:00
|
||||