Compare commits
219 Commits
patch_13De
...
patch_26Ja
| Author | SHA1 | Date | |
|---|---|---|---|
| f8506fee23 | |||
| 18e5584311 | |||
| 851f80464f | |||
| 5971d4c994 | |||
| 868d95f0a5 | |||
| a5ff35435a | |||
| 8b7bd9d88e | |||
| 672bbbe494 | |||
| 03c9c46533 | |||
| e992bfe510 | |||
| 053ee54a27 | |||
| 1074c6734b | |||
| 60b48c9d66 | |||
| 3d40b51708 | |||
| effbe18c46 | |||
| 6328beb7d7 | |||
| 26c8d3d98f | |||
| 73177d650d | |||
| b5cb74bd33 | |||
| 31976d1dee | |||
| c8260af37c | |||
| caea8973a3 | |||
| aa0ad9b483 | |||
| 5d0e4e1ba9 | |||
| f8d3c4c740 | |||
| e6996121d1 | |||
| fbfb1df5eb | |||
| 9a299875da | |||
| fc94f1bd18 | |||
| 5ce8e2fbae | |||
| f6cd98636b | |||
| 05cafb716f | |||
| 3af4b3c28c | |||
| 7fc0970587 | |||
| 93262b52b4 | |||
| 4eb08a5822 | |||
| 01609f55e2 | |||
| d2fc88a626 | |||
| c52a26382f | |||
| ad4d299975 | |||
| 83408b195f | |||
| cd7bdf9251 | |||
| 8c5b108900 | |||
| c19d2011bb | |||
| 973bef4d45 | |||
| 1b9e50c8cb | |||
| 252e07e083 | |||
| 74a661ae26 | |||
| d8bc590aaf | |||
| c9bea60710 | |||
| 5cd856c97f | |||
| 2f13365cf5 | |||
| 0a2b78acb8 | |||
| 3f46b6d782 | |||
| 5abd6e5122 | |||
| f3a82f454e | |||
| 473a3ebeef | |||
| b220850377 | |||
| fa00e0593f | |||
| 4a09399dc6 | |||
| 5821fe8dd5 | |||
| 8360e70f4e | |||
| b988b29413 | |||
| 5d48bfdcab | |||
| fe8caa8a56 | |||
| afaacc6173 | |||
| 98ceb6feb1 | |||
| 374abea0f0 | |||
| 61cff85435 | |||
| aa0b327f7e | |||
| 04fe071968 | |||
| 78498715b4 | |||
| 96259ea2d2 | |||
| b2f67fea30 | |||
| c59bcf31d1 | |||
| 2540fc281c | |||
| e8e03dd440 | |||
| daf766d4f8 | |||
| 630783c8e8 | |||
| c94030d966 | |||
| 1229f6f60b | |||
| 0b081b0086 | |||
| 8e1cf6643c | |||
| 6950a99162 | |||
| 9f4e5e0661 | |||
| 34cb4027df | |||
| 1d0e600ab7 | |||
| 7162cafdf5 | |||
| ee9e7cfbd5 | |||
| 7839c335da | |||
| 622d926849 | |||
| 92d15d4a89 | |||
| 95706ac846 | |||
| d06688bb91 | |||
| d014e00e53 | |||
| 0db2a07993 | |||
| 33412c76ed | |||
| e5ac49d1de | |||
| 1a81da0f73 | |||
| c31f1e9f22 | |||
| ebd25cc078 | |||
| 9250a55923 | |||
| a9f0b7d523 | |||
| 20f8a8c219 | |||
| 09af780aa8 | |||
| 51e52b477a | |||
| 20a4e365b7 | |||
| 51fa33a407 | |||
| ccd09e3967 | |||
| 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 |
BIN
doc/src/Eqs/bond_oxdna_fene.jpg
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
10
doc/src/Eqs/bond_oxdna_fene.tex
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
\documentclass[12pt]{article}
|
||||||
|
\pagestyle{empty}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
$$
|
||||||
|
E = - \frac{\epsilon}{2} \ln \left[ 1 - \left(\frac{r-r0}{\Delta}\right)^2\right]
|
||||||
|
$$
|
||||||
|
|
||||||
|
\end{document}
|
||||||
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 |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 25 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_reverse_pull_request7.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
doc/src/JPG/tutorial_steve_assignee.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
@ -1,7 +1,7 @@
|
|||||||
<!-- HTML_ONLY -->
|
<!-- HTML_ONLY -->
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<TITLE>LAMMPS Users Manual</TITLE>
|
<TITLE>LAMMPS Users Manual</TITLE>
|
||||||
<META NAME="docnumber" CONTENT="13 Dec 2016 version">
|
<META NAME="docnumber" CONTENT="26 Jan 2017 version">
|
||||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
<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.">
|
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||||
</HEAD>
|
</HEAD>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<H1></H1>
|
<H1></H1>
|
||||||
|
|
||||||
LAMMPS Documentation :c,h3
|
LAMMPS Documentation :c,h3
|
||||||
13 Dec 2016 version :c,h4
|
26 Jan 2017 version :c,h4
|
||||||
|
|
||||||
Version info: :h4
|
Version info: :h4
|
||||||
|
|
||||||
|
|||||||
BIN
doc/src/PDF/USER-CGDNA-overview.pdf
Normal file
@ -581,8 +581,9 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
|||||||
"indent"_fix_indent.html,
|
"indent"_fix_indent.html,
|
||||||
"langevin (k)"_fix_langevin.html,
|
"langevin (k)"_fix_langevin.html,
|
||||||
"lineforce"_fix_lineforce.html,
|
"lineforce"_fix_lineforce.html,
|
||||||
"momentum"_fix_momentum.html,
|
"momentum (k)"_fix_momentum.html,
|
||||||
"move"_fix_move.html,
|
"move"_fix_move.html,
|
||||||
|
"mscg"_fix_mscg.html,
|
||||||
"msst"_fix_msst.html,
|
"msst"_fix_msst.html,
|
||||||
"neb"_fix_neb.html,
|
"neb"_fix_neb.html,
|
||||||
"nph (ko)"_fix_nh.html,
|
"nph (ko)"_fix_nh.html,
|
||||||
@ -701,7 +702,10 @@ package"_Section_start.html#start_3.
|
|||||||
"meso"_fix_meso.html,
|
"meso"_fix_meso.html,
|
||||||
"manifoldforce"_fix_manifoldforce.html,
|
"manifoldforce"_fix_manifoldforce.html,
|
||||||
"meso/stationary"_fix_meso_stationary.html,
|
"meso/stationary"_fix_meso_stationary.html,
|
||||||
|
"nve/dot"_fix_nve_dot.html,
|
||||||
|
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
||||||
|
"nvk"_fix_nvk.html,
|
||||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
|
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
|
||||||
"nph/eff"_fix_nh_eff.html,
|
"nph/eff"_fix_nh_eff.html,
|
||||||
"npt/eff"_fix_nh_eff.html,
|
"npt/eff"_fix_nh_eff.html,
|
||||||
@ -917,7 +921,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
|||||||
"dpd (go)"_pair_dpd.html,
|
"dpd (go)"_pair_dpd.html,
|
||||||
"dpd/tstat (go)"_pair_dpd.html,
|
"dpd/tstat (go)"_pair_dpd.html,
|
||||||
"dsmc"_pair_dsmc.html,
|
"dsmc"_pair_dsmc.html,
|
||||||
"eam (gkot)"_pair_eam.html,
|
"eam (gkiot)"_pair_eam.html,
|
||||||
"eam/alloy (gkot)"_pair_eam.html,
|
"eam/alloy (gkot)"_pair_eam.html,
|
||||||
"eam/fs (gkot)"_pair_eam.html,
|
"eam/fs (gkot)"_pair_eam.html,
|
||||||
"eim (o)"_pair_eim.html,
|
"eim (o)"_pair_eim.html,
|
||||||
@ -1033,6 +1037,11 @@ package"_Section_start.html#start_3.
|
|||||||
"morse/soft"_pair_morse.html,
|
"morse/soft"_pair_morse.html,
|
||||||
"multi/lucy"_pair_multi_lucy.html,
|
"multi/lucy"_pair_multi_lucy.html,
|
||||||
"multi/lucy/rx"_pair_multi_lucy_rx.html,
|
"multi/lucy/rx"_pair_multi_lucy_rx.html,
|
||||||
|
"oxdna/coaxstk"_pair_oxdna.html,
|
||||||
|
"oxdna/excv"_pair_oxdna.html,
|
||||||
|
"oxdna/hbond"_pair_oxdna.html,
|
||||||
|
"oxdna/stk"_pair_oxdna.html,
|
||||||
|
"oxdna/xstk"_pair_oxdna.html,
|
||||||
"quip"_pair_quip.html,
|
"quip"_pair_quip.html,
|
||||||
"reax/c (k)"_pair_reax_c.html,
|
"reax/c (k)"_pair_reax_c.html,
|
||||||
"smd/hertz"_pair_smd_hertz.html,
|
"smd/hertz"_pair_smd_hertz.html,
|
||||||
@ -1081,7 +1090,8 @@ if "LAMMPS is built with the appropriate
|
|||||||
package"_Section_start.html#start_3.
|
package"_Section_start.html#start_3.
|
||||||
|
|
||||||
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
||||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html :tb(c=4,ea=c)
|
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
|
||||||
|
"oxdna/fene"_bond_oxdna_fene.html :tb(c=4,ea=c)
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -55,12 +55,13 @@ LAMMPS errors are detected at setup time; others like a bond
|
|||||||
stretching too far may not occur until the middle of a run.
|
stretching too far may not occur until the middle of a run.
|
||||||
|
|
||||||
LAMMPS tries to flag errors and print informative error messages so
|
LAMMPS tries to flag errors and print informative error messages so
|
||||||
you can fix the problem. Of course, LAMMPS cannot figure out your
|
you can fix the problem. For most errors it will also print the last
|
||||||
physics or numerical mistakes, like choosing too big a timestep,
|
input script command that it was processing. Of course, LAMMPS cannot
|
||||||
specifying erroneous force field coefficients, or putting 2 atoms on
|
figure out your physics or numerical mistakes, like choosing too big a
|
||||||
top of each other! If you run into errors that LAMMPS doesn't catch
|
timestep, specifying erroneous force field coefficients, or putting 2
|
||||||
that you think it should flag, please send an email to the
|
atoms on top of each other! If you run into errors that LAMMPS
|
||||||
"developers"_http://lammps.sandia.gov/authors.html.
|
doesn't catch that you think it should flag, please send an email to
|
||||||
|
the "developers"_http://lammps.sandia.gov/authors.html.
|
||||||
|
|
||||||
If you get an error message about an invalid command in your input
|
If you get an error message about an invalid command in your input
|
||||||
script, you can determine what command is causing the problem by
|
script, you can determine what command is causing the problem by
|
||||||
|
|||||||
@ -84,7 +84,7 @@ Package, Description, Author(s), Doc page, Example, Library
|
|||||||
"PERI"_#PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
|
"PERI"_#PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
|
||||||
"POEMS"_#POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
|
"POEMS"_#POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
|
||||||
"PYTHON"_#PYTHON, embed Python code in an input script, -, "python"_python.html, python, lib/python
|
"PYTHON"_#PYTHON, embed Python code in an input script, -, "python"_python.html, python, lib/python
|
||||||
"REAX"_#REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax
|
"REAX"_#REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax
|
||||||
"REPLICA"_#REPLICA, multi-replica methods, -, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
|
"REPLICA"_#REPLICA, multi-replica methods, -, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
|
||||||
"RIGID"_#RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, -
|
"RIGID"_#RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, -
|
||||||
"SHOCK"_#SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
|
"SHOCK"_#SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
|
||||||
@ -1140,6 +1140,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
|
|||||||
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (1), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
|
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (1), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
|
||||||
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
|
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
|
||||||
"USER-CG-CMM"_#USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, -
|
"USER-CG-CMM"_#USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, -
|
||||||
|
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, Oliver Henrich (U Edinburgh), src/USER-CGDNA/README, USER/cgdna, -, -
|
||||||
"USER-COLVARS"_#USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (2), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars
|
"USER-COLVARS"_#USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (2), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars
|
||||||
"USER-DIFFRACTION"_#USER-DIFFRACTION, virutal x-ray and electron diffraction, Shawn Coleman (ARL),"compute xrd"_compute_xrd.html, USER/diffraction, -, -
|
"USER-DIFFRACTION"_#USER-DIFFRACTION, virutal x-ray and electron diffraction, Shawn Coleman (ARL),"compute xrd"_compute_xrd.html, USER/diffraction, -, -
|
||||||
"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics (DPD), Larentzos & Mattox & Brennan (5), src/USER-DPD/README, USER/dpd, -, -
|
"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics (DPD), Larentzos & Mattox & Brennan (5), src/USER-DPD/README, USER/dpd, -, -
|
||||||
@ -1153,7 +1154,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
|
|||||||
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, -
|
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, -
|
||||||
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surface, Stefan Paquay (Eindhoven U of Technology), "fix manifoldforce"_fix_manifoldforce.html, USER/manifold, "manifold"_manifold, -
|
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surface, Stefan Paquay (Eindhoven U of Technology), "fix manifoldforce"_fix_manifoldforce.html, USER/manifold, "manifold"_manifold, -
|
||||||
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
|
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
|
||||||
"USER-NC-DUMP"_#USER-NC-DUMP, dump output via NetCDF, Lars Pastewka (Karlsruhe Institute of Technology, KIT), "dump nc, dump nc/mpiio"_dump_nc.html, -, -, lib/netcdf
|
"USER-NC-DUMP"_#USER-NC-DUMP, dump output via NetCDF, Lars Pastewka (Karlsruhe Institute of Technology, KIT), "dump nc / dump nc/mpiio"_dump_nc.html, -, -, lib/netcdf
|
||||||
"USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section 5.3.4"_accelerate_omp.html, -, -, -
|
"USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section 5.3.4"_accelerate_omp.html, -, -, -
|
||||||
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, -
|
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, -
|
||||||
"USER-QMMM"_#USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm
|
"USER-QMMM"_#USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm
|
||||||
@ -1284,6 +1285,31 @@ him directly if you have questions.
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
USER-CGDNA package :link(USER-CGDNA),h5
|
||||||
|
|
||||||
|
Contents: The CGDNA package implements coarse-grained force fields for
|
||||||
|
single- and double-stranded DNA. This is at the moment mainly the
|
||||||
|
oxDNA model, developed by Doye, Louis and Ouldridge at the University
|
||||||
|
of Oxford. The package also contains Langevin-type rigid-body
|
||||||
|
integrators with improved stability.
|
||||||
|
|
||||||
|
See these doc pages to get started:
|
||||||
|
|
||||||
|
"bond_style oxdna_fene"_bond_oxdna_fene.html
|
||||||
|
"pair_style oxdna_excv"_pair_oxdna_excv.html
|
||||||
|
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
|
||||||
|
|
||||||
|
Supporting info: /src/USER-CGDNA/README, "bond_style
|
||||||
|
oxdna_fene"_bond_oxdna_fene.html, "pair_style
|
||||||
|
oxdna_excv"_pair_oxdna_excv.html, "fix
|
||||||
|
nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||||
|
|
||||||
|
Author: Oliver Henrich at the University of Edinburgh, UK (o.henrich
|
||||||
|
at epcc.ed.ac.uk or ohenrich at ph.ed.ac.uk). Contact him directly if
|
||||||
|
you have any questions.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
USER-COLVARS package :link(USER-COLVARS),h5
|
USER-COLVARS package :link(USER-COLVARS),h5
|
||||||
|
|
||||||
Contents: COLVARS stands for collective variables which can be used to
|
Contents: COLVARS stands for collective variables which can be used to
|
||||||
@ -1610,11 +1636,12 @@ and a "dump nc/mpiio"_dump_nc.html command to output LAMMPS snapshots
|
|||||||
in this format. See src/USER-NC-DUMP/README for more details.
|
in this format. See src/USER-NC-DUMP/README for more details.
|
||||||
|
|
||||||
NetCDF files can be directly visualized with the following tools:
|
NetCDF files can be directly visualized with the following tools:
|
||||||
|
|
||||||
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention
|
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention
|
||||||
and all of the above extensions. :ulb,l
|
and all of the above extensions. :ulb,l
|
||||||
VMD (http://www.ks.uiuc.edu/Research/vmd/) :l
|
VMD (http://www.ks.uiuc.edu/Research/vmd/) :l
|
||||||
AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye contains
|
AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye contains
|
||||||
a NetCDF reader that is not present in the standard distribution of AtomEye :l,ule
|
a NetCDF reader that is not present in the standard distribution of AtomEye :l,ule
|
||||||
|
|
||||||
The person who created these files is Lars Pastewka at
|
The person who created these files is Lars Pastewka at
|
||||||
Karlsruhe Institute of Technology (lars.pastewka at kit.edu).
|
Karlsruhe Institute of Technology (lars.pastewka at kit.edu).
|
||||||
|
|||||||
@ -1727,7 +1727,7 @@ thermodynamic state and a total run time for the simulation. It then
|
|||||||
appends statistics about the CPU time and storage requirements for the
|
appends statistics about the CPU time and storage requirements for the
|
||||||
simulation. An example set of statistics is shown here:
|
simulation. An example set of statistics is shown here:
|
||||||
|
|
||||||
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms
|
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre
|
||||||
|
|
||||||
Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s
|
Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s
|
||||||
97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre
|
97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre
|
||||||
@ -1757,14 +1757,14 @@ Ave special neighs/atom = 2.34032
|
|||||||
Neighbor list builds = 26
|
Neighbor list builds = 26
|
||||||
Dangerous builds = 0 :pre
|
Dangerous builds = 0 :pre
|
||||||
|
|
||||||
The first section provides a global loop timing summary. The loop time
|
The first section provides a global loop timing summary. The {loop time}
|
||||||
is the total wall time for the section. The {Performance} line is
|
is the total wall time for the section. The {Performance} line is
|
||||||
provided for convenience to help predicting the number of loop
|
provided for convenience to help predicting the number of loop
|
||||||
continuations required and for comparing performance with other
|
continuations required and for comparing performance with other,
|
||||||
similar MD codes. The CPU use line provides the CPU utilzation per
|
similar MD codes. The {CPU use} line provides the CPU utilzation per
|
||||||
MPI task; it should be close to 100% times the number of OpenMP
|
MPI task; it should be close to 100% times the number of OpenMP
|
||||||
threads (or 1). Lower numbers correspond to delays due to file I/O or
|
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
|
||||||
insufficient thread utilization.
|
to file I/O or insufficient thread utilization.
|
||||||
|
|
||||||
The MPI task section gives the breakdown of the CPU run time (in
|
The MPI task section gives the breakdown of the CPU run time (in
|
||||||
seconds) into major categories:
|
seconds) into major categories:
|
||||||
@ -1791,7 +1791,7 @@ is present that also prints the CPU utilization in percent. In
|
|||||||
addition, when using {timer full} and the "package omp"_package.html
|
addition, when using {timer full} and the "package omp"_package.html
|
||||||
command are active, a similar timing summary of time spent in threaded
|
command are active, a similar timing summary of time spent in threaded
|
||||||
regions to monitor thread utilization and load balance is provided. A
|
regions to monitor thread utilization and load balance is provided. A
|
||||||
new entry is the {Reduce} section, which lists the time spend in
|
new entry is the {Reduce} section, which lists the time spent in
|
||||||
reducing the per-thread data elements to the storage for non-threaded
|
reducing the per-thread data elements to the storage for non-threaded
|
||||||
computation. These thread timings are taking from the first MPI rank
|
computation. These thread timings are taking from the first MPI rank
|
||||||
only and and thus, as the breakdown for MPI tasks can change from MPI
|
only and and thus, as the breakdown for MPI tasks can change from MPI
|
||||||
|
|||||||
@ -29,7 +29,7 @@ Bond Styles: fene, harmonic :l
|
|||||||
Dihedral Styles: charmm, harmonic, opls :l
|
Dihedral Styles: charmm, harmonic, opls :l
|
||||||
Fixes: nve, npt, nvt, nvt/sllod :l
|
Fixes: nve, npt, nvt, nvt/sllod :l
|
||||||
Improper Styles: cvff, harmonic :l
|
Improper Styles: cvff, harmonic :l
|
||||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne,
|
Pair Styles: buck/coul/cut, buck/coul/long, buck, eam, gayberne,
|
||||||
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
||||||
K-Space Styles: pppm :l
|
K-Space Styles: pppm :l
|
||||||
:ule
|
:ule
|
||||||
|
|||||||
@ -110,14 +110,14 @@ mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :p
|
|||||||
[Required hardware/software:]
|
[Required hardware/software:]
|
||||||
|
|
||||||
Kokkos support within LAMMPS must be built with a C++11 compatible
|
Kokkos support within LAMMPS must be built with a C++11 compatible
|
||||||
compiler. If using gcc, version 4.8.1 or later is required.
|
compiler. If using gcc, version 4.7.2 or later is required.
|
||||||
|
|
||||||
To build with Kokkos support for CPUs, your compiler must support the
|
To build with Kokkos support for CPUs, your compiler must support the
|
||||||
OpenMP interface. You should have one or more multi-core CPUs so that
|
OpenMP interface. You should have one or more multi-core CPUs so that
|
||||||
multiple threads can be launched by each MPI task running on a CPU.
|
multiple threads can be launched by each MPI task running on a CPU.
|
||||||
|
|
||||||
To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
|
To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
|
||||||
version 6.5 or later must be installed on your system. See the
|
version 7.5 or later must be installed on your system. See the
|
||||||
discussion for the "GPU"_accelerate_gpu.html package for details of
|
discussion for the "GPU"_accelerate_gpu.html package for details of
|
||||||
how to check and do this.
|
how to check and do this.
|
||||||
|
|
||||||
|
|||||||
70
doc/src/bond_oxdna_fene.txt
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
"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
|
||||||
|
|
||||||
|
bond_style oxdna_fene command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
bond_style oxdna_fene :pre
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
bond_style oxdna_fene
|
||||||
|
bond_coeff * 2.0 0.25 0.7525 :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
The {oxdna_fene} bond style uses the potential
|
||||||
|
|
||||||
|
:c,image(Eqs/bond_oxdna_fene.jpg)
|
||||||
|
|
||||||
|
to define a modified finite extensible nonlinear elastic (FENE) potential
|
||||||
|
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
|
||||||
|
in the oxDNA force field for coarse-grained modelling of DNA.
|
||||||
|
|
||||||
|
The following coefficients must be defined for the bond type via the
|
||||||
|
"bond_coeff"_bond_coeff.html command as given in the above example, or in
|
||||||
|
the data file or restart files read by the "read_data"_read_data.html
|
||||||
|
or "read_restart"_read_restart.html commands:
|
||||||
|
|
||||||
|
epsilon (energy)
|
||||||
|
Delta (distance)
|
||||||
|
r0 (distance) :ul
|
||||||
|
|
||||||
|
NOTE: This bond style has to be used together with the corresponding oxDNA pair styles
|
||||||
|
for excluded volume interaction {oxdna_excv}, stacking {oxdna_stk}, cross-stacking {oxdna_xstk}
|
||||||
|
and coaxial stacking interaction {oxdna_coaxstk} as well as hydrogen-bonding interaction {oxdna_hbond} (see also documentation of
|
||||||
|
"pair_style oxdna_excv"_pair_oxdna_excv.html). The coefficients
|
||||||
|
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||||
|
|
||||||
|
Example input and data files can be found in /examples/USER/cgdna/examples/duplex1/ and /duplex2/.
|
||||||
|
A simple python setup tool which creates single straight or helical DNA strands,
|
||||||
|
DNA duplexes or arrays of DNA duplexes can be found in /examples/USER/cgdna/util/.
|
||||||
|
A technical report with more information on the model, the structure of the input file,
|
||||||
|
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||||
|
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
This bond style can only be used if LAMMPS was built with the
|
||||||
|
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
|
||||||
|
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||||
|
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"pair_style oxdna_excv"_pair_oxdna_excv.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
|
||||||
|
|
||||||
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(oxdna_fene)
|
||||||
|
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
|
||||||
@ -15,6 +15,7 @@ Bond Styles :h1
|
|||||||
bond_morse
|
bond_morse
|
||||||
bond_none
|
bond_none
|
||||||
bond_nonlinear
|
bond_nonlinear
|
||||||
|
bond_oxdna_fene
|
||||||
bond_quartic
|
bond_quartic
|
||||||
bond_table
|
bond_table
|
||||||
bond_zero
|
bond_zero
|
||||||
|
|||||||
@ -91,6 +91,7 @@ Commands :h1
|
|||||||
suffix
|
suffix
|
||||||
tad
|
tad
|
||||||
temper
|
temper
|
||||||
|
temper_grem
|
||||||
thermo
|
thermo
|
||||||
thermo_modify
|
thermo_modify
|
||||||
thermo_style
|
thermo_style
|
||||||
|
|||||||
@ -10,34 +10,43 @@ compute coord/atom command :h3
|
|||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
compute ID group-ID coord/atom cutoff type1 type2 ... :pre
|
compute ID group-ID coord/atom cstyle args ... :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "compute"_compute.html command
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
coord/atom = style name of this compute command
|
coord/atom = style name of this compute command :l
|
||||||
cutoff = distance within which to count coordination neighbors (distance units)
|
cstyle = {cutoff} or {orientorder} :l
|
||||||
typeN = atom type for Nth coordination count (see asterisk form below) :ul
|
{cutoff} args = cutoff typeN
|
||||||
|
cutoff = distance within which to count coordination neighbors (distance units)
|
||||||
|
typeN = atom type for Nth coordination count (see asterisk form below)
|
||||||
|
{orientorder} args = orientorderID threshold
|
||||||
|
orientorderID = ID of an orientorder/atom compute
|
||||||
|
threshold = minimum value of the product of two "connected" atoms :pre
|
||||||
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all coord/atom 2.0
|
compute 1 all coord/atom cutoff 2.0
|
||||||
compute 1 all coord/atom 6.0 1 2
|
compute 1 all coord/atom cutoff 6.0 1 2
|
||||||
compute 1 all coord/atom 6.0 2*4 5*8 * :pre
|
compute 1 all coord/atom cutoff 6.0 2*4 5*8 *
|
||||||
|
compute 1 all coord/atom orientorder 2 0.5 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates one or more coordination numbers
|
This compute performs calculations between neighboring atoms to
|
||||||
for each atom in a group.
|
determine a coordination value. The specific calculation and the
|
||||||
|
meaning of the resulting value depend on the {cstyle} keyword used.
|
||||||
|
|
||||||
A coordination number is defined as the number of neighbor atoms with
|
The {cutoff} cstyle calculates one or more traditional coordination
|
||||||
specified atom type(s) that are within the specified cutoff distance
|
numbers for each atom. A coordination number is defined as the number
|
||||||
from the central atom. Atoms not in the group are included in a
|
of neighbor atoms with specified atom type(s) that are within the
|
||||||
coordination number of atoms in the group.
|
specified cutoff distance from the central atom. Atoms not in the
|
||||||
|
specified group are included in the coordination number tally.
|
||||||
|
|
||||||
The {typeN} keywords allow you to specify which atom types contribute
|
The {typeN} keywords allow specification of which atom types
|
||||||
to each coordination number. One coordination number is computed for
|
contribute to each coordination number. One coordination number is
|
||||||
each of the {typeN} keywords listed. If no {typeN} keywords are
|
computed for each of the {typeN} keywords listed. If no {typeN}
|
||||||
listed, a single coordination number is calculated, which includes
|
keywords are listed, a single coordination number is calculated, which
|
||||||
atoms of all types (same as the "*" format, see below).
|
includes atoms of all types (same as the "*" format, see below).
|
||||||
|
|
||||||
The {typeN} keywords can be specified in one of two ways. An explicit
|
The {typeN} keywords can be specified in one of two ways. An explicit
|
||||||
numeric value can be used, as in the 2nd example above. Or a
|
numeric value can be used, as in the 2nd example above. Or a
|
||||||
@ -49,8 +58,27 @@ from 1 to N. A leading asterisk means all types from 1 to n
|
|||||||
(inclusive). A middle asterisk means all types from m to n
|
(inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive).
|
(inclusive).
|
||||||
|
|
||||||
The value of all coordination numbers will be 0.0 for atoms not in the
|
The {orientorder} cstyle calculates the number of "connected" neighbor
|
||||||
specified compute group.
|
atoms J around each central atom I. For this {cstyle}, connected is
|
||||||
|
defined by the orientational order parameter calculated by the
|
||||||
|
"compute orientorder/atom"_compute_orientorder_atom.html command.
|
||||||
|
This {cstyle} thus allows one to apply the ten Wolde's criterion to
|
||||||
|
identify crystal-like atoms in a system, as discussed in "ten
|
||||||
|
Wolde"_#tenWolde.
|
||||||
|
|
||||||
|
The ID of the previously specified "compute
|
||||||
|
orientorder/atom"_compute_orientorder/atom command is specified as
|
||||||
|
{orientorderID}. The compute must invoke its {components} option to
|
||||||
|
calculate components of the {Ybar_lm} vector for each atoms, as
|
||||||
|
described in its documenation. Note that orientorder/atom compute
|
||||||
|
defines its own criteria for identifying neighboring atoms. If the
|
||||||
|
scalar product ({Ybar_lm(i)},{Ybar_lm(j)}), calculated by the
|
||||||
|
orientorder/atom compute is larger than the specified {threshold},
|
||||||
|
then I and J are connected, and the coordination value of I is
|
||||||
|
incremented by one.
|
||||||
|
|
||||||
|
For all {cstyle} settings, all coordination values will be 0.0 for
|
||||||
|
atoms not in the specified compute group.
|
||||||
|
|
||||||
The neighbor list needed to compute this quantity is constructed each
|
The neighbor list needed to compute this quantity is constructed each
|
||||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||||
@ -72,11 +100,16 @@ the neighbor list.
|
|||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
If single {type1} keyword is specified (or if none are specified),
|
For {cstyle} cutoff, this compute can calculate a per-atom vector or
|
||||||
this compute calculates a per-atom vector. If multiple {typeN}
|
array. If single {type1} keyword is specified (or if none are
|
||||||
keywords are specified, this compute calculates a per-atom array, with
|
specified), this compute calculates a per-atom vector. If multiple
|
||||||
N columns. These values can be accessed by any command that uses
|
{typeN} keywords are specified, this compute calculates a per-atom
|
||||||
per-atom values from a compute as input. See "Section
|
array, with N columns.
|
||||||
|
|
||||||
|
For {cstyle} orientorder, this compute calculates a per-atom vector.
|
||||||
|
|
||||||
|
These values can be accessed by any command that uses per-atom values
|
||||||
|
from a compute as input. See "Section
|
||||||
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
@ -88,5 +121,12 @@ explained above.
|
|||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"compute cluster/atom"_compute_cluster_atom.html
|
"compute cluster/atom"_compute_cluster_atom.html
|
||||||
|
"compute orientorder/atom"_compute_orientorder_atom.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(tenWolde)
|
||||||
|
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||||
|
J. Chem. Phys. 104, 9932 (1996).
|
||||||
|
|||||||
@ -15,17 +15,19 @@ compute ID group-ID orientorder/atom keyword values ... :pre
|
|||||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
orientorder/atom = style name of this compute command :l
|
orientorder/atom = style name of this compute command :l
|
||||||
one or more keyword/value pairs may be appended :l
|
one or more keyword/value pairs may be appended :l
|
||||||
keyword = {cutoff} or {nnn} or {degrees}
|
keyword = {cutoff} or {nnn} or {degrees} or {components}
|
||||||
{cutoff} value = distance cutoff
|
{cutoff} value = distance cutoff
|
||||||
{nnn} value = number of nearest neighbors
|
{nnn} value = number of nearest neighbors
|
||||||
{degrees} values = nlvalues, l1, l2,... :pre
|
{degrees} values = nlvalues, l1, l2,...
|
||||||
|
{components} value = ldegree :pre
|
||||||
|
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all orientorder/atom
|
compute 1 all orientorder/atom
|
||||||
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 :pre
|
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5
|
||||||
|
compute 1 all orientorder/atom degrees 4 6 components 6 nnn NULL cutoff 3.0 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
@ -62,14 +64,21 @@ specified distance cutoff are used.
|
|||||||
The optional keyword {degrees} defines the list of order parameters to
|
The optional keyword {degrees} defines the list of order parameters to
|
||||||
be computed. The first argument {nlvalues} is the number of order
|
be computed. The first argument {nlvalues} is the number of order
|
||||||
parameters. This is followed by that number of integers giving the
|
parameters. This is followed by that number of integers giving the
|
||||||
degree of each order parameter. Because {Q}2 and all odd-degree
|
degree of each order parameter. Because {Q}2 and all odd-degree order
|
||||||
order parameters are zero for atoms in cubic crystals
|
parameters are zero for atoms in cubic crystals (see
|
||||||
(see "Steinhardt"_#Steinhardt), the default order parameters
|
"Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
|
||||||
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the
|
{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn}=12, {Q}4
|
||||||
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094....
|
= sqrt(7/3)/8 = 0.19094.... The numerical values of all order
|
||||||
The numerical values of all order parameters up to {Q}12
|
parameters up to {Q}12 for a range of commonly encountered
|
||||||
for a range of commonly encountered high-symmetry structures are given
|
high-symmetry structures are given in Table I of "Mickel et
|
||||||
in Table I of "Mickel et al."_#Mickel.
|
al."_#Mickel.
|
||||||
|
|
||||||
|
The optional keyword {components} will output the components of the
|
||||||
|
normalized complex vector {Ybar_lm} of degree {ldegree}, which must be
|
||||||
|
explicitly included in the keyword {degrees}. This option can be used
|
||||||
|
in conjunction with "compute coord_atom"_compute_coord_atom.html to
|
||||||
|
calculate the ten Wolde's criterion to identify crystal-like
|
||||||
|
particles, as discussed in "ten Wolde"_#tenWolde.
|
||||||
|
|
||||||
The value of {Ql} is set to zero for atoms not in the
|
The value of {Ql} is set to zero for atoms not in the
|
||||||
specified compute group, as well as for atoms that have less than
|
specified compute group, as well as for atoms that have less than
|
||||||
@ -95,8 +104,16 @@ the neighbor list.
|
|||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a per-atom array with {nlvalues} columns, giving the
|
This compute calculates a per-atom array with {nlvalues} columns,
|
||||||
{Ql} values for each atom, which are real numbers on the range 0 <= {Ql} <= 1.
|
giving the {Ql} values for each atom, which are real numbers on the
|
||||||
|
range 0 <= {Ql} <= 1.
|
||||||
|
|
||||||
|
If the keyword {components} is set, then the real and imaginary parts
|
||||||
|
of each component of (normalized) {Ybar_lm} will be added to the
|
||||||
|
output array in the following order: Re({Ybar_-m}) Im({Ybar_-m})
|
||||||
|
Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}). This
|
||||||
|
way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1)
|
||||||
|
columns.
|
||||||
|
|
||||||
These values can be accessed by any command that uses
|
These values can be accessed by any command that uses
|
||||||
per-atom values from a compute as input. See "Section
|
per-atom values from a compute as input. See "Section
|
||||||
@ -107,15 +124,25 @@ options.
|
|||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html, "compute hexorder/atom"_compute_hexorder_atom.html
|
"compute coord/atom"_compute_coord_atom.html, "compute
|
||||||
|
centro/atom"_compute_centro_atom.html, "compute
|
||||||
|
hexorder/atom"_compute_hexorder_atom.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, {degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
|
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12,
|
||||||
|
{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Steinhardt)
|
:link(Steinhardt)
|
||||||
[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983).
|
[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti,
|
||||||
|
Phys. Rev. B 28, 784 (1983).
|
||||||
|
|
||||||
:link(Mickel)
|
:link(Mickel)
|
||||||
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, J. Chem. Phys. 138, 044501 (2013).
|
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke,
|
||||||
|
J. Chem. Phys. 138, 044501 (2013).
|
||||||
|
|
||||||
|
:link(tenWolde)
|
||||||
|
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||||
|
J. Chem. Phys. 104, 9932 (1996).
|
||||||
|
|||||||
@ -35,6 +35,7 @@ Computes :h1
|
|||||||
compute_erotate_sphere_atom
|
compute_erotate_sphere_atom
|
||||||
compute_event_displace
|
compute_event_displace
|
||||||
compute_fep
|
compute_fep
|
||||||
|
compute_global_atom
|
||||||
compute_group_group
|
compute_group_group
|
||||||
compute_gyration
|
compute_gyration
|
||||||
compute_gyration_chunk
|
compute_gyration_chunk
|
||||||
|
|||||||
@ -31,21 +31,19 @@ fix abf all colvars colvars.inp tstat 1 :pre
|
|||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
This fix interfaces LAMMPS to a "collective variables" or "colvars"
|
This fix interfaces LAMMPS to the collective variables "Colvars"
|
||||||
module library which allows to calculate potentials of mean force
|
library, which allows to calculate potentials of mean force
|
||||||
(PMFs) for any set of colvars, using different sampling methods:
|
(PMFs) for any set of colvars, using different sampling methods:
|
||||||
currently implemented are the Adaptive Biasing Force (ABF) method,
|
currently implemented are the Adaptive Biasing Force (ABF) method,
|
||||||
metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling
|
metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling
|
||||||
(US) via a flexible harmonic restraint bias. The colvars library is
|
(US) via a flexible harmonic restraint bias.
|
||||||
hosted at "http://colvars.github.io/"_http://colvars.github.io/
|
|
||||||
|
|
||||||
This documentation describes only the fix colvars command itself and
|
This documentation describes only the fix colvars command itself and
|
||||||
LAMMPS specific parts of the code. The full documentation of the
|
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
|
colvars library is available as "this supplementary PDF document"_PDF/colvars-refman-lammps.pdf
|
||||||
|
|
||||||
A detailed discussion of the implementation of the portable collective
|
The Colvars library is developed at "https://github.com/colvars/colvars"_https://github.com/colvars/colvars
|
||||||
variable library is in "(Fiorin)"_#Fiorin. Additional information can
|
A detailed discussion of its implementation is in "(Fiorin)"_#Fiorin.
|
||||||
be found in "(Henin)"_#Henin.
|
|
||||||
|
|
||||||
There are some example scripts for using this package with LAMMPS in the
|
There are some example scripts for using this package with LAMMPS in the
|
||||||
examples/USER/colvars directory.
|
examples/USER/colvars directory.
|
||||||
@ -129,8 +127,3 @@ and tstat = NULL.
|
|||||||
|
|
||||||
:link(Fiorin)
|
:link(Fiorin)
|
||||||
[(Fiorin)] Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594
|
[(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:]
|
[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
|
ID, group-ID are documented in "fix"_fix.html command
|
||||||
eos/table/rx = style name of this fix 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
|
file1 = filename containing the tabulated equation of state
|
||||||
N = use N values in {linear} tables
|
N = use N values in {linear} tables
|
||||||
keyword = name of table keyword correponding to table file
|
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:]
|
[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:]
|
[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,
|
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
|
{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
|
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}
|
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
|
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
|
The second filename specifies a file containing heat of formation
|
||||||
{DeltaH_f,j} for each species.
|
{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
|
:line
|
||||||
|
|
||||||
The format of a tabulated file is as follows (without the
|
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
|
used as the species name must correspond with the tags used to define
|
||||||
the reactions with the "fix rx"_fix_rx.html command.
|
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
|
:line
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|||||||
@ -151,7 +151,7 @@ The option default for the {energy} keyword is energy = no.
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Strong)
|
:link(Strong)
|
||||||
[(Strong)] Strong and Eaves, J. Phys. Chem. Lett. 7, 1907 (2016).
|
[(Strong)] Strong and Eaves, J. Phys. Chem. B 121, 189 (2017).
|
||||||
|
|
||||||
:link(Evans)
|
:link(Evans)
|
||||||
[(Evans)] Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986).
|
[(Evans)] Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986).
|
||||||
|
|||||||
@ -29,7 +29,7 @@ fix fxgREM all grem 502 -0.15 -80000 fxnvt :pre
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
This fix implements the molecular dynamics version of the generalized
|
This fix implements the molecular dynamics version of the generalized
|
||||||
replica exchange method (gREM) originally developed by "(Kim)"_#Kim,
|
replica exchange method (gREM) originally developed by "(Kim)"_#Kim2010,
|
||||||
which uses non-Boltzmann ensembles to sample over first order phase
|
which uses non-Boltzmann ensembles to sample over first order phase
|
||||||
transitions. The is done by defining replicas with an enthalpy
|
transitions. The is done by defining replicas with an enthalpy
|
||||||
dependent effective temperature
|
dependent effective temperature
|
||||||
@ -103,7 +103,7 @@ npt"_fix_nh.html, "thermo_modify"_thermo_modify.html
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Kim)
|
:link(Kim2010)
|
||||||
[(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010).
|
[(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010).
|
||||||
|
|
||||||
:link(Malolepsza)
|
:link(Malolepsza)
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
fix momentum command :h3
|
fix momentum command :h3
|
||||||
|
fix momentum/kk command :h3
|
||||||
|
|
||||||
[Syntax:]
|
[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
|
Note that the "velocity"_velocity.html command can be used to create
|
||||||
initial velocities with zero aggregate linear and/or angular momentum.
|
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:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
No information about this fix is written to "binary restart
|
No information about this fix is written to "binary restart
|
||||||
|
|||||||
130
doc/src/fix_mscg.txt
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
"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 mscg command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
fix ID group-ID mscg N keyword args ... :pre
|
||||||
|
|
||||||
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
|
mscg = style name of this fix command :l
|
||||||
|
N = envoke this fix every this many timesteps :l
|
||||||
|
zero or more keyword/value pairs may be appended :l
|
||||||
|
keyword = {range} or {name} or {max} :l
|
||||||
|
{range} arg = {on} or {off}
|
||||||
|
{on} = range finding functionality is performed
|
||||||
|
{off} = force matching functionality is performed
|
||||||
|
{name} args = name1 ... nameN
|
||||||
|
name1,...,nameN = string names for each atom type (1-Ntype)
|
||||||
|
{max} args = maxb maxa maxd
|
||||||
|
maxb,maxa,maxd = maximum bonds/angles/dihedrals per atom :pre
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
fix 1 all mscg 1
|
||||||
|
fix 1 all mscg 1 range name A B
|
||||||
|
fix 1 all mscg 1 max 4 8 20 :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
This fix applies the Multi-Scale Coarse-Graining (MSCG) method to
|
||||||
|
snapshots from a dump file to generate potentials for coarse-grained
|
||||||
|
simulations from all-atom simulations, using a force-matching
|
||||||
|
technique ("Izvekov"_#Izvekov, "Noid"_#Noid).
|
||||||
|
|
||||||
|
It makes use of the MS-CG library, written and maintained by Greg
|
||||||
|
Voth's group at the University of Chicago, which is freely available
|
||||||
|
on their "MS-CG GitHub
|
||||||
|
site"_https://github.com/uchicago-voth/MSCG-release. See instructions
|
||||||
|
on obtaining and installing the MS-CG library in the src/MSCG/README
|
||||||
|
file, which must be done before you build LAMMPS with this fix command
|
||||||
|
and use the command in a LAMMPS input script.
|
||||||
|
|
||||||
|
An example script using this fix is provided the examples/mscg
|
||||||
|
directory.
|
||||||
|
|
||||||
|
The general workflow for using LAMMPS in conjunction with the MS-CG
|
||||||
|
library to create a coarse-grained model and run coarse-grained
|
||||||
|
simulations is as follows:
|
||||||
|
|
||||||
|
Perform all-atom simulations on the system to be coarse grained.
|
||||||
|
Generate a trajectory mapped to the coarse-grained model.
|
||||||
|
Create input files for the MS-CG library.
|
||||||
|
Run the range finder functionality of the MS-CG library.
|
||||||
|
Run the force matching functionality of the MS-CG library.
|
||||||
|
Check the results of the force matching.
|
||||||
|
Run coarse-grained simulations using the new coarse-grained potentials. :ol
|
||||||
|
|
||||||
|
This fix can perform the range finding and force matching steps 4 and
|
||||||
|
5 of the above workflow when used in conjunction with the
|
||||||
|
"rerun"_rerun.html command. It does not perform steps 1-3 and 6-7.
|
||||||
|
|
||||||
|
Step 2 can be performed using a Python script (what is the name?)
|
||||||
|
provided with the MS-CG library which defines the coarse-grained model
|
||||||
|
and converts a standard LAMMPS dump file for an all-atom simulation
|
||||||
|
(step 1) into a LAMMPS dump file which has the positions of and forces
|
||||||
|
on the coarse-grained beads.
|
||||||
|
|
||||||
|
In step 3, an input file named "control.in" is needed by the MS-CG
|
||||||
|
library which sets parameters for the range finding and force matching
|
||||||
|
functionalities. See the examples/mscg/control.in file as an example.
|
||||||
|
And see the documentation provided with the MS-CG library for more
|
||||||
|
info on this file.
|
||||||
|
|
||||||
|
When this fix is used to perform steps 4 and 5, the MS-CG library also
|
||||||
|
produces additional output files. The range finder functionality
|
||||||
|
(step 4) outputs files defining pair and bonded interaction ranges.
|
||||||
|
The force matching functionality (step 5) outputs tabulated force
|
||||||
|
files for every interaction in the system. Other diagnostic files can
|
||||||
|
also be output depending on the paramters in the MS-CG library input
|
||||||
|
script. Again, see the documentation provided with the MS-CG library
|
||||||
|
for more info.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
The {range} keyword specifies which MS-CG library functionality should
|
||||||
|
be invoked. If {on}, the step 4 range finder functionality is invoked.
|
||||||
|
{off}, the step 5 force matching functionality is invoked.
|
||||||
|
|
||||||
|
If the {name} keyword is used, string names are defined to associate
|
||||||
|
with the integer atom types in LAMMPS. {Ntype} names must be
|
||||||
|
provided, one for each atom type (1-Ntype).
|
||||||
|
|
||||||
|
The {max} keyword specifies the maximum number of bonds, angles, and
|
||||||
|
dihedrals a bead can have in the coarse-grained model.
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
This fix is part of the MSCG package. It is only enabled if LAMMPS was
|
||||||
|
built with that package. See the "Making
|
||||||
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||||
|
|
||||||
|
The MS-CG library uses C++11, which may not be supported by older
|
||||||
|
compilers. The MS-CG library also has some additional numeric library
|
||||||
|
dependencies, which are describd in its documentation.
|
||||||
|
|
||||||
|
Currently, the MS-CG library is not setup to run in parallel with MPI,
|
||||||
|
so this fix can only be used in a serial LAMMPS build and run
|
||||||
|
on a single processor.
|
||||||
|
|
||||||
|
[Related commands:] none
|
||||||
|
|
||||||
|
[Default:]
|
||||||
|
|
||||||
|
The default keyword settings are range off, max 4 12 36.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(Izvekov)
|
||||||
|
[(Izvekov)] Izvekov, Voth, J Chem Phys 123, 134105 (2005).
|
||||||
|
|
||||||
|
:link(Noid)
|
||||||
|
[(Noid)] Noid, Chu, Ayton, Krishna, Izvekov, Voth, Das, Andersen, J
|
||||||
|
Chem Phys 128, 134105 (2008).
|
||||||
61
doc/src/fix_nve_dot.txt
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
"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 nve/dot command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
fix ID group-ID nve/dot :pre
|
||||||
|
|
||||||
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
|
nve/dot = style name of this fix command :l
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
fix 1 all nve/dot :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
Apply a rigid-body integrator as described in "(Davidchack)"_#Davidchack
|
||||||
|
to a group of atoms, but without Langevin dynamics.
|
||||||
|
This command performs Molecular dynamics (MD)
|
||||||
|
via a velocity-Verlet algorithm and an evolution operator that rotates
|
||||||
|
the quaternion degrees of freedom, similar to the scheme outlined in "(Miller)"_#Miller.
|
||||||
|
|
||||||
|
This command is the equivalent of the "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||||
|
without damping and noise and can be used to determine the stability range
|
||||||
|
in a NVE ensemble prior to using the Langevin-type DOTC-integrator
|
||||||
|
(see also "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html).
|
||||||
|
The command is equivalent to the "fix nve"_fix_nve.html.
|
||||||
|
The particles are always considered to have a finite size.
|
||||||
|
|
||||||
|
An example input file can be found in /examples/USER/cgdna/examples/duplex1/.
|
||||||
|
A technical report with more information on this integrator can be found
|
||||||
|
"here"_PDF/USER-CGDNA-overview.pdf.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
These pair styles can only be used if LAMMPS was built with the
|
||||||
|
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
|
||||||
|
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "fix nve"_fix_nve.html
|
||||||
|
|
||||||
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(Davidchack)
|
||||||
|
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, and M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
|
||||||
|
:link(Miller)
|
||||||
|
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
|
||||||
134
doc/src/fix_nve_dotc_langevin.txt
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
"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 nve/dotc/langevin command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
fix ID group-ID nve/dotc/langevin Tstart Tstop damp seed keyword value :pre
|
||||||
|
|
||||||
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
|
nve/dotc/langevin = style name of this fix command :l
|
||||||
|
Tstart,Tstop = desired temperature at start/end of run (temperature units) :l
|
||||||
|
damp = damping parameter (time units) :l
|
||||||
|
seed = random number seed to use for white noise (positive integer) :l
|
||||||
|
keyword = {angmom} :l
|
||||||
|
{angmom} value = factor
|
||||||
|
factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below :pre
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
fix 1 all nve/dotc/langevin 1.0 1.0 0.03 457145 angmom 10 :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
Apply a rigid-body Langevin-type integrator of the kind "Langevin C"
|
||||||
|
as described in "(Davidchack)"_#Davidchack
|
||||||
|
to a group of atoms, which models an interaction with an implicit background
|
||||||
|
solvent. This command performs Brownian dynamics (BD)
|
||||||
|
via a technique that splits the integration into a deterministic Hamiltonian
|
||||||
|
part and the Ornstein-Uhlenbeck process for noise and damping.
|
||||||
|
The quaternion degrees of freedom are updated though an evolution
|
||||||
|
operator which performs a rotation in quaternion space, preserves
|
||||||
|
the quaternion norm and is akin to "(Miller)"_#Miller.
|
||||||
|
|
||||||
|
In terms of syntax this command has been closely modelled on the
|
||||||
|
"fix langevin"_fix_langevin.html and its {angmom} option. But it combines
|
||||||
|
the "fix nve"_fix_nve.html and the "fix langevin"_fix_langevin.html in
|
||||||
|
one single command. The main feature is improved stability
|
||||||
|
over the standard integrator, permitting slightly larger timestep sizes.
|
||||||
|
|
||||||
|
NOTE: Unlike the "fix langevin"_fix_langevin.html this command performs
|
||||||
|
also time integration of the translational and quaternion degrees of freedom.
|
||||||
|
|
||||||
|
The total force on each atom will have the form:
|
||||||
|
|
||||||
|
F = Fc + Ff + Fr
|
||||||
|
Ff = - (m / damp) v
|
||||||
|
Fr is proportional to sqrt(Kb T m / (dt damp)) :pre
|
||||||
|
|
||||||
|
Fc is the conservative force computed via the usual inter-particle
|
||||||
|
interactions ("pair_style"_pair_style.html,
|
||||||
|
"bond_style"_bond_style.html, etc).
|
||||||
|
|
||||||
|
The Ff and Fr terms are implicitly taken into account by this fix
|
||||||
|
on a per-particle basis.
|
||||||
|
|
||||||
|
Ff is a frictional drag or viscous damping term proportional to the
|
||||||
|
particle's velocity. The proportionality constant for each atom is
|
||||||
|
computed as m/damp, where m is the mass of the particle and damp is
|
||||||
|
the damping factor specified by the user.
|
||||||
|
|
||||||
|
Fr is a force due to solvent atoms at a temperature T randomly bumping
|
||||||
|
into the particle. As derived from the fluctuation/dissipation
|
||||||
|
theorem, its magnitude as shown above is proportional to sqrt(Kb T m /
|
||||||
|
dt damp), where Kb is the Boltzmann constant, T is the desired
|
||||||
|
temperature, m is the mass of the particle, dt is the timestep size,
|
||||||
|
and damp is the damping factor. Random numbers are used to randomize
|
||||||
|
the direction and magnitude of this force as described in
|
||||||
|
"(Dunweg)"_#Dunweg, where a uniform random number is used (instead of
|
||||||
|
a Gaussian random number) for speed.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
{Tstart} and {Tstop} have to be constant values, i.e. they cannot
|
||||||
|
be variables.
|
||||||
|
|
||||||
|
The {damp} parameter is specified in time units and determines how
|
||||||
|
rapidly the temperature is relaxed. For example, a value of 0.03
|
||||||
|
means to relax the temperature in a timespan of (roughly) 0.03 time
|
||||||
|
units tau (see the "units"_units.html command).
|
||||||
|
The damp factor can be thought of as inversely related to the
|
||||||
|
viscosity of the solvent, i.e. a small relaxation time implies a
|
||||||
|
hi-viscosity solvent and vice versa. See the discussion about gamma
|
||||||
|
and viscosity in the documentation for the "fix
|
||||||
|
viscous"_fix_viscous.html command for more details.
|
||||||
|
|
||||||
|
The random # {seed} must be a positive integer. A Marsaglia random
|
||||||
|
number generator is used. Each processor uses the input seed to
|
||||||
|
generate its own unique seed and its own stream of random numbers.
|
||||||
|
Thus the dynamics of the system will not be identical on two runs on
|
||||||
|
different numbers of processors.
|
||||||
|
|
||||||
|
The keyword/value option has to be used in the following way:
|
||||||
|
|
||||||
|
This fix has to be used together with the {angmom} keyword. The
|
||||||
|
particles are always considered to have a finite size.
|
||||||
|
The keyword {angmom} enables thermostatting of the rotational degrees of
|
||||||
|
freedom in addition to the usual translational degrees of freedom.
|
||||||
|
|
||||||
|
The scale factor after the {angmom} keyword gives the ratio of the rotational to
|
||||||
|
the translational friction coefficient.
|
||||||
|
|
||||||
|
An example input file can be found in /examples/USER/cgdna/examples/duplex2/.
|
||||||
|
A technical report with more information on this integrator can be found
|
||||||
|
"here"_PDF/USER-CGDNA-overview.pdf.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
These pair styles can only be used if LAMMPS was built with the
|
||||||
|
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
|
||||||
|
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"fix nve"_fix_nve.html, "fix langevin"_fix_langevin.html, "fix nve/dot"_fix_nve_dot.html,
|
||||||
|
|
||||||
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(Davidchack)
|
||||||
|
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
|
||||||
|
:link(Miller)
|
||||||
|
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
|
||||||
|
:link(Dunweg)
|
||||||
|
[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991).
|
||||||
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).
|
||||||
@ -89,11 +89,7 @@ NOTE: The center of mass of a group of atoms is calculated in
|
|||||||
group can straddle a periodic boundary. See the "dump"_dump.html doc
|
group can straddle a periodic boundary. See the "dump"_dump.html doc
|
||||||
page for a discussion of unwrapped coordinates. It also means that a
|
page for a discussion of unwrapped coordinates. It also means that a
|
||||||
spring connecting two groups or a group and the tether point can cross
|
spring connecting two groups or a group and the tether point can cross
|
||||||
a periodic boundary and its length be calculated correctly. One
|
a periodic boundary and its length be calculated correctly.
|
||||||
exception is for rigid bodies, which should not be used with the fix
|
|
||||||
spring command, if the rigid body will cross a periodic boundary.
|
|
||||||
This is because image flags for rigid bodies are used in a different
|
|
||||||
way, as explained on the "fix rigid"_fix_rigid.html doc page.
|
|
||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
|
|||||||
@ -68,6 +68,7 @@ Fixes :h1
|
|||||||
fix_meso_stationary
|
fix_meso_stationary
|
||||||
fix_momentum
|
fix_momentum
|
||||||
fix_move
|
fix_move
|
||||||
|
fix_mscg
|
||||||
fix_msst
|
fix_msst
|
||||||
fix_neb
|
fix_neb
|
||||||
fix_nh
|
fix_nh
|
||||||
@ -83,6 +84,8 @@ Fixes :h1
|
|||||||
fix_nve_asphere
|
fix_nve_asphere
|
||||||
fix_nve_asphere_noforce
|
fix_nve_asphere_noforce
|
||||||
fix_nve_body
|
fix_nve_body
|
||||||
|
fix_nve_dot
|
||||||
|
fix_nve_dotc_langevin
|
||||||
fix_nve_eff
|
fix_nve_eff
|
||||||
fix_nve_limit
|
fix_nve_limit
|
||||||
fix_nve_line
|
fix_nve_line
|
||||||
@ -90,6 +93,7 @@ Fixes :h1
|
|||||||
fix_nve_noforce
|
fix_nve_noforce
|
||||||
fix_nve_sphere
|
fix_nve_sphere
|
||||||
fix_nve_tri
|
fix_nve_tri
|
||||||
|
fix_nvk
|
||||||
fix_nvt_asphere
|
fix_nvt_asphere
|
||||||
fix_nvt_body
|
fix_nvt_body
|
||||||
fix_nvt_manifold_rattle
|
fix_nvt_manifold_rattle
|
||||||
|
|||||||
@ -229,11 +229,16 @@ dramatically in z. For example, for a triclinic system with all three
|
|||||||
tilt factors set to the maximum limit, the PPPM grid should be
|
tilt factors set to the maximum limit, the PPPM grid should be
|
||||||
increased roughly by a factor of 1.5 in the y direction and 2.0 in the
|
increased roughly by a factor of 1.5 in the y direction and 2.0 in the
|
||||||
z direction as compared to the same system using a cubic orthogonal
|
z direction as compared to the same system using a cubic orthogonal
|
||||||
simulation cell. One way to ensure the accuracy requirement is being
|
simulation cell. One way to handle this issue if you have a long
|
||||||
met is to run a short simulation at the maximum expected tilt or
|
simulation where the box size changes dramatically, is to break it
|
||||||
length, note the required grid size, and then use the
|
into shorter simulations (multiple "run"_run.html commands). This
|
||||||
|
works because the grid size is re-computed at the beginning of each
|
||||||
|
run. Another way to ensure the descired accuracy requirement is met
|
||||||
|
is to run a short simulation at the maximum expected tilt or length,
|
||||||
|
note the required grid size, and then use the
|
||||||
"kspace_modify"_kspace_modify.html {mesh} command to manually set the
|
"kspace_modify"_kspace_modify.html {mesh} command to manually set the
|
||||||
PPPM grid size to this value.
|
PPPM grid size to this value for the long run. The simulation then
|
||||||
|
will be "too accurate" for some portion of the run.
|
||||||
|
|
||||||
RMS force errors in real space for {ewald} and {pppm} are estimated
|
RMS force errors in real space for {ewald} and {pppm} are estimated
|
||||||
using equation 18 of "(Kolafa)"_#Kolafa, which is also referenced as
|
using equation 18 of "(Kolafa)"_#Kolafa, which is also referenced as
|
||||||
@ -285,6 +290,8 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||||||
See "Section 5"_Section_accelerate.html of the manual for
|
See "Section 5"_Section_accelerate.html of the manual for
|
||||||
more instructions on how to use the accelerated styles effectively.
|
more instructions on how to use the accelerated styles effectively.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
Note that the long-range electrostatic solvers in LAMMPS assume conducting
|
Note that the long-range electrostatic solvers in LAMMPS assume conducting
|
||||||
|
|||||||
@ -23,6 +23,7 @@ Section_history.html
|
|||||||
|
|
||||||
tutorial_drude.html
|
tutorial_drude.html
|
||||||
tutorial_github.html
|
tutorial_github.html
|
||||||
|
tutorial_pylammps.html
|
||||||
|
|
||||||
body.html
|
body.html
|
||||||
manifolds.html
|
manifolds.html
|
||||||
@ -113,6 +114,7 @@ special_bonds.html
|
|||||||
suffix.html
|
suffix.html
|
||||||
tad.html
|
tad.html
|
||||||
temper.html
|
temper.html
|
||||||
|
temper_grem.html
|
||||||
thermo.html
|
thermo.html
|
||||||
thermo_modify.html
|
thermo_modify.html
|
||||||
thermo_style.html
|
thermo_style.html
|
||||||
@ -207,6 +209,8 @@ fix_nve.html
|
|||||||
fix_nve_asphere.html
|
fix_nve_asphere.html
|
||||||
fix_nve_asphere_noforce.html
|
fix_nve_asphere_noforce.html
|
||||||
fix_nve_body.html
|
fix_nve_body.html
|
||||||
|
fix_nve_dot.html
|
||||||
|
fix_nve_dotc_langevin.html
|
||||||
fix_nve_eff.html
|
fix_nve_eff.html
|
||||||
fix_nve_limit.html
|
fix_nve_limit.html
|
||||||
fix_nve_line.html
|
fix_nve_line.html
|
||||||
@ -454,6 +458,7 @@ pair_multi_lucy_rx.html
|
|||||||
pair_nb3b_harmonic.html
|
pair_nb3b_harmonic.html
|
||||||
pair_nm.html
|
pair_nm.html
|
||||||
pair_none.html
|
pair_none.html
|
||||||
|
pair_oxdna_excv.html
|
||||||
pair_peri.html
|
pair_peri.html
|
||||||
pair_polymorphic.html
|
pair_polymorphic.html
|
||||||
pair_quip.html
|
pair_quip.html
|
||||||
@ -492,6 +497,7 @@ pair_zero.html
|
|||||||
bond_class2.html
|
bond_class2.html
|
||||||
bond_fene.html
|
bond_fene.html
|
||||||
bond_fene_expand.html
|
bond_fene_expand.html
|
||||||
|
bond_oxdna_fene.html
|
||||||
bond_harmonic.html
|
bond_harmonic.html
|
||||||
bond_harmonic_shift.html
|
bond_harmonic_shift.html
|
||||||
bond_harmonic_shift_cut.html
|
bond_harmonic_shift_cut.html
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
pair_style eam command :h3
|
pair_style eam command :h3
|
||||||
pair_style eam/gpu command :h3
|
pair_style eam/gpu command :h3
|
||||||
|
pair_style eam/intel command :h3
|
||||||
pair_style eam/kk command :h3
|
pair_style eam/kk command :h3
|
||||||
pair_style eam/omp command :h3
|
pair_style eam/omp command :h3
|
||||||
pair_style eam/opt command :h3
|
pair_style eam/opt command :h3
|
||||||
|
|||||||
@ -10,16 +10,21 @@ pair_style exp6/rx command :h3
|
|||||||
|
|
||||||
[Syntax:]
|
[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:]
|
[Examples:]
|
||||||
|
|
||||||
pair_style exp6/rx 10.0
|
pair_style exp6/rx 10.0
|
||||||
pair_coeff * * exp6.params h2o h2o 1.0 1.0 10.0
|
pair_style exp6/rx 10.0 fractional
|
||||||
pair_coeff * * exp6.params h2o 1fluid 1.0 1.0 10.0
|
pair_style exp6/rx 10.0 molecular
|
||||||
pair_coeff * * exp6.params 1fluid 1fluid 1.0 1.0 10.0 :pre
|
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:]
|
[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",
|
rx"_fix_rx.html command or they must correspond to the tag "1fluid",
|
||||||
signifying interaction with a product species mixture determined
|
signifying interaction with a product species mixture determined
|
||||||
through a one-fluid approximation. The interaction potential is
|
through a one-fluid approximation. The interaction potential is
|
||||||
weighted by the geometric average of the concentrations of the two
|
weighted by the geometric average of either the mole fraction concentrations
|
||||||
species. The coarse-grained potential is stored before and after the
|
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
|
reaction kinetics solver is applied, where the difference is defined
|
||||||
to be the internal chemical energy (uChem).
|
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
|
:line
|
||||||
|
|
||||||
@ -70,6 +97,19 @@ no2 exp6 13.60 0.01 3.70
|
|||||||
...
|
...
|
||||||
co2 exp6 13.00 0.03 3.20 :pre
|
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
|
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
|
"#"; blank lines or lines starting with "#" can be used as comments
|
||||||
between sections.
|
between sections.
|
||||||
@ -117,4 +157,4 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||||||
|
|
||||||
"pair_coeff"_pair_coeff.html
|
"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
|
pair_style multi/lucy/rx style N keyword ... :pre
|
||||||
|
|
||||||
style = {lookup} or {linear} = method of interpolation
|
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:]
|
[Examples:]
|
||||||
|
|
||||||
pair_style multi/lucy/rx linear 1000
|
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 h2o 7.0
|
||||||
pair_coeff * * multibody.table ENTRY1 h2o 1fluid 7.0 :pre
|
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
|
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||||
must correspond to the tag "1fluid", signifying interaction with a
|
must correspond to the tag "1fluid", signifying interaction with a
|
||||||
product species mixture determined through a one-fluid approximation.
|
product species mixture determined through a one-fluid approximation.
|
||||||
The interaction potential is weighted by the geometric average of the
|
The interaction potential is weighted by the geometric average of
|
||||||
concentrations of the two species. The coarse-grained potential is
|
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
|
stored before and after the reaction kinetics solver is applied, where
|
||||||
the difference is defined to be the internal chemical energy (uChem).
|
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
|
"pair_coeff"_pair_coeff.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] fractional weighting
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
80
doc/src/pair_oxdna_excv.txt
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||||
|
|
||||||
|
:link(lws,http://lammps.sandia.gov)
|
||||||
|
:link(ld,Manual.html)
|
||||||
|
:link(lc,Section_commands.html#comm)
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
pair_style oxdna_excv command :h3
|
||||||
|
pair_style oxdna_stk command :h3
|
||||||
|
pair_style oxdna_hbond command :h3
|
||||||
|
pair_style oxdna_xstk command :h3
|
||||||
|
pair_style oxdna_coaxstk command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
pair_style style :pre
|
||||||
|
|
||||||
|
style = {hybrid/overlay oxdna_excv oxdna_stk oxdna_hbond oxdna_xstk oxdna_coaxstk} :ul
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
pair_style hybrid/overlay oxdna_excv oxdna_stk oxdna_hbond oxdna_xstk oxdna_coaxstk
|
||||||
|
pair_coeff * * oxdna_excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
|
||||||
|
pair_coeff * * oxdna_stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
|
||||||
|
pair_coeff * * oxdna_hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 1 4 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 2 3 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff * * oxdna_xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
|
||||||
|
pair_coeff * * oxdna_coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
The {oxdna} pair styles compute the pairwise-additive parts of the oxDNA force field
|
||||||
|
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
|
||||||
|
excluded volume interaction {oxdna_excv}, the stacking {oxdna_stk}, cross-stacking {oxdna_xstk}
|
||||||
|
and coaxial stacking interaction {oxdna_coaxstk} as well
|
||||||
|
as the hydrogen-bonding interaction {oxdna_hbond} between complementary pairs of nucleotides on
|
||||||
|
opposite strands.
|
||||||
|
|
||||||
|
The exact functional form of the pair styles is rather complex, which manifests itself in the 144 coefficients
|
||||||
|
in the above example. The individual potentials consist of products of modulation factors,
|
||||||
|
which themselves are constructed from a number of more basic potentials
|
||||||
|
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
|
||||||
|
We refer to "(Ouldridge-DPhil)"_#Ouldridge-DPhil and "(Ouldridge)"_#Ouldridge
|
||||||
|
for a detailed description of the oxDNA force field.
|
||||||
|
|
||||||
|
NOTE: These pair styles have to be used together with the related oxDNA bond style
|
||||||
|
{oxdna_fene} for the connectivity of the phosphate backbone (see also documentation of
|
||||||
|
"bond_style oxdna_fene"_bond_oxdna_fene.html). The coefficients
|
||||||
|
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||||
|
|
||||||
|
Example input and data files can be found in /examples/USER/cgdna/examples/duplex1/ and /duplex2/.
|
||||||
|
A simple python setup tool which creates single straight or helical DNA strands,
|
||||||
|
DNA duplexes or arrays of DNA duplexes can be found in /examples/USER/cgdna/util/.
|
||||||
|
A technical report with more information on the model, the structure of the input file,
|
||||||
|
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||||
|
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
These pair styles can only be used if LAMMPS was built with the
|
||||||
|
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
|
||||||
|
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"bond_style oxdna_fene"_bond_oxdna_fene.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html
|
||||||
|
|
||||||
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(Ouldridge-DPhil)
|
||||||
|
[(Ouldrigde-DPhil)] T.E. Ouldridge, Coarse-grained modelling of DNA and DNA self-assembly, DPhil. University of Oxford (2011).
|
||||||
|
|
||||||
|
:link(Ouldridge)
|
||||||
|
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
|
||||||
@ -10,16 +10,17 @@ pair_style table/rx command :h3
|
|||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
pair_style table style N :pre
|
pair_style table style N ... :pre
|
||||||
|
|
||||||
style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation
|
style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation
|
||||||
N = use N values in {lookup}, {linear}, {spline} tables
|
N = use N values in {lookup}, {linear}, {spline} tables
|
||||||
N = use 2^N values in {bitmap} tables
|
weighting = fractional or molecular (optional) :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
pair_style table/rx linear 1000
|
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 h2o h2o 10.0
|
||||||
pair_coeff * * rxn.table ENTRY1 1fluid 1fluid 10.0
|
pair_coeff * * rxn.table ENTRY1 1fluid 1fluid 10.0
|
||||||
pair_coeff * 3 rxn.table ENTRY1 h2o no2 10.0 :pre
|
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
|
kinetics files specified with the "fix rx"_fix_rx.html command or they
|
||||||
must correspond to the tag "1fluid", signifying interaction with a
|
must correspond to the tag "1fluid", signifying interaction with a
|
||||||
product species mixture determined through a one-fluid approximation.
|
product species mixture determined through a one-fluid approximation.
|
||||||
The interaction potential is weighted by the geometric average of the
|
The interaction potential is weighted by the geometric average of
|
||||||
concentrations of the two species. The coarse-grained potential is
|
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
|
stored before and after the reaction kinetics solver is applied, where
|
||||||
the difference is defined to be the internal chemical energy (uChem).
|
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
|
"pair_coeff"_pair_coeff.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] fractional weighting
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -65,6 +65,7 @@ Pair Styles :h1
|
|||||||
pair_nb3b_harmonic
|
pair_nb3b_harmonic
|
||||||
pair_nm
|
pair_nm
|
||||||
pair_none
|
pair_none
|
||||||
|
pair_oxdna_excv
|
||||||
pair_peri
|
pair_peri
|
||||||
pair_polymorphic
|
pair_polymorphic
|
||||||
pair_quip
|
pair_quip
|
||||||
|
|||||||
@ -14,7 +14,7 @@ python func keyword args ... :pre
|
|||||||
|
|
||||||
func = name of Python function :ulb,l
|
func = name of Python function :ulb,l
|
||||||
one or more keyword/args pairs must be appended :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
|
{invoke} arg = none = invoke the previously defined Python function
|
||||||
{input} args = N i1 i2 ... iN
|
{input} args = N i1 i2 ... iN
|
||||||
N = # of inputs to function
|
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
|
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
|
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
|
'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF
|
||||||
|
{length} arg = Nlen
|
||||||
|
Nlen = max length of string returned from Python function
|
||||||
{file} arg = filename
|
{file} arg = filename
|
||||||
filename = file of Python code, which defines func
|
filename = file of Python code, which defines func
|
||||||
{here} arg = inline
|
{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
|
Python function is flagged as a numeric value ("i" or "f") via the
|
||||||
{format} keyword.
|
{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
|
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
|
one of them. These keywords specify what Python code to load into the
|
||||||
Python interpreter. The {file} keyword gives the name of a file,
|
Python interpreter. The {file} keyword gives the name of a file,
|
||||||
|
|||||||
@ -15,11 +15,12 @@ read_dump file Nstep field1 field2 ... keyword values ... :pre
|
|||||||
file = name of dump file to read :ulb,l
|
file = name of dump file to read :ulb,l
|
||||||
Nstep = snapshot timestep to read from file :l
|
Nstep = snapshot timestep to read from file :l
|
||||||
one or more fields may be appended :l
|
one or more fields may be appended :l
|
||||||
field = {x} or {y} or {z} or {vx} or {vy} or {vz} or {q} or {ix} or {iy} or {iz}
|
field = {x} or {y} or {z} or {vx} or {vy} or {vz} or {q} or {ix} or {iy} or {iz} or {fx} or {fy} or {fz}
|
||||||
{x},{y},{z} = atom coordinates
|
{x},{y},{z} = atom coordinates
|
||||||
{vx},{vy},{vz} = velocity components
|
{vx},{vy},{vz} = velocity components
|
||||||
{q} = charge
|
{q} = charge
|
||||||
{ix},{iy},{iz} = image flags in each dimension :pre
|
{ix},{iy},{iz} = image flags in each dimension
|
||||||
|
{fx},{fy},{fz} = force components :pre
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {box} or {replace} or {purge} or {trim} or {add} or {label} or {scaled} or {wrapped} or {format} :l
|
keyword = {box} or {replace} or {purge} or {trim} or {add} or {label} or {scaled} or {wrapped} or {format} :l
|
||||||
{box} value = {yes} or {no} = replace simulation box with dump box
|
{box} value = {yes} or {no} = replace simulation box with dump box
|
||||||
|
|||||||
@ -32,7 +32,7 @@ Run a parallel tempering or replica exchange simulation in LAMMPS
|
|||||||
partition mode using multiple generalized replicas (ensembles) of a
|
partition mode using multiple generalized replicas (ensembles) of a
|
||||||
system defined by "fix grem"_fix_grem.html, which stands for the
|
system defined by "fix grem"_fix_grem.html, which stands for the
|
||||||
generalized replica exchange method (gREM) originally developed by
|
generalized replica exchange method (gREM) originally developed by
|
||||||
"(Kim)"_#Kim. It uses non-Boltzmann ensembles to sample over first
|
"(Kim)"_#KimStraub. It uses non-Boltzmann ensembles to sample over first
|
||||||
order phase transitions. The is done by defining replicas with an
|
order phase transitions. The is done by defining replicas with an
|
||||||
enthalpy dependent effective temperature
|
enthalpy dependent effective temperature
|
||||||
|
|
||||||
@ -105,5 +105,5 @@ This command must be used with "fix grem"_fix_grem.html.
|
|||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
||||||
:link(Kim)
|
:link(KimStraub)
|
||||||
[(Kim)] Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010).
|
[(Kim)] Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010).
|
||||||
|
|||||||
@ -33,14 +33,14 @@ timer loop :pre
|
|||||||
Select the level of detail at which LAMMPS performs its CPU timings.
|
Select the level of detail at which LAMMPS performs its CPU timings.
|
||||||
Multiple keywords can be specified with the {timer} command. For
|
Multiple keywords can be specified with the {timer} command. For
|
||||||
keywords that are mutually exclusive, the last one specified takes
|
keywords that are mutually exclusive, the last one specified takes
|
||||||
effect.
|
precedence.
|
||||||
|
|
||||||
During a simulation run LAMMPS collects information about how much
|
During a simulation run LAMMPS collects information about how much
|
||||||
time is spent in different sections of the code and thus can provide
|
time is spent in different sections of the code and thus can provide
|
||||||
information for determining performance and load imbalance problems.
|
information for determining performance and load imbalance problems.
|
||||||
This can be done at different levels of detail and accuracy. For more
|
This can be done at different levels of detail and accuracy. For more
|
||||||
information about the timing output, see this "discussion of screen
|
information about the timing output, see this "discussion of screen
|
||||||
output"_Section_start.html#start_8.
|
output in Section 2.8"_Section_start.html#start_8.
|
||||||
|
|
||||||
The {off} setting will turn all time measurements off. The {loop}
|
The {off} setting will turn all time measurements off. The {loop}
|
||||||
setting will only measure the total time for a run and not collect any
|
setting will only measure the total time for a run and not collect any
|
||||||
@ -52,20 +52,22 @@ procsessors. The {full} setting adds information about CPU
|
|||||||
utilization and thread utilization, when multi-threading is enabled.
|
utilization and thread utilization, when multi-threading is enabled.
|
||||||
|
|
||||||
With the {sync} setting, all MPI tasks are synchronized at each timer
|
With the {sync} setting, all MPI tasks are synchronized at each timer
|
||||||
call which meaures load imbalance more accuractly, though it can also
|
call which measures load imbalance for each section more accuractly,
|
||||||
slow down the simulation. Using the {nosync} setting (which is the
|
though it can also slow down the simulation by prohibiting overlapping
|
||||||
default) turns off this synchronization.
|
independent computations on different MPI ranks Using the {nosync}
|
||||||
|
setting (which is the default) turns this synchronization off.
|
||||||
|
|
||||||
With the {timeout} keyword a walltime limit can be imposed that
|
With the {timeout} keyword a walltime limit can be imposed, that
|
||||||
affects the "run"_run.html and "minimize"_minimize.html commands.
|
affects the "run"_run.html and "minimize"_minimize.html commands.
|
||||||
This can be convenient when runs have to confirm to time limits,
|
This can be convenient when calculations have to comply with execution
|
||||||
e.g. when running under a batch system and you want to maximize
|
time limits, e.g. when running under a batch system when you want to
|
||||||
the utilization of the batch time slot, especially when the time
|
maximize the utilization of the batch time slot, especially for runs
|
||||||
per timestep varies and is thus difficult to predict how many
|
where the time per timestep varies much and thus it becomes difficult
|
||||||
steps a simulation can perform, or for difficult to converge
|
to predict how many steps a simulation can perform for a given walltime
|
||||||
minimizations. The timeout {elapse} value should be somewhat smaller
|
limit. This also applies for difficult to converge minimizations.
|
||||||
than the time requested from the batch system, as there is usually
|
The timeout {elapse} value should be somewhat smaller than the maximum
|
||||||
some overhead to launch jobs, and it may be advisable to write
|
wall time requested from the batch system, as there is usually
|
||||||
|
some overhead to launch jobs, and it is advisable to write
|
||||||
out a restart after terminating a run due to a timeout.
|
out a restart after terminating a run due to a timeout.
|
||||||
|
|
||||||
The timeout timer starts when the command is issued. When the time
|
The timeout timer starts when the command is issued. When the time
|
||||||
|
|||||||
@ -11,10 +11,22 @@ LAMMPS GitHub tutorial :h3
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
This document briefly describes how to use GitHub to merge changes you
|
This document describes the process of how to use GitHub to integrate
|
||||||
make into LAMMPS, using GitHub. It assumes that you are familiar with
|
changes or additions you have made to LAMMPS into the official LAMMPS
|
||||||
git. You may want to have a look at the "Git
|
distribution. It uses the process of updating this very tutorial as
|
||||||
book"_http://git-scm.com/book/ to reacquaint yourself.
|
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
|
:line
|
||||||
|
|
||||||
@ -30,106 +42,121 @@ username or e-mail address and password.
|
|||||||
|
|
||||||
[Forking the repository]
|
[Forking the repository]
|
||||||
|
|
||||||
To get changes into LAMMPS, you need to first fork the repository. At
|
To get changes into LAMMPS, you need to first fork the `lammps/lammps`
|
||||||
the time of writing, LAMMPS-ICMS is the preferred fork. Go to "LAMMPS
|
repository on GitHub. At the time of writing, {master} is the preferred
|
||||||
on GitHub"_https://github.com/lammps/lammps and make sure branch is
|
target branch. Thus go to "LAMMPS on GitHub"_https://github.com/lammps/lammps
|
||||||
set to "lammps-icms", see the figure below.
|
and make sure branch is set to "master", as shown in the figure below.
|
||||||
|
|
||||||
:c,image(JPG/tutorial_branch.png)
|
: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)
|
: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
|
This will create a fork (which is essentially a copy, but uses less
|
||||||
upstream repository to merge changes from your own fork into the one
|
resources) of the LAMMPS repository under your own GitHub account. You
|
||||||
we just forked from. At the same time, you can set things up, so you
|
can make changes in this fork and later file {pull requests} to allow
|
||||||
can include changes from upstream into your repository.
|
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
|
:line
|
||||||
|
|
||||||
[Adding changes to your own fork]
|
[Adding changes to your own fork]
|
||||||
|
|
||||||
Before adding changes, it is better to first create a new branch that
|
Additions to the upstream version of LAMMPS are handled using {feature
|
||||||
will contain these changes, a so-called feature branch.
|
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]
|
[Feature branches]
|
||||||
|
|
||||||
Since LAMMPS is such a big project and most user contributions come in
|
First of all, create a clone of your version on github on your local
|
||||||
small portions, the most ideal workflow for LAMMPS is the so-called
|
machine via HTTPS:
|
||||||
"Feature branch" workflow. It is explained in great detail here:
|
|
||||||
"feature branch
|
|
||||||
workflow"_https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow.
|
|
||||||
|
|
||||||
The idea is that every new feature for LAMMPS gets its own
|
$ git clone https://github.com/<your user name>/lammps.git <some name> :pre
|
||||||
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.
|
|
||||||
|
|
||||||
I assume that git is installed on the local machine and you know how
|
or, if you have set up your GitHub account for using SSH keys, via SSH:
|
||||||
to use a command line.
|
|
||||||
|
|
||||||
First of all, you need to clone your own fork of LAMMPS:
|
$ git clone git@github.com:<your user name>/lammps.git :pre
|
||||||
|
|
||||||
$ git clone https://github.com/<your user name>/lammps.git :pre
|
You can find the proper URL by clicking the "Clone or download"-button:
|
||||||
|
|
||||||
You can find the proper url to the right of the "HTTPS" block, see figure.
|
|
||||||
|
|
||||||
:c,image(JPG/tutorial_https_block.png)
|
:c,image(JPG/tutorial_https_block.png)
|
||||||
|
|
||||||
The above command copies ("clones") the git repository to your local
|
The above command copies ("clones") the git repository to your local
|
||||||
machine. You can use this local clone to make changes and test them
|
machine to a directory with the name you chose. If none is given, it will
|
||||||
without interfering with the repository on github. First, however, it
|
default to "lammps". Typical names are "mylammps" or something similar.
|
||||||
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.
|
|
||||||
|
|
||||||
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
|
$ cd mylammps
|
||||||
name it after something that resembles the feature you want added to
|
$ git checkout master
|
||||||
LAMMPS.
|
$ git pull https://github.com/lammps/lammps :pre
|
||||||
|
|
||||||
Now that you've changed branches, you can edit the files as you see
|
You can also add this URL as a remote:
|
||||||
fit, add new files, and commit as much as you would like. Just
|
|
||||||
remember that if halfway you decide to add another, unrelated feature,
|
$ git remote add lammps_upstream https://www.github.com/lammps/lammps :pre
|
||||||
you should switch branches!
|
|
||||||
|
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:
|
After everything is done, add the files to the branch and commit them:
|
||||||
|
|
||||||
$ git add src/USER-MANIFOLD examples/USER/manifold/
|
$ git add doc/src/tutorial_github.txt
|
||||||
$ git add doc/fix_nv\{t,e\}_manifold_rattle.txt
|
$ git add doc/src/JPG/tutorial*.png :pre
|
||||||
$ git add doc/fix_manifoldforce.txt doc/user_manifolds.txt :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
|
$ git commit -m 'Finally updated the github tutorial' :pre
|
||||||
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."}
|
|
||||||
|
|
||||||
After the commit, the changes can be pushed to the same branch on GitHub:
|
After the commit, the changes can be pushed to the same branch on GitHub:
|
||||||
|
|
||||||
$ git push :pre
|
$ git push :pre
|
||||||
|
|
||||||
Git will ask you for your user name and password on GitHub if you have
|
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
|
not configured anything. If your local branch is not present on Github yet,
|
||||||
password, the change should be added to your fork on GitHub.
|
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
|
If you want to make really sure you push to the right repository
|
||||||
(which is good practice), you can provide it explicitly:
|
(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
|
$ git push git@github.com:Pakketeretet2/lammps.git :pre
|
||||||
|
|
||||||
After that, you can file a new pull request based on this
|
:line
|
||||||
branch. GitHub will now look like this:
|
|
||||||
|
|
||||||
: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
|
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
|
this case, is "github-tutorial-update". If done correctly, the only
|
||||||
done correctly, the only changes you will see are those that were made
|
changes you will see are those that were made on this branch.
|
||||||
on this branch, so in my case, I will see nothing related to
|
|
||||||
$\mathrm{pair\_dzugatov}.$
|
|
||||||
|
|
||||||
This will open up a new window that lists changes made to the
|
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,
|
repository. If you are just adding new files, there is not much to do,
|
||||||
@ -158,36 +189,162 @@ 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
|
green text at the top will say so and you can click the "Create pull
|
||||||
request" button, see image.
|
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
|
Before creating the pull request, make sure the short title is accurate
|
||||||
details about your pull request. I guess here you write what your
|
and add a comment with details about your pull request. Here you write
|
||||||
modifications do and why they should be incorporated upstream. After
|
what your modifications do and why they should be incorporated upstream.
|
||||||
that, click the "Create pull request" button, see image below.
|
|
||||||
|
|
||||||
: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
|
:c,image(JPG/tutorial_edits_maintainers.png)
|
||||||
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_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
|
: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]
|
[Additional changes]
|
||||||
|
|
||||||
Before the pull request is accepted, any additional changes you push
|
First of all, any additional changes you push into your branch in your
|
||||||
into your repository will automatically become part of the pull
|
repository will automatically become part of the pull request:
|
||||||
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
|
||||||
|
|
||||||
|
This merge also shows up on the lammps Github page:
|
||||||
|
|
||||||
|
:c,image(JPG/tutorial_reverse_pull_request7.png)
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[After a merge]
|
[After a merge]
|
||||||
|
|
||||||
When everything is fine the feature branch is merged into the LAMMPS
|
When everything is fine, the feature branch is merged into the master branch:
|
||||||
repositories:
|
|
||||||
|
|
||||||
:c,image(JPG/tutorial_merged.png)
|
:c,image(JPG/tutorial_merged.png)
|
||||||
|
|
||||||
@ -198,17 +355,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
|
keep it a bit more tidy. Note that you first have to switch to another
|
||||||
branch!
|
branch!
|
||||||
|
|
||||||
$ git checkout lammps-icms
|
$ git checkout master
|
||||||
$ git pull lammps-icms
|
$ git pull master
|
||||||
$ git branch -d add-user-manifold :pre
|
$ git branch -d github-tutorial-update :pre
|
||||||
|
|
||||||
If you do not pull first, it is not really a problem but git will warn
|
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
|
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
|
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.
|
first delete and then pull, everything should still be fine.
|
||||||
|
|
||||||
Finally, if you delete the branch locally, you might want to push this
|
Finally, if you delete the branch locally, you might want to push this
|
||||||
to your remote(s) as well:
|
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.
|
||||||
|
|||||||
@ -82,6 +82,7 @@ meam: MEAM test for SiC and shear (same as shear examples)
|
|||||||
melt: rapid melt of 3d LJ system
|
melt: rapid melt of 3d LJ system
|
||||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||||
min: energy minimization of 2d LJ melt
|
min: energy minimization of 2d LJ melt
|
||||||
|
mscg: parameterize a multi-scale coarse-graining (MSCG) model
|
||||||
msst: MSST shock dynamics
|
msst: MSST shock dynamics
|
||||||
nb3b: use of nonbonded 3-body harmonic pair style
|
nb3b: use of nonbonded 3-body harmonic pair style
|
||||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||||
|
|||||||
28
examples/USER/cgdna/README
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
This directory contains example data and input files
|
||||||
|
and utility scripts for the oxDNA coarse-grained model
|
||||||
|
for DNA.
|
||||||
|
|
||||||
|
/examples/duplex1:
|
||||||
|
Input, data and log files for a DNA duplex (double-stranded DNA)
|
||||||
|
consisiting of 5 base pairs. The duplex contains two strands with
|
||||||
|
complementary base pairs. The topology is
|
||||||
|
|
||||||
|
A - A - A - A - A
|
||||||
|
| | | | |
|
||||||
|
T - T - T - T - T
|
||||||
|
|
||||||
|
/examples/duplex2:
|
||||||
|
Input, data and log files for a nicked DNA duplex (double-stranded DNA)
|
||||||
|
consisiting of 8 base pairs. The duplex contains strands with
|
||||||
|
complementary base pairs, but the backbone on one side is not continuous:
|
||||||
|
two individual strands on one side form a duplex with a longer single
|
||||||
|
strand on the other side. The topology is
|
||||||
|
|
||||||
|
A - A - A - A - A - A - A - A
|
||||||
|
| | | | | | | |
|
||||||
|
T - T - T T - T - T - T - T
|
||||||
|
|
||||||
|
/util:
|
||||||
|
This directory contains a simple python setup tool which creates
|
||||||
|
single straight or helical DNA strands, DNA duplexes or arrays of DNA
|
||||||
|
duplexes.
|
||||||
74
examples/USER/cgdna/examples/duplex1/data.duplex1
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# LAMMPS data file
|
||||||
|
10 atoms
|
||||||
|
10 ellipsoids
|
||||||
|
8 bonds
|
||||||
|
|
||||||
|
4 atom types
|
||||||
|
1 bond types
|
||||||
|
|
||||||
|
# System size
|
||||||
|
-20.000000 20.000000 xlo xhi
|
||||||
|
-20.000000 20.000000 ylo yhi
|
||||||
|
-20.000000 20.000000 zlo zhi
|
||||||
|
|
||||||
|
# Atom masses for each atom type
|
||||||
|
Masses
|
||||||
|
|
||||||
|
1 3.1575
|
||||||
|
2 3.1575
|
||||||
|
3 3.1575
|
||||||
|
4 3.1575
|
||||||
|
|
||||||
|
# Atom-ID, type, position, molecule-ID, ellipsoid flag, density
|
||||||
|
Atoms
|
||||||
|
|
||||||
|
1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1 1 1
|
||||||
|
2 1 1.3274493266864451e-01 -4.2912827978022683e-01 3.7506163469402809e-01 1 1 1
|
||||||
|
3 1 4.8460810659772807e-01 -7.0834970533509178e-01 7.5012326938805618e-01 1 1 1
|
||||||
|
4 1 9.3267359196674593e-01 -7.4012419946742802e-01 1.1251849040820843e+00 1 1 1
|
||||||
|
5 1 1.3204192238113461e+00 -5.1335201721887447e-01 1.5002465387761124e+00 1 1 1
|
||||||
|
6 4 1.9958077618865377e-01 5.1335201721887447e-01 1.5002465387761124e+00 1 1 1
|
||||||
|
7 4 5.8732640803325409e-01 7.4012419946742802e-01 1.1251849040820843e+00 1 1 1
|
||||||
|
8 4 1.0353918934022719e+00 7.0834970533509178e-01 7.5012326938805618e-01 1 1 1
|
||||||
|
9 4 1.3872550673313555e+00 4.2912827978022683e-01 3.7506163469402809e-01 1 1 1
|
||||||
|
10 4 1.5200000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1 1 1
|
||||||
|
|
||||||
|
# Atom-ID, translational, rotational velocity
|
||||||
|
Velocities
|
||||||
|
|
||||||
|
1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
|
||||||
|
# Atom-ID, shape, quaternion
|
||||||
|
Ellipsoids
|
||||||
|
|
||||||
|
1 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
2 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 9.5533648912560598e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.9552020666133955e-01
|
||||||
|
3 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 8.2533561490967822e-01 0.0000000000000000e+00 0.0000000000000000e+00 5.6464247339503526e-01
|
||||||
|
4 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 6.2160996827066439e-01 0.0000000000000000e+00 0.0000000000000000e+00 7.8332690962748319e-01
|
||||||
|
5 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 3.6235775447667351e-01 0.0000000000000000e+00 0.0000000000000000e+00 9.3203908596722607e-01
|
||||||
|
6 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 0.0000000000000000e+00 9.3203908596722607e-01 -3.6235775447667351e-01 0.0000000000000000e+00
|
||||||
|
7 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 0.0000000000000000e+00 7.8332690962748319e-01 -6.2160996827066439e-01 0.0000000000000000e+00
|
||||||
|
8 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 0.0000000000000000e+00 5.6464247339503526e-01 -8.2533561490967822e-01 0.0000000000000000e+00
|
||||||
|
9 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 0.0000000000000000e+00 2.9552020666133955e-01 -9.5533648912560598e-01 0.0000000000000000e+00
|
||||||
|
10 1.1739845031423408e+00 1.1739845031423408e+00 1.1739845031423408e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00
|
||||||
|
|
||||||
|
# Bond topology
|
||||||
|
Bonds
|
||||||
|
|
||||||
|
1 1 1 2
|
||||||
|
2 1 2 3
|
||||||
|
3 1 3 4
|
||||||
|
4 1 4 5
|
||||||
|
5 1 6 7
|
||||||
|
6 1 7 8
|
||||||
|
7 1 8 9
|
||||||
|
8 1 9 10
|
||||||
75
examples/USER/cgdna/examples/duplex1/input.duplex1
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
variable number equal 1
|
||||||
|
variable ofreq equal 1000
|
||||||
|
variable efreq equal 1000
|
||||||
|
|
||||||
|
units lj
|
||||||
|
|
||||||
|
dimension 3
|
||||||
|
|
||||||
|
newton off
|
||||||
|
|
||||||
|
boundary p p p
|
||||||
|
|
||||||
|
atom_style hybrid bond ellipsoid
|
||||||
|
atom_modify sort 0 1.0
|
||||||
|
|
||||||
|
# Pair interactions require lists of neighbours to be calculated
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 1 delay 0 check yes
|
||||||
|
|
||||||
|
read_data data.duplex1
|
||||||
|
|
||||||
|
set atom * mass 3.1575
|
||||||
|
|
||||||
|
group all type 1 4
|
||||||
|
|
||||||
|
# oxDNA bond interactions - FENE backbone
|
||||||
|
bond_style oxdna_fene
|
||||||
|
bond_coeff * 2.0 0.25 0.7525
|
||||||
|
|
||||||
|
# oxDNA pair interactions
|
||||||
|
pair_style hybrid/overlay oxdna_excv oxdna_stk oxdna_hbond oxdna_xstk oxdna_coaxstk
|
||||||
|
pair_coeff * * oxdna_excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
|
||||||
|
pair_coeff * * oxdna_stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
|
||||||
|
pair_coeff * * oxdna_hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 1 4 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 2 3 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff * * oxdna_xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
|
||||||
|
pair_coeff * * oxdna_coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
|
||||||
|
|
||||||
|
# NVE ensemble
|
||||||
|
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
|
||||||
|
fix 1 all nve/dot
|
||||||
|
|
||||||
|
timestep 1e-5
|
||||||
|
|
||||||
|
#comm_style tiled
|
||||||
|
#fix 3 all balance 10000 1.1 rcb
|
||||||
|
|
||||||
|
#compute mol all chunk/atom molecule
|
||||||
|
#compute mychunk all vcm/chunk mol
|
||||||
|
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
|
||||||
|
|
||||||
|
dump pos all xyz ${ofreq} traj.${number}.xyz
|
||||||
|
|
||||||
|
compute quat all property/atom quatw quati quatj quatk
|
||||||
|
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
|
||||||
|
dump_modify quat sort id
|
||||||
|
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
compute erot all erotate/asphere
|
||||||
|
compute ekin all ke
|
||||||
|
compute epot all pe
|
||||||
|
variable erot equal c_erot
|
||||||
|
variable ekin equal c_ekin
|
||||||
|
variable epot equal c_epot
|
||||||
|
variable etot equal c_erot+c_ekin+c_epot
|
||||||
|
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
|
||||||
|
|
||||||
|
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
|
||||||
|
dump_modify out sort id
|
||||||
|
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
run 1000000
|
||||||
|
|
||||||
|
#write_restart config.${number}.*
|
||||||
1161
examples/USER/cgdna/examples/duplex1/log.9Jan17.duplex1.g++.1
Normal file
1161
examples/USER/cgdna/examples/duplex1/log.9Jan17.duplex1.g++.4
Normal file
97
examples/USER/cgdna/examples/duplex2/data.duplex2
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# LAMMPS data file
|
||||||
|
16 atoms
|
||||||
|
16 ellipsoids
|
||||||
|
13 bonds
|
||||||
|
|
||||||
|
4 atom types
|
||||||
|
1 bond types
|
||||||
|
|
||||||
|
# System size
|
||||||
|
-20.0 20.0 xlo xhi
|
||||||
|
-20.0 20.0 ylo yhi
|
||||||
|
-20.0 20.0 zlo zhi
|
||||||
|
|
||||||
|
# Atom masses for each atom type
|
||||||
|
Masses
|
||||||
|
|
||||||
|
1 3.1575
|
||||||
|
2 3.1575
|
||||||
|
3 3.1575
|
||||||
|
4 3.1575
|
||||||
|
|
||||||
|
# Atom-ID, type, position, molecule-ID, ellipsoid flag, density
|
||||||
|
Atoms
|
||||||
|
|
||||||
|
1 1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 1 1 1
|
||||||
|
2 1 1.327449326686445e-01 -4.291282797802268e-01 3.750616346940281e-01 1 1 1
|
||||||
|
3 1 4.846081065977281e-01 -7.083497053350921e-01 7.501232693880562e-01 1 1 1
|
||||||
|
4 1 9.326735919667459e-01 -7.401241994674285e-01 1.125184904082084e+00 1 1 1
|
||||||
|
5 1 1.320419223811347e+00 -5.133520172188747e-01 1.500246538776112e+00 1 1 1
|
||||||
|
6 1 1.512394297416339e+00 -1.072512061254991e-01 1.875308173470140e+00 1 1 1
|
||||||
|
7 1 1.441536396413952e+00 3.363155369040876e-01 2.250369808164169e+00 1 1 1
|
||||||
|
8 1 1.132598224218932e+00 6.623975870343269e-01 2.625431442858197e+00 1 1 1
|
||||||
|
9 4 5.873264080332541e-01 7.401241994674285e-01 1.125184904082084e+00 1 1 1
|
||||||
|
10 4 1.035391893402272e+00 7.083497053350921e-01 7.501232693880562e-01 1 1 1
|
||||||
|
11 4 1.387255067331356e+00 4.291282797802267e-01 3.750616346940281e-01 1 1 1
|
||||||
|
12 4 1.520000000000000e+00 1.260981291332700e-33 0.000000000000000e+00 1 1 1
|
||||||
|
13 4 3.874017757810680e-01 -6.623975870343268e-01 2.625431442858197e+00 1 1 1
|
||||||
|
14 4 7.846360358604798e-02 -3.363155369040874e-01 2.250369808164169e+00 1 1 1
|
||||||
|
15 4 7.605702583661333e-03 1.072512061254995e-01 1.875308173470140e+00 1 1 1
|
||||||
|
16 4 1.995807761886533e-01 5.133520172188748e-01 1.500246538776112e+00 1 1 1
|
||||||
|
|
||||||
|
# Atom-ID, translational, rotational velocity
|
||||||
|
Velocities
|
||||||
|
|
||||||
|
1 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
2 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
3 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
4 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
5 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
6 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
7 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
8 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
9 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
10 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
11 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
12 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
13 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
14 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
15 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
16 0.0 0.0 0.0 0.0 0.0 0.0
|
||||||
|
|
||||||
|
# Atom-ID, shape, quaternion
|
||||||
|
Ellipsoids
|
||||||
|
|
||||||
|
1 1.1739845031423408 1.1739845031423408 1.1739845031423408 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
|
||||||
|
2 1.1739845031423408 1.1739845031423408 1.1739845031423408 9.553364891256060e-01 0.000000000000000e+00 0.000000000000000e+00 2.955202066613395e-01
|
||||||
|
3 1.1739845031423408 1.1739845031423408 1.1739845031423408 8.253356149096783e-01 0.000000000000000e+00 0.000000000000000e+00 5.646424733950354e-01
|
||||||
|
4 1.1739845031423408 1.1739845031423408 1.1739845031423408 6.216099682706646e-01 0.000000000000000e+00 0.000000000000000e+00 7.833269096274833e-01
|
||||||
|
5 1.1739845031423408 1.1739845031423408 1.1739845031423408 3.623577544766736e-01 0.000000000000000e+00 0.000000000000000e+00 9.320390859672263e-01
|
||||||
|
6 1.1739845031423408 1.1739845031423408 1.1739845031423408 7.073720166770291e-02 0.000000000000000e+00 0.000000000000000e+00 9.974949866040544e-01
|
||||||
|
7 1.1739845031423408 1.1739845031423408 1.1739845031423408 -2.272020946930869e-01 -0.000000000000000e+00 0.000000000000000e+00 9.738476308781953e-01
|
||||||
|
8 1.1739845031423408 1.1739845031423408 1.1739845031423408 -5.048461045998575e-01 -0.000000000000000e+00 0.000000000000000e+00 8.632093666488738e-01
|
||||||
|
9 1.1739845031423408 1.1739845031423408 1.1739845031423408 4.796493962806427e-17 7.833269096274833e-01 -6.216099682706646e-01 3.806263289803786e-17
|
||||||
|
10 1.1739845031423408 1.1739845031423408 1.1739845031423408 5.707093416549944e-17 5.646424733950354e-01 -8.253356149096784e-01 2.218801320830406e-17
|
||||||
|
11 1.1739845031423408 1.1739845031423408 1.1739845031423408 6.107895212550935e-17 2.955202066613394e-01 -9.553364891256061e-01 4.331404380149668e-18
|
||||||
|
12 1.1739845031423408 1.1739845031423408 1.1739845031423408 5.963096920061075e-17 0.000000000000000e+00 -1.000000000000000e+00 -1.391211590127312e-17
|
||||||
|
13 1.1739845031423408 1.1739845031423408 1.1739845031423408 5.285632939302787e-17 8.632093666488739e-01 5.048461045998572e-01 -3.091290830301125e-17
|
||||||
|
14 1.1739845031423408 1.1739845031423408 1.1739845031423408 4.136019110019290e-17 9.738476308781953e-01 2.272020946930868e-01 -4.515234267244800e-17
|
||||||
|
15 1.1739845031423408 1.1739845031423408 1.1739845031423408 2.616947011741696e-17 9.974949866040544e-01 -7.073720166770313e-02 -5.535845274597425e-17
|
||||||
|
16 1.1739845031423408 1.1739845031423408 1.1739845031423408 8.641108308308281e-18 9.320390859672264e-01 -3.623577544766736e-01 -6.061955710708163e-17
|
||||||
|
|
||||||
|
# Bond-ID, type, atom pairs
|
||||||
|
Bonds
|
||||||
|
|
||||||
|
1 1 1 2
|
||||||
|
2 1 2 3
|
||||||
|
3 1 3 4
|
||||||
|
4 1 4 5
|
||||||
|
5 1 5 6
|
||||||
|
6 1 6 7
|
||||||
|
7 1 7 8
|
||||||
|
8 1 13 14
|
||||||
|
9 1 14 15
|
||||||
|
10 1 15 16
|
||||||
|
11 1 9 10
|
||||||
|
12 1 10 11
|
||||||
|
13 1 11 12
|
||||||
75
examples/USER/cgdna/examples/duplex2/input.duplex2
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
variable number equal 2
|
||||||
|
variable ofreq equal 1000
|
||||||
|
variable efreq equal 1000
|
||||||
|
|
||||||
|
units lj
|
||||||
|
|
||||||
|
dimension 3
|
||||||
|
|
||||||
|
newton off
|
||||||
|
|
||||||
|
boundary p p p
|
||||||
|
|
||||||
|
atom_style hybrid bond ellipsoid
|
||||||
|
atom_modify sort 0 1.0
|
||||||
|
|
||||||
|
# Pair interactions require lists of neighbours to be calculated
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 1 delay 0 check yes
|
||||||
|
|
||||||
|
read_data data.duplex2
|
||||||
|
|
||||||
|
set atom * mass 3.1575
|
||||||
|
|
||||||
|
group all type 1 4
|
||||||
|
|
||||||
|
# oxDNA bond interactions - FENE backbone
|
||||||
|
bond_style oxdna_fene
|
||||||
|
bond_coeff * 2.0 0.25 0.7525
|
||||||
|
|
||||||
|
# oxDNA pair interactions
|
||||||
|
pair_style hybrid/overlay oxdna_excv oxdna_stk oxdna_hbond oxdna_xstk oxdna_coaxstk
|
||||||
|
pair_coeff * * oxdna_excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
|
||||||
|
pair_coeff * * oxdna_stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
|
||||||
|
pair_coeff * * oxdna_hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 1 4 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 2 3 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff * * oxdna_xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
|
||||||
|
pair_coeff * * oxdna_coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
|
||||||
|
|
||||||
|
# NVE ensemble
|
||||||
|
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
|
||||||
|
#fix 1 all nve/dot
|
||||||
|
|
||||||
|
timestep 1e-5
|
||||||
|
|
||||||
|
#comm_style tiled
|
||||||
|
#fix 3 all balance 10000 1.1 rcb
|
||||||
|
|
||||||
|
#compute mol all chunk/atom molecule
|
||||||
|
#compute mychunk all vcm/chunk mol
|
||||||
|
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
|
||||||
|
|
||||||
|
dump pos all xyz ${ofreq} traj.${number}.xyz
|
||||||
|
|
||||||
|
compute quat all property/atom quatw quati quatj quatk
|
||||||
|
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
|
||||||
|
dump_modify quat sort id
|
||||||
|
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
compute erot all erotate/asphere
|
||||||
|
compute ekin all ke
|
||||||
|
compute epot all pe
|
||||||
|
variable erot equal c_erot
|
||||||
|
variable ekin equal c_ekin
|
||||||
|
variable epot equal c_epot
|
||||||
|
variable etot equal c_erot+c_ekin+c_epot
|
||||||
|
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
|
||||||
|
|
||||||
|
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
|
||||||
|
dump_modify out sort id
|
||||||
|
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
run 1000000
|
||||||
|
|
||||||
|
#write_restart config.${number}.*
|
||||||
1161
examples/USER/cgdna/examples/duplex2/log.9Jan17.duplex2.g++.1
Normal file
1161
examples/USER/cgdna/examples/duplex2/log.9Jan17.duplex2.g++.4
Normal file
388
examples/USER/cgdna/util/generate_input.py
Normal file
@ -0,0 +1,388 @@
|
|||||||
|
# Setup tool for oxDNA input in LAMMPS format.
|
||||||
|
|
||||||
|
import math,numpy as np,sys,os
|
||||||
|
|
||||||
|
# system size
|
||||||
|
lxmin = -115.0
|
||||||
|
lxmax = +115.0
|
||||||
|
lymin = -115.0
|
||||||
|
lymax = +115.0
|
||||||
|
lzmin = -115.0
|
||||||
|
lzmax = +115.0
|
||||||
|
|
||||||
|
# rise in z-direction
|
||||||
|
r0 = 0.7
|
||||||
|
|
||||||
|
# definition of single untwisted strand
|
||||||
|
def single():
|
||||||
|
|
||||||
|
strand = inp[1].split(':')
|
||||||
|
|
||||||
|
com_start=strand[0].split(',')
|
||||||
|
|
||||||
|
posx=float(com_start[0])
|
||||||
|
posy=float(com_start[1])
|
||||||
|
posz=float(com_start[2])
|
||||||
|
risex=0
|
||||||
|
risey=0
|
||||||
|
risez=r0
|
||||||
|
|
||||||
|
strandstart=len(nucleotide)+1
|
||||||
|
|
||||||
|
for letter in strand[2]:
|
||||||
|
temp=[]
|
||||||
|
|
||||||
|
temp.append(nt2num[letter])
|
||||||
|
temp.append([posx,posy,posz])
|
||||||
|
vel=[0,0,0,0,0,0]
|
||||||
|
temp.append(vel)
|
||||||
|
temp.append(shape)
|
||||||
|
|
||||||
|
quat=[1,0,0,0]
|
||||||
|
temp.append(quat)
|
||||||
|
|
||||||
|
posx=posx+risex
|
||||||
|
posy=posy+risey
|
||||||
|
posz=posz+risez
|
||||||
|
|
||||||
|
if (len(nucleotide)+1 > strandstart):
|
||||||
|
topology.append([1,len(nucleotide),len(nucleotide)+1])
|
||||||
|
|
||||||
|
nucleotide.append(temp)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
# definition of single twisted strand
|
||||||
|
def single_helix():
|
||||||
|
|
||||||
|
strand = inp[1].split(':')
|
||||||
|
|
||||||
|
com_start=strand[0].split(',')
|
||||||
|
twist=float(strand[1])
|
||||||
|
|
||||||
|
posx = float(com_start[0])
|
||||||
|
posy = float(com_start[1])
|
||||||
|
posz = float(com_start[2])
|
||||||
|
risex=0
|
||||||
|
risey=0
|
||||||
|
risez=math.sqrt(r0**2-4.0*math.sin(0.5*twist)**2)
|
||||||
|
|
||||||
|
dcomh=0.76
|
||||||
|
axisx=dcomh + posx
|
||||||
|
axisy=posy
|
||||||
|
|
||||||
|
strandstart=len(nucleotide)+1
|
||||||
|
quat=[1,0,0,0]
|
||||||
|
|
||||||
|
qrot0=math.cos(0.5*twist)
|
||||||
|
qrot1=0
|
||||||
|
qrot2=0
|
||||||
|
qrot3=math.sin(0.5*twist)
|
||||||
|
|
||||||
|
for letter in strand[2]:
|
||||||
|
temp=[]
|
||||||
|
|
||||||
|
temp.append(nt2num[letter])
|
||||||
|
temp.append([posx,posy,posz])
|
||||||
|
vel=[0,0,0,0,0,0]
|
||||||
|
temp.append(vel)
|
||||||
|
temp.append(shape)
|
||||||
|
|
||||||
|
temp.append(quat)
|
||||||
|
|
||||||
|
quat0 = quat[0]*qrot0 - quat[1]*qrot1 - quat[2]*qrot2 - quat[3]*qrot3
|
||||||
|
quat1 = quat[0]*qrot1 + quat[1]*qrot0 + quat[2]*qrot3 - quat[3]*qrot2
|
||||||
|
quat2 = quat[0]*qrot2 + quat[2]*qrot0 + quat[3]*qrot1 - quat[1]*qrot3
|
||||||
|
quat3 = quat[0]*qrot3 + quat[3]*qrot0 + quat[1]*qrot2 + quat[2]*qrot1
|
||||||
|
|
||||||
|
quat = [quat0,quat1,quat2,quat3]
|
||||||
|
|
||||||
|
posx=axisx - dcomh*(quat[0]**2+quat[1]**2-quat[2]**2-quat[3]**2)
|
||||||
|
posy=axisy - dcomh*(2*(quat[1]*quat[2]+quat[0]*quat[3]))
|
||||||
|
posz=posz+risez
|
||||||
|
|
||||||
|
if (len(nucleotide)+1 > strandstart):
|
||||||
|
topology.append([1,len(nucleotide),len(nucleotide)+1])
|
||||||
|
|
||||||
|
nucleotide.append(temp)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
# definition of twisted duplex
|
||||||
|
def duplex():
|
||||||
|
|
||||||
|
strand = inp[1].split(':')
|
||||||
|
|
||||||
|
com_start=strand[0].split(',')
|
||||||
|
twist=float(strand[1])
|
||||||
|
|
||||||
|
compstrand=[]
|
||||||
|
comptopo=[]
|
||||||
|
|
||||||
|
posx1 = float(com_start[0])
|
||||||
|
posy1 = float(com_start[1])
|
||||||
|
posz1 = float(com_start[2])
|
||||||
|
|
||||||
|
risex=0
|
||||||
|
risey=0
|
||||||
|
risez=math.sqrt(r0**2-4.0*math.sin(0.5*twist)**2)
|
||||||
|
|
||||||
|
dcomh=0.76
|
||||||
|
axisx=dcomh + posx1
|
||||||
|
axisy=posy1
|
||||||
|
|
||||||
|
posx2 = axisx + dcomh
|
||||||
|
posy2 = posy1
|
||||||
|
posz2 = posz1
|
||||||
|
|
||||||
|
strandstart=len(nucleotide)+1
|
||||||
|
|
||||||
|
quat1=[1,0,0,0]
|
||||||
|
quat2=[0,0,-1,0]
|
||||||
|
|
||||||
|
qrot0=math.cos(0.5*twist)
|
||||||
|
qrot1=0
|
||||||
|
qrot2=0
|
||||||
|
qrot3=math.sin(0.5*twist)
|
||||||
|
|
||||||
|
for letter in strand[2]:
|
||||||
|
temp1=[]
|
||||||
|
temp2=[]
|
||||||
|
|
||||||
|
temp1.append(nt2num[letter])
|
||||||
|
temp2.append(compnt2num[letter])
|
||||||
|
|
||||||
|
temp1.append([posx1,posy1,posz1])
|
||||||
|
temp2.append([posx2,posy2,posz2])
|
||||||
|
|
||||||
|
vel=[0,0,0,0,0,0]
|
||||||
|
temp1.append(vel)
|
||||||
|
temp2.append(vel)
|
||||||
|
|
||||||
|
temp1.append(shape)
|
||||||
|
temp2.append(shape)
|
||||||
|
|
||||||
|
temp1.append(quat1)
|
||||||
|
temp2.append(quat2)
|
||||||
|
|
||||||
|
quat1_0 = quat1[0]*qrot0 - quat1[1]*qrot1 - quat1[2]*qrot2 - quat1[3]*qrot3
|
||||||
|
quat1_1 = quat1[0]*qrot1 + quat1[1]*qrot0 + quat1[2]*qrot3 - quat1[3]*qrot2
|
||||||
|
quat1_2 = quat1[0]*qrot2 + quat1[2]*qrot0 + quat1[3]*qrot1 - quat1[1]*qrot3
|
||||||
|
quat1_3 = quat1[0]*qrot3 + quat1[3]*qrot0 + quat1[1]*qrot2 + quat1[2]*qrot1
|
||||||
|
|
||||||
|
quat1 = [quat1_0,quat1_1,quat1_2,quat1_3]
|
||||||
|
|
||||||
|
posx1=axisx - dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
|
||||||
|
posy1=axisy - dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
|
||||||
|
posz1=posz1+risez
|
||||||
|
|
||||||
|
quat2_0 = quat2[0]*qrot0 - quat2[1]*qrot1 - quat2[2]*qrot2 + quat2[3]*qrot3
|
||||||
|
quat2_1 = quat2[0]*qrot1 + quat2[1]*qrot0 - quat2[2]*qrot3 - quat2[3]*qrot2
|
||||||
|
quat2_2 = quat2[0]*qrot2 + quat2[2]*qrot0 + quat2[3]*qrot1 + quat2[1]*qrot3
|
||||||
|
quat2_3 =-quat2[0]*qrot3 + quat2[3]*qrot0 + quat2[1]*qrot2 + quat2[2]*qrot1
|
||||||
|
|
||||||
|
quat2 = [quat2_0,quat2_1,quat2_2,quat2_3]
|
||||||
|
|
||||||
|
posx2=axisx + dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
|
||||||
|
posy2=axisy + dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
|
||||||
|
posz2=posz1
|
||||||
|
|
||||||
|
if (len(nucleotide)+1 > strandstart):
|
||||||
|
topology.append([1,len(nucleotide),len(nucleotide)+1])
|
||||||
|
comptopo.append([1,len(nucleotide)+len(strand[2]),len(nucleotide)+len(strand[2])+1])
|
||||||
|
|
||||||
|
nucleotide.append(temp1)
|
||||||
|
compstrand.append(temp2)
|
||||||
|
|
||||||
|
for ib in range(len(compstrand)):
|
||||||
|
nucleotide.append(compstrand[len(compstrand)-1-ib])
|
||||||
|
|
||||||
|
for ib in range(len(comptopo)):
|
||||||
|
topology.append(comptopo[ib])
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
# definition of array of duplexes
|
||||||
|
def duplex_array():
|
||||||
|
|
||||||
|
strand = inp[1].split(':')
|
||||||
|
number=strand[0].split(',')
|
||||||
|
posz1_0 = float(strand[1])
|
||||||
|
twist=float(strand[2])
|
||||||
|
|
||||||
|
nx = int(number[0])
|
||||||
|
ny = int(number[1])
|
||||||
|
|
||||||
|
dx = (lxmax-lxmin)/nx
|
||||||
|
dy = (lymax-lymin)/ny
|
||||||
|
|
||||||
|
risex=0
|
||||||
|
risey=0
|
||||||
|
risez=math.sqrt(r0**2-4.0*math.sin(0.5*twist)**2)
|
||||||
|
dcomh=0.76
|
||||||
|
|
||||||
|
for ix in range(nx):
|
||||||
|
|
||||||
|
axisx=lxmin + dx/2 + ix * dx
|
||||||
|
|
||||||
|
for iy in range(ny):
|
||||||
|
|
||||||
|
axisy=lymin + dy/2 + iy * dy
|
||||||
|
|
||||||
|
compstrand=[]
|
||||||
|
comptopo=[]
|
||||||
|
|
||||||
|
posx1 = axisx - dcomh
|
||||||
|
posy1 = axisy
|
||||||
|
posz1 = posz1_0
|
||||||
|
|
||||||
|
posx2 = axisx + dcomh
|
||||||
|
posy2 = posy1
|
||||||
|
posz2 = posz1
|
||||||
|
|
||||||
|
strandstart=len(nucleotide)+1
|
||||||
|
quat1=[1,0,0,0]
|
||||||
|
quat2=[0,0,-1,0]
|
||||||
|
|
||||||
|
qrot0=math.cos(0.5*twist)
|
||||||
|
qrot1=0
|
||||||
|
qrot2=0
|
||||||
|
qrot3=math.sin(0.5*twist)
|
||||||
|
|
||||||
|
for letter in strand[3]:
|
||||||
|
temp1=[]
|
||||||
|
temp2=[]
|
||||||
|
|
||||||
|
temp1.append(nt2num[letter])
|
||||||
|
temp2.append(compnt2num[letter])
|
||||||
|
|
||||||
|
temp1.append([posx1,posy1,posz1])
|
||||||
|
temp2.append([posx2,posy2,posz2])
|
||||||
|
|
||||||
|
vel=[0,0,0,0,0,0]
|
||||||
|
temp1.append(vel)
|
||||||
|
temp2.append(vel)
|
||||||
|
|
||||||
|
temp1.append(shape)
|
||||||
|
temp2.append(shape)
|
||||||
|
|
||||||
|
temp1.append(quat1)
|
||||||
|
temp2.append(quat2)
|
||||||
|
|
||||||
|
quat1_0 = quat1[0]*qrot0 - quat1[1]*qrot1 - quat1[2]*qrot2 - quat1[3]*qrot3
|
||||||
|
quat1_1 = quat1[0]*qrot1 + quat1[1]*qrot0 + quat1[2]*qrot3 - quat1[3]*qrot2
|
||||||
|
quat1_2 = quat1[0]*qrot2 + quat1[2]*qrot0 + quat1[3]*qrot1 - quat1[1]*qrot3
|
||||||
|
quat1_3 = quat1[0]*qrot3 + quat1[3]*qrot0 + quat1[1]*qrot2 + quat1[2]*qrot1
|
||||||
|
|
||||||
|
quat1 = [quat1_0,quat1_1,quat1_2,quat1_3]
|
||||||
|
|
||||||
|
posx1=axisx - dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
|
||||||
|
posy1=axisy - dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
|
||||||
|
posz1=posz1+risez
|
||||||
|
|
||||||
|
quat2_0 = quat2[0]*qrot0 - quat2[1]*qrot1 - quat2[2]*qrot2 + quat2[3]*qrot3
|
||||||
|
quat2_1 = quat2[0]*qrot1 + quat2[1]*qrot0 - quat2[2]*qrot3 - quat2[3]*qrot2
|
||||||
|
quat2_2 = quat2[0]*qrot2 + quat2[2]*qrot0 + quat2[3]*qrot1 + quat2[1]*qrot3
|
||||||
|
quat2_3 =-quat2[0]*qrot3 + quat2[3]*qrot0 + quat2[1]*qrot2 + quat2[2]*qrot1
|
||||||
|
|
||||||
|
quat2 = [quat2_0,quat2_1,quat2_2,quat2_3]
|
||||||
|
|
||||||
|
posx2=axisx + dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
|
||||||
|
posy2=axisy + dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
|
||||||
|
posz2=posz1
|
||||||
|
|
||||||
|
if (len(nucleotide)+1 > strandstart):
|
||||||
|
topology.append([1,len(nucleotide),len(nucleotide)+1])
|
||||||
|
comptopo.append([1,len(nucleotide)+len(strand[3]),len(nucleotide)+len(strand[3])+1])
|
||||||
|
|
||||||
|
nucleotide.append(temp1)
|
||||||
|
compstrand.append(temp2)
|
||||||
|
|
||||||
|
for ib in range(len(compstrand)):
|
||||||
|
nucleotide.append(compstrand[len(compstrand)-1-ib])
|
||||||
|
|
||||||
|
for ib in range(len(comptopo)):
|
||||||
|
topology.append(comptopo[ib])
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
# main part
|
||||||
|
nt2num = {'A':1, 'C':2, 'G':3, 'T':4}
|
||||||
|
compnt2num = {'T':1, 'G':2, 'C':3, 'A':4}
|
||||||
|
shape = [1.1739845031423408,1.1739845031423408,1.1739845031423408]
|
||||||
|
|
||||||
|
nucleotide=[]
|
||||||
|
topology=[]
|
||||||
|
|
||||||
|
seqfile = open(sys.argv[1],'r')
|
||||||
|
|
||||||
|
# process sequence file line by line
|
||||||
|
for line in seqfile:
|
||||||
|
|
||||||
|
inp = line.split()
|
||||||
|
if inp[0] == 'single':
|
||||||
|
single()
|
||||||
|
if inp[0] == 'single_helix':
|
||||||
|
single_helix()
|
||||||
|
if inp[0] == 'duplex':
|
||||||
|
duplex()
|
||||||
|
if inp[0] == 'duplex_array':
|
||||||
|
duplex_array()
|
||||||
|
|
||||||
|
# output atom data in LAMMPS format
|
||||||
|
out = open(sys.argv[2],'w')
|
||||||
|
|
||||||
|
out.write('# LAMMPS data file\n')
|
||||||
|
out.write('%d atoms\n' % len(nucleotide))
|
||||||
|
out.write('%d ellipsoids\n' % len(nucleotide))
|
||||||
|
out.write('%d bonds\n' % len(topology))
|
||||||
|
out.write('\n')
|
||||||
|
out.write('4 atom types\n')
|
||||||
|
out.write('1 bond types\n')
|
||||||
|
out.write('\n')
|
||||||
|
out.write('# System size\n')
|
||||||
|
out.write('%f %f xlo xhi\n' % (lxmin,lxmax))
|
||||||
|
out.write('%f %f ylo yhi\n' % (lymin,lymax))
|
||||||
|
out.write('%f %f zlo zhi\n' % (lzmin,lzmax))
|
||||||
|
out.write('\n')
|
||||||
|
out.write('Masses\n')
|
||||||
|
out.write('\n')
|
||||||
|
out.write('1 3.1575\n')
|
||||||
|
out.write('2 3.1575\n')
|
||||||
|
out.write('3 3.1575\n')
|
||||||
|
out.write('4 3.1575\n')
|
||||||
|
|
||||||
|
out.write('\n')
|
||||||
|
out.write('# Atom-ID, type, position, molecule-ID, ellipsoid flag, density\n')
|
||||||
|
out.write('Atoms\n')
|
||||||
|
out.write('\n')
|
||||||
|
for ib in range(len(nucleotide)):
|
||||||
|
out.write("%d %d %22.16le %22.16le %22.16le 1 1 1\n" % (ib+1,nucleotide[ib][0],nucleotide[ib][1][0],nucleotide[ib][1][1],nucleotide[ib][1][2]))
|
||||||
|
|
||||||
|
out.write('\n')
|
||||||
|
out.write('# Atom-ID, translational, rotational velocity\n')
|
||||||
|
out.write('Velocities\n')
|
||||||
|
out.write('\n')
|
||||||
|
for ib in range(len(nucleotide)):
|
||||||
|
out.write("%d %22.16le %22.16le %22.16le %22.16le %22.16le %22.16le\n" % (ib+1,nucleotide[ib][2][0],nucleotide[ib][2][1],nucleotide[ib][2][2],nucleotide[ib][2][3],nucleotide[ib][2][4],nucleotide[ib][2][5]))
|
||||||
|
|
||||||
|
out.write('\n')
|
||||||
|
out.write('# Atom-ID, shape, quaternion\n')
|
||||||
|
out.write('Ellipsoids\n')
|
||||||
|
out.write('\n')
|
||||||
|
for ib in range(len(nucleotide)):
|
||||||
|
out.write("%d %22.16le %22.16le %22.16le %22.16le %22.16le %22.16le %22.16le\n" % (ib+1,nucleotide[ib][3][0],nucleotide[ib][3][1],nucleotide[ib][3][2],nucleotide[ib][4][0],nucleotide[ib][4][1],nucleotide[ib][4][2],nucleotide[ib][4][3]))
|
||||||
|
|
||||||
|
out.write('\n')
|
||||||
|
out.write('# Bond topology\n')
|
||||||
|
out.write('Bonds\n')
|
||||||
|
out.write('\n')
|
||||||
|
for ib in range(len(topology)):
|
||||||
|
out.write("%d %d %d %d\n" % (ib+1,topology[ib][0],topology[ib][1],topology[ib][2]))
|
||||||
|
|
||||||
|
out.close()
|
||||||
|
|
||||||
|
seqfile.close()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
77
examples/USER/cgdna/util/input.ref
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
variable number equal 8
|
||||||
|
variable ofreq equal 1000
|
||||||
|
variable efreq equal 1000
|
||||||
|
|
||||||
|
units lj
|
||||||
|
|
||||||
|
dimension 3
|
||||||
|
|
||||||
|
newton off
|
||||||
|
|
||||||
|
processors 1 1 1
|
||||||
|
|
||||||
|
boundary p p p
|
||||||
|
|
||||||
|
atom_style hybrid bond ellipsoid
|
||||||
|
atom_modify sort 0 1.0
|
||||||
|
|
||||||
|
# Pair interactions require lists of neighbours to be calculated
|
||||||
|
neighbor 1.0 bin
|
||||||
|
neigh_modify every 1 delay 0 check yes
|
||||||
|
|
||||||
|
read_data data.duplex2
|
||||||
|
|
||||||
|
set atom * mass 3.1575
|
||||||
|
|
||||||
|
group all type 1 4
|
||||||
|
|
||||||
|
# oxDNA bond interactions - FENE backbone
|
||||||
|
bond_style oxdna_fene
|
||||||
|
bond_coeff * 2.0 0.25 0.7525
|
||||||
|
|
||||||
|
# oxDNA pair interactions
|
||||||
|
pair_style hybrid/overlay oxdna_excv oxdna_stk oxdna_hbond oxdna_xstk oxdna_coaxstk
|
||||||
|
pair_coeff * * oxdna_excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
|
||||||
|
pair_coeff * * oxdna_stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
|
||||||
|
pair_coeff * * oxdna_hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 1 4 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff 2 3 oxdna_hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||||
|
pair_coeff * * oxdna_xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
|
||||||
|
pair_coeff * * oxdna_coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
|
||||||
|
|
||||||
|
# NVE ensemble
|
||||||
|
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
|
||||||
|
fix 1 all nve/dot
|
||||||
|
|
||||||
|
timestep 1e-5
|
||||||
|
|
||||||
|
#comm_style tiled
|
||||||
|
#fix 3 all balance 10000 1.1 rcb
|
||||||
|
|
||||||
|
#compute mol all chunk/atom molecule
|
||||||
|
#compute mychunk all vcm/chunk mol
|
||||||
|
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
|
||||||
|
|
||||||
|
#dump pos all xyz ${ofreq} traj.${number}.xyz
|
||||||
|
|
||||||
|
#compute quat all property/atom quatw quati quatj quatk
|
||||||
|
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
|
||||||
|
#dump_modify quat sort id
|
||||||
|
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
compute erot all erotate/asphere
|
||||||
|
compute ekin all ke
|
||||||
|
compute epot all pe
|
||||||
|
variable erot equal c_erot
|
||||||
|
variable ekin equal c_ekin
|
||||||
|
variable epot equal c_epot
|
||||||
|
variable etot equal c_erot+c_ekin+c_epot
|
||||||
|
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
|
||||||
|
|
||||||
|
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
|
||||||
|
dump_modify out sort id
|
||||||
|
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
|
||||||
|
|
||||||
|
run 1000000
|
||||||
|
|
||||||
|
#write_restart config.${number}.*
|
||||||
4
examples/USER/cgdna/util/sequence.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
single 0,0,0:0.6:AAAAA
|
||||||
|
single_helix 0,0,0:0.6:AAAAA
|
||||||
|
duplex 0,0,0:0.6:AAAAA
|
||||||
|
duplex_array 10,10:-112.0:0.6:AAAAA
|
||||||
@ -35,129 +35,133 @@ thermo_modify format float %24.16f
|
|||||||
|
|
||||||
run 1000
|
run 1000
|
||||||
Neighbor list info ...
|
Neighbor list info ...
|
||||||
1 neighbor list requests
|
|
||||||
update every 1 steps, delay 0 steps, check no
|
update every 1 steps, delay 0 steps, check no
|
||||||
max neighbors/atom: 2000, page size: 100000
|
max neighbors/atom: 2000, page size: 100000
|
||||||
master list distance cutoff = 10.6
|
master list distance cutoff = 10.6
|
||||||
ghost atom cutoff = 10.6
|
ghost atom cutoff = 10.6
|
||||||
binsize = 5.3 -> bins = 25 25 25
|
binsize = 5.3, bins = 25 25 25
|
||||||
Memory usage per processor = 3.36353 Mbytes
|
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]
|
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
|
0 301.4391322267262012 1636.1776395935080473 1188.6488072196075336 394.4722035796053206 0.0000000000000000 15705.1203749972210062 17288.2413857964347699 299.9999999999841407
|
||||||
10 301.4791572483523510 1486.4422375141198245 1188.7147620806101713 394.5245815119678241 7852.5601874999802021 7852.3731942333779443 17288.1727253259377903 299.9960221120699089
|
10 301.4791572483523510 1486.4422375141214161 1188.7147620806101713 394.5245815119678241 0.0000000000000000 15704.9333817333845218 17288.1727253259632562 299.9960221120699089
|
||||||
20 301.4275643919337426 1677.9356110821624952 1188.7839634625399867 394.4570655673388728 7852.5601874999938445 7852.3711851933012440 17288.1724017231754260 299.9955485734552099
|
20 301.4275643919337995 1677.9356110821622678 1188.7839634625399867 394.4570655673389865 -0.0000000000000000 15704.9313726932996360 17288.1724017231790640 299.9955485734552667
|
||||||
30 301.2240988054542186 1452.7304951528931269 1188.8550809767796181 394.1908044563202225 7852.5601875000002110 7852.5679666239848302 17288.1740395570850524 299.9988968405210130
|
30 301.2240988054542186 1452.7304951528922174 1188.8550809767796181 394.1908044563202225 -0.0000000000000000 15705.1281541239713988 17288.1740395570705005 299.9988968405209562
|
||||||
40 301.1023506886409677 1527.9758363521380033 1188.9264527568634549 394.0314812537677653 7852.5601874999947540 7852.6574764573806533 17288.1755979680056043 300.0001694462812338
|
40 301.1023506886409109 1527.9758363521384581 1188.9264527568634549 394.0314812537677085 -0.0000000000000000 15705.2176639573335706 17288.1755979679655866 300.0001694462812907
|
||||||
50 301.0409654880461972 1597.1737251233498682 1188.9944523606982330 393.9511507566391515 7852.5601875000029395 7852.6700547249911324 17288.1758453423317405 299.9999653064982681
|
50 301.0409654880461972 1597.1737251233505503 1188.9944523606984603 393.9511507566391515 -0.0000000000000000 15705.2302422249904339 17288.1758453423281026 299.9999653064982112
|
||||||
60 301.2904978886139133 1610.8630327676828529 1189.0651026961211301 394.2776962691256131 7852.5601874999829306 7852.2734988976435488 17288.1764853628737910 299.9919857290491905
|
60 301.2904978886138565 1610.8630327676828529 1189.0651026961211301 394.2776962691255562 -0.0000000000000000 15704.8336863976528548 17288.1764853628992569 299.9919857290491905
|
||||||
70 300.8575037843163500 1489.3259312130880971 1189.1295686642290548 393.7110673208616731 7852.5601874999856591 7852.7707182199101226 17288.1715417049854295 300.0010992278233175
|
70 300.8575037843164068 1489.3259312130892340 1189.1295686642290548 393.7110673208617300 0.0000000000000000 15705.3309057198275696 17288.1715417049199459 300.0010992278232607
|
||||||
80 300.5955830326474825 1449.3896097889587509 1189.1880764967559116 393.3683100440913449 7852.5601875000411383 7853.0484238882281716 17288.1649979291178170 300.0059513551503301
|
80 300.5955830326474825 1449.3896097889576140 1189.1880764967559116 393.3683100440913449 -0.0000000000000000 15705.6086113882302016 17288.1649979290777992 300.0059513551502164
|
||||||
90 301.0092332775843147 1553.9266324350364812 1189.2470037925052111 393.9096250433288446 7852.5601875000420478 7852.4452067113825251 17288.1620230472581170 299.9940347326859182
|
90 301.0092332775843147 1553.9266324350371633 1189.2470037925056658 393.9096250433288446 -0.0000000000000000 15705.0053942113881931 17288.1620230472217372 299.9940347326859182
|
||||||
100 301.0478004479094238 1539.2270336322194453 1189.3010269201699884 393.9600951881690207 7852.5601875000074870 7852.3416236045995902 17288.1629332129450631 299.9916385566916119
|
100 301.0478004479094238 1539.2270336322201274 1189.3010269201699884 393.9600951881690207 -0.0000000000000000 15704.9018111045588739 17288.1629332128977694 299.9916385566916119
|
||||||
110 300.9609384905550087 1500.0429484565006533 1189.3524514939088021 393.8464250502817663 7852.5601874999983920 7852.4114980357189779 17288.1705620799075405 299.9925626482005327
|
110 300.9609384905550655 1500.0429484565015628 1189.3524514939088021 393.8464250502818231 -0.0000000000000000 15704.9716855356964516 17288.1705620798857126 299.9925626482006464
|
||||||
120 300.9625536631411933 1630.5065919443034090 1189.4006029528841282 393.8485387131115658 7852.5601875000575092 7852.3600810123671181 17288.1694101784196391 299.9911580775880680
|
120 300.9625536631413070 1630.5065919443020448 1189.4006029528841282 393.8485387131116795 0.0000000000000000 15704.9202685123345873 17288.1694101783286897 299.9911580775880680
|
||||||
130 301.0373750247310340 1539.2267307640183844 1189.4426173625224692 393.9464521696795032 7852.5601874999993015 7852.2178388309775983 17288.1670958631802932 299.9879581026651749
|
130 301.0373750247309772 1539.2267307640188392 1189.4426173625224692 393.9464521696794463 -0.0000000000000000 15704.7780263310032751 17288.1670958632057591 299.9879581026650044
|
||||||
140 300.7465104415114752 1550.8353679735087098 1189.4887352231000932 393.5658181350791551 7852.5601874999920256 7852.5559582333216895 17288.1706990914935886 299.9939749909034958
|
140 300.7465104415114183 1550.8353679735089372 1189.4887352231000932 393.5658181350790983 0.0000000000000000 15705.1161457332873397 17288.1706990914681228 299.9939749909034958
|
||||||
150 300.6667173911141617 1634.8987162883277051 1189.5368575067818711 393.4613985788388959 7852.5601874999920256 7852.6079668015609059 17288.1664103871735279 299.9946423938895350
|
150 300.6667173911142186 1634.8987162883267956 1189.5368575067818711 393.4613985788390096 0.0000000000000000 15705.1681543015274656 17288.1664103871480620 299.9946423938894213
|
||||||
160 300.4684731724562425 1462.9400882126803936 1189.5825022927965620 393.2019703048678707 7852.5601874999847496 7852.8265187980177870 17288.1711788956672535 299.9983600613423960
|
160 300.4684731724561857 1462.9400882126797114 1189.5825022927965620 393.2019703048678139 0.0000000000000000 15705.3867062980680203 17288.1711788957327371 299.9983600613422254
|
||||||
170 300.1439323338466920 1510.2352578813552100 1189.6305700279478970 392.7772665220106774 7852.5601874999802021 7853.2009671047335360 17288.1689911546709482 300.0051118582463232
|
170 300.1439323338466920 1510.2352578813547552 1189.6305700279476696 392.7772665220106774 -0.0000000000000000 15705.7611546046609874 17288.1689911546200165 300.0051118582463232
|
||||||
180 300.1074244553407198 1529.6307083879951279 1189.6764977580119194 392.7294912276224181 7852.5601874999729262 7853.2047509722533505 17288.1709274578606710 300.0047089238623812
|
180 300.1074244553407766 1529.6307083879964921 1189.6764977580119194 392.7294912276225318 -0.0000000000000000 15705.7649384723172261 17288.1709274579516205 300.0047089238623812
|
||||||
190 300.4193298066089142 1546.3205495807171701 1189.7172820166240399 393.1376598363699486 7852.5601874999847496 7852.7461854379371289 17288.1613147909156396 299.9954451643528728
|
190 300.4193298066088573 1546.3205495807169427 1189.7172820166242673 393.1376598363698349 0.0000000000000000 15705.3063729379555298 17288.1613147909483814 299.9954451643527022
|
||||||
200 300.3353919251508728 1532.5496449337254035 1189.7600175880224924 393.0278162310690391 7852.5601874999683787 7852.8107089913455638 17288.1587303104060993 299.9962707550171785
|
200 300.3353919251508728 1532.5496449337249487 1189.7600175880224924 393.0278162310690391 -0.0000000000000000 15705.3708964914076205 17288.1587303105006868 299.9962707550172922
|
||||||
210 300.3276568499739483 1504.8178651700843602 1189.7998299597820733 393.0176938818990493 7852.5601875000156724 7852.7810130200659842 17288.1587243617614149 299.9953436245502871
|
210 300.3276568499739483 1504.8178651700850423 1189.7998299597820733 393.0176938818990493 0.0000000000000000 15705.3412005200552812 17288.1587243617359491 299.9953436245502871
|
||||||
220 300.5768315696971626 1592.5896084568344122 1189.8391466344742184 393.3437713226064716 7852.5601875000329528 7852.4205574703573802 17288.1636629274726147 299.9880321846658831
|
220 300.5768315696972195 1592.5896084568353217 1189.8391466344739911 393.3437713226065284 -0.0000000000000000 15704.9807449702821032 17288.1636629273634753 299.9880321846658262
|
||||||
230 300.6587445618569063 1672.3049358942289473 1189.8766340798690635 393.4509650976162334 7852.5601874999847496 7852.2733199687863817 17288.1611066462573945 299.9848228571166828
|
230 300.6587445618569063 1672.3049358942282652 1189.8766340798690635 393.4509650976162334 0.0000000000000000 15704.8335074687693123 17288.1611066462537565 299.9848228571169102
|
||||||
240 300.7517707836825025 1527.1722267937811921 1189.9126240081129708 393.5727019751183207 7852.5601875000065775 7852.1160682173085661 17288.1615817005440476 299.9814952182625802
|
240 300.7517707836825025 1527.1722267937814195 1189.9126240081131982 393.5727019751183207 -0.0000000000000000 15704.6762557172896777 17288.1615817005222198 299.9814952182625802
|
||||||
250 300.8473715548367409 1589.1847713095248764 1189.9441342461948352 393.6978079843565865 7852.5601875000047585 7851.9625847797888127 17288.1647145103452203 299.9782210858571148
|
250 300.8473715548367409 1589.1847713095232848 1189.9441342461948352 393.6978079843565865 0.0000000000000000 15704.5227722798481409 17288.1647145103997900 299.9782210858571148
|
||||||
260 300.8450266408960942 1623.1896863377055524 1189.9636161513917614 393.6947393603111891 7852.5601874999820211 7851.9471828473988353 17288.1657258590821584 299.9775302202895659
|
260 300.8450266408959806 1623.1896863377055524 1189.9636161513917614 393.6947393603110186 0.0000000000000000 15704.5073703474117792 17288.1657258591149002 299.9775302202894522
|
||||||
270 300.6663619570709898 1564.5160171187899323 1189.9764081239700317 393.4609334472908131 7852.5601875000193104 7852.1708276117251444 17288.1683566830033669 299.9812899253168439
|
270 300.6663619570710466 1564.5160171187892502 1189.9764081239700317 393.4609334472908699 0.0000000000000000 15704.7310151116998895 17288.1683566829597112 299.9812899253167302
|
||||||
280 300.7668534205726019 1618.5400526904263643 1189.9872008155405183 393.5924395618274048 7852.5601875000184009 7852.0271568534708422 17288.1669847308585304 299.9781169783826158
|
280 300.7668534205727155 1618.5400526904256822 1189.9872008155405183 393.5924395618275184 0.0000000000000000 15704.5873443533891987 17288.1669847307566670 299.9781169783825590
|
||||||
290 300.8462727198648849 1562.6765776748122789 1189.9918265985252219 393.6963700162682471 7852.5601875000211294 7851.9189772084127981 17288.1673613232269417 299.9756806168044250
|
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 7852.5601875000020300 7851.9657301693578120 17288.1616122756749974 299.9761279889730758
|
300 300.8095414073812890 1525.1785808192844343 1189.9873922767767453 393.6483023295390922 0.0000000000000000 15704.5259176693853078 17288.1616122757004632 299.9761279889731327
|
||||||
310 300.9496330741350221 1566.5597234051326723 1189.9752299662607129 393.8316304464934774 7852.5601875000056680 7851.7898117189633922 17288.1568596317229094 299.9723726900590464
|
310 300.9496330741349652 1566.5597234051326723 1189.9752299662607129 393.8316304464933637 0.0000000000000000 15704.3499992189717887 17288.1568596317265474 299.9723726900589327
|
||||||
320 301.2370566356515837 1513.6869483705047514 1189.9626455872523820 394.2077614578674343 7852.5601874999929350 7851.4248466706330873 17288.1554412157456682 299.9650543775110236
|
320 301.2370566356514132 1513.6869483705036146 1189.9626455872523820 394.2077614578672069 0.0000000000000000 15703.9850341706151085 17288.1554412157347542 299.9650543775107394
|
||||||
330 301.3279721508968692 1549.0667862452519330 1189.9513389477854162 394.3267362020337146 7852.5601874999929350 7851.3129955581916875 17288.1512582080031279 299.9625537201162615
|
330 301.3279721508969260 1549.0667862452526151 1189.9513389477854162 394.3267362020338282 0.0000000000000000 15703.8731830581982649 17288.1512582080176799 299.9625537201162615
|
||||||
340 301.1145736537583844 1414.7930515101759283 1189.9408691169965095 394.0474765890400590 7852.5601874999993015 7851.6028846074832472 17288.1514178135184920 299.9677356565828745
|
340 301.1145736537582707 1414.7930515101757010 1189.9408691169962822 394.0474765890398885 0.0000000000000000 15704.1630721074998291 17288.1514178135366819 299.9677356565827040
|
||||||
350 301.1651600907370039 1529.8016115175887535 1189.9314470205476937 394.1136755032911196 7852.5601874999929350 7851.5441417268757505 17288.1494517507089768 299.9662576716461331
|
350 301.1651600907369470 1529.8016115175894356 1189.9314470205474663 394.1136755032910628 0.0000000000000000 15704.1043292268568621 17288.1494517506944248 299.9662576716459625
|
||||||
360 301.0550563185083206 1536.7721716375504002 1189.9200519814730796 393.9695904359920178 7852.5601875000074870 7851.7101209691463737 17288.1599508866202086 299.9690811750865009
|
360 301.0550563185083206 1536.7721716375513097 1189.9200519814730796 393.9695904359920178 0.0000000000000000 15704.2703084691693221 17288.1599508866347605 299.9690811750866146
|
||||||
370 301.1008976932964742 1522.3385843459479929 1189.9109162496640693 394.0295798208944120 7852.5601875000211294 7851.6603423306560217 17288.1610259012340975 299.9677565060027860
|
370 301.1008976932965311 1522.3385843459491298 1189.9109162496640693 394.0295798208944689 0.0000000000000000 15704.2205298306434997 17288.1610259012013557 299.9677565060027860
|
||||||
380 301.1656898730700505 1505.0548721701993600 1189.9005648244351505 394.1143687921909304 7852.5601875000056680 7851.5816827598300733 17288.1568038764598896 299.9659906785156522
|
380 301.1656898730701073 1505.0548721701995873 1189.9005648244356053 394.1143687921909873 -0.0000000000000000 15704.1418702597857191 17288.1568038764125959 299.9659906785157091
|
||||||
390 300.8379322662876802 1740.9151205755624687 1189.8851457594087151 393.6854554509390596 7852.5601875000238579 7852.0268864110385039 17288.1576751214088290 299.9741278188615752
|
390 300.8379322662877371 1740.9151205755633782 1189.8851457594089425 393.6854554509391164 -0.0000000000000000 15704.5870739109432179 17288.1576751212924137 299.9741278188614046
|
||||||
400 300.8663790447546376 1564.9461156870302148 1189.8690133470408909 393.7226817503372445 7852.5601875000411383 7852.0043792319993372 17288.1562618294192362 299.9732593416579789
|
400 300.8663790447545239 1564.9461156870302148 1189.8690133470406636 393.7226817503371308 0.0000000000000000 15704.5645667319495260 17288.1562618293282867 299.9732593416576947
|
||||||
410 300.6263441860635908 1564.2840871092373618 1189.8566574093877080 393.4085650033033517 7852.5601874999892971 7852.3284491703725507 17288.1538590830532485 299.9792095875052951
|
410 300.6263441860637045 1564.2840871092375892 1189.8566574093874806 393.4085650033035222 -0.0000000000000000 15704.8886366703736712 17288.1538590830641624 299.9792095875053519
|
||||||
420 300.5302259436974168 1438.1569922368764765 1189.8406936554465574 393.2827818158641549 7852.5601875000302243 7852.4696075433648730 17288.1532705147074012 299.9815165752025337
|
420 300.5302259436973031 1438.1569922368769312 1189.8406936554461026 393.2827818158640412 0.0000000000000000 15705.0297950433650840 17288.1532705146746594 299.9815165752024768
|
||||||
430 300.5877786105220935 1503.3641639033023694 1189.8251514530138593 393.3580969454444016 7852.5601874999802021 7852.4023373559457468 17288.1457732543858583 299.9798346272511935
|
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 7852.5601875000029395 7852.2436462415198548 17288.1501684339418716 299.9764596782897570
|
440 300.7289160804472772 1689.2527029957295781 1189.8035410609209066 393.5427936314976591 -0.0000000000000000 15704.8038337415237038 17288.1501684339418716 299.9764596782894728
|
||||||
450 300.9487198282456575 1497.3668092174791582 1189.7808137689632986 393.8304353457919547 7852.5601874999938445 7851.9788323927432430 17288.1502690074921702 299.9710227473042323
|
450 300.9487198282456006 1497.3668092174784761 1189.7808137689632986 393.8304353457918978 -0.0000000000000000 15704.5390198927143501 17288.1502690074703423 299.9710227473042323
|
||||||
460 300.9359942496024587 1625.1573864018491804 1189.7615359247627111 393.8137822755282400 7852.5601875000147629 7852.0165192783370003 17288.1520249786408385 299.9713565393226986
|
460 300.9359942496024019 1625.1573864018473614 1189.7615359247631659 393.8137822755281263 0.0000000000000000 15704.5767067783035600 17288.1520249785935448 299.9713565393225849
|
||||||
470 301.0000133856357252 1486.1561922844011860 1189.7439269526955741 393.8975596188205941 7852.5601874999656502 7851.9561324572268859 17288.1578065287103527 299.9697143418395626
|
470 301.0000133856357252 1486.1561922844020955 1189.7439269526958014 393.8975596188205941 0.0000000000000000 15704.5163199572089070 17288.1578065287249046 299.9697143418395058
|
||||||
480 300.8568627175957886 1535.6080526199095857 1189.7237810071801505 393.7102284019063063 7852.5601874999601932 7852.1697010727630186 17288.1638979818089865 299.9732503057674080
|
480 300.8568627175958454 1535.6080526199100404 1189.7237810071803779 393.7102284019064200 -0.0000000000000000 15704.7298885727686866 17288.1638979818562802 299.9732503057675785
|
||||||
490 301.0608040775520067 1497.3221544489886128 1189.7062242497636362 393.9771121242308709 7852.5601874999974825 7851.9258988739011329 17288.1694227478947141 299.9682362511933320
|
490 301.0608040775520067 1497.3221544489890675 1189.7062242497640909 393.9771121242308709 -0.0000000000000000 15704.4860863739140768 17288.1694227479092660 299.9682362511933889
|
||||||
500 301.0232592587148019 1517.5854528541199215 1189.6911287485861521 393.9279798589197981 7852.5601875000247674 7851.9823225510326665 17288.1616186585633841 299.9690333355835037
|
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 7852.5601874999674692 7852.4114869568047652 17288.1564424811294884 299.9768186576545759
|
510 300.7038579923685120 1420.2615974401142012 1189.6747661513456933 393.5100018730125839 -0.0000000000000000 15704.9716744568013382 17288.1564424811585923 299.9768186576548032
|
||||||
520 300.5917863355052759 1537.4862082427132464 1189.6604754398756540 393.3633415734188361 7852.5601875000029395 7852.5789017095057716 17288.1629062228021212 299.9795694302102333
|
520 300.5917863355052759 1537.4862082427125642 1189.6604754398761088 393.3633415734188361 -0.0000000000000000 15705.1390892093895673 17288.1629062226857059 299.9795694302102902
|
||||||
530 300.4751352158502868 1481.1071694751799441 1189.6453243069925065 393.2106884527691477 7852.5601874999811116 7852.7451655714066874 17288.1613658311471227 299.9823181268525900
|
530 300.4751352158504574 1481.1071694751785799 1189.6453243069920518 393.2106884527693751 -0.0000000000000000 15705.3053530714041699 17288.1613658311653126 299.9823181268525900
|
||||||
540 300.5380123640739498 1547.3461372766389559 1189.6261485232855648 393.2929713568877332 7852.5601875000375003 7852.6850583598352387 17288.1643657400454686 299.9808112190538623
|
540 300.5380123640739498 1547.3461372766387285 1189.6261485232855648 393.2929713568877332 0.0000000000000000 15705.2452458598490921 17288.1643657400236407 299.9808112190538623
|
||||||
550 300.4253885005187499 1544.3485889749692888 1189.6033595464525661 393.1455884232119047 7852.5601874999756546 7852.8598718466746504 17288.1690073163154011 299.9835860164698147
|
550 300.4253885005187499 1544.3485889749688340 1189.6033595464525661 393.1455884232119047 0.0000000000000000 15705.4200593467012368 17288.1690073163663328 299.9835860164698147
|
||||||
560 300.3263552442093101 1556.5150300058251105 1189.5759163336824713 393.0159905619273673 7852.5601875000111249 7853.0148613782675966 17288.1669557738860021 299.9861837797674866
|
560 300.3263552442091395 1556.5150300058239736 1189.5759163336820166 393.0159905619271399 0.0000000000000000 15705.5750488783432957 17288.1669557739514858 299.9861837797674298
|
||||||
570 300.1977324643196425 1511.2320626303917379 1189.5441090918316149 392.8476709710407704 7852.5601875000102154 7853.2098259401755058 17288.1617935030590161 299.9896761688499964
|
570 300.1977324643196994 1511.2320626303924200 1189.5441090918316149 392.8476709710408272 0.0000000000000000 15705.7700134401693504 17288.1617935030408262 299.9896761688500533
|
||||||
580 300.3543631005173893 1588.9566243200433746 1189.5094471319721379 393.0526424747489500 7852.5601875000156724 7853.0374555421631158 17288.1597326488990802 299.9859298211933378
|
580 300.3543631005173893 1588.9566243200420104 1189.5094471319723652 393.0526424747489500 -0.0000000000000000 15705.5976430422142585 17288.1597326489354600 299.9859298211932810
|
||||||
590 300.5019108864805730 1504.4406939723214691 1189.4809412920112663 393.2457278908070748 7852.5601874999874781 7852.8704277855340479 17288.1572844683396397 299.9823573257917815
|
590 300.5019108864805730 1504.4406939723210144 1189.4809412920112663 393.2457278908070748 -0.0000000000000000 15705.4306152855297114 17288.1572844683469157 299.9823573257918952
|
||||||
600 300.4791158523048011 1540.4690749004150803 1189.4551948503105905 393.2158976318902432 7852.5601875000220389 7852.9312239063838206 17288.1625038886049879 299.9832002920041987
|
600 300.4791158523048011 1540.4690749004137160 1189.4551948503108179 393.2158976318902432 0.0000000000000000 15705.4914114063831221 17288.1625038885831600 299.9832002920041418
|
||||||
610 300.5939139841889869 1368.0565839211087678 1189.4252547652590692 393.3661258776944578 7852.5601874999574648 7852.8130977336286378 17288.1646658765384927 299.9807742697515778
|
610 300.5939139841890437 1368.0565839211083130 1189.4252547652597514 393.3661258776945715 0.0000000000000000 15705.3732852337052464 17288.1646658766585460 299.9807742697515209
|
||||||
620 300.7674247480806002 1483.2566452708945235 1189.3941250938435132 393.5931872179773450 7852.5601875000193104 7852.6187967208716145 17288.1662965327122947 299.9766963671718258
|
620 300.7674247480806002 1483.2566452708929319 1189.3941250938437406 393.5931872179773450 0.0000000000000000 15705.1789842209145718 17288.1662965327341226 299.9766963671719395
|
||||||
630 300.7920034341021278 1543.0699124130637756 1189.3598279316649950 393.6253516166882491 7852.5601875000302243 7852.6219971866230480 17288.1673642350069713 299.9762538437230432
|
630 300.7920034341022415 1543.0699124130630935 1189.3598279316649950 393.6253516166883628 -0.0000000000000000 15705.1821846865786938 17288.1673642349305737 299.9762538437231001
|
||||||
640 300.8032734267029014 1423.2549819291616586 1189.3293074476885067 393.6400998638143278 7852.5601874999847496 7852.6384826097782934 17288.1680774212654796 299.9762118202994543
|
640 300.8032734267029014 1423.2549819291609765 1189.3293074476887341 393.6400998638143278 -0.0000000000000000 15705.1986701098048798 17288.1680774213091354 299.9762118202993975
|
||||||
650 300.7516995878241346 1542.6559695158523482 1189.3021161045705867 393.5726088061030055 7852.5601874999720167 7852.7361949473242930 17288.1711073579681397 299.9775656396505497
|
650 300.7516995878240209 1542.6559695158514387 1189.3021161045703593 393.5726088061028349 0.0000000000000000 15705.2963824473390559 17288.1711073580117954 299.9775656396504360
|
||||||
660 300.8699697098109596 1675.5121937767839881 1189.2687179804190691 393.7273806013013768 7852.5601874999802021 7852.6179739687149777 17288.1742600504148868 299.9750492262036801
|
660 300.8699697098108459 1675.5121937767842155 1189.2687179804192965 393.7273806013012063 0.0000000000000000 15705.1781614686860848 17288.1742600504076108 299.9750492262035095
|
||||||
670 301.0255004186900578 1520.7397686587873977 1189.2284265783687260 393.9309127074437242 7852.5601874999847496 7852.4592279727157802 17288.1787547585117863 299.9715123049731460
|
670 301.0255004186899441 1520.7397686587889893 1189.2284265783694082 393.9309127074436105 0.0000000000000000 15705.0194154727287241 17288.1787547585408902 299.9715123049731460
|
||||||
680 301.1071983488760679 1651.9751417063259851 1189.1858967311386550 394.0378250459656329 7852.5601875000002110 7852.3982826328638112 17288.1821919099675142 299.9699481289110850
|
680 301.1071983488761248 1651.9751417063253029 1189.1858967311388824 394.0378250459656897 0.0000000000000000 15704.9584701329349627 17288.1821919100402738 299.9699481289110281
|
||||||
690 301.0027086454253435 1496.1607274163641250 1189.1436949551202815 393.9010867158519886 7852.5601875000293148 7852.5788938360938118 17288.1838630070960789 299.9731939774295597
|
690 301.0027086454255141 1496.1607274163641250 1189.1436949551202815 393.9010867158522160 0.0000000000000000 15705.1390813360922039 17288.1838630070633371 299.9731939774292755
|
||||||
700 300.9009090279179759 1551.8182127127668082 1189.0993919251338866 393.7678687121208441 7852.5601875000102154 7852.7513665452252098 17288.1788146824910655 299.9761043445071209
|
700 300.9009090279178622 1551.8182127127668082 1189.0993919251338866 393.7678687121206735 -0.0000000000000000 15705.3115540452217829 17288.1788146824765136 299.9761043445070641
|
||||||
710 301.2325536720837817 1678.1546953970853338 1189.0528341066981284 394.2018687459686817 7852.5601874999956635 7852.3633298995819132 17288.1782202522445004 299.9683013583347133
|
710 301.2325536720837817 1678.1546953970841969 1189.0528341066981284 394.2018687459686817 0.0000000000000000 15704.9235173995584773 17288.1782202522263105 299.9683013583346565
|
||||||
720 301.2122298224125529 1524.1415452491430642 1189.0046957644285612 394.1752723525083866 7852.5601875000093059 7852.4351629896145823 17288.1753186065616319 299.9693315350040734
|
720 301.2122298224125529 1524.1415452491437463 1189.0046957644283339 394.1752723525083866 0.0000000000000000 15704.9953504895402148 17288.1753186064779584 299.9693315350040734
|
||||||
730 301.0763282392692304 1547.1987029633166912 1188.9602551214045434 393.9974275034455218 7852.5601874999883876 7852.6518053705112834 17288.1696754953518393 299.9732715774841267
|
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 7852.5601874999965730 7852.3694201272974169 17288.1672079966992897 299.9674666811455950
|
740 301.3262401480515109 1544.7045314021493141 1188.9131307177485724 394.3244696516559884 0.0000000000000000 15704.9296076272603386 17288.1672079966665478 299.9674666811455950
|
||||||
750 301.5740779122830304 1591.1785078054851965 1188.8637580645938669 394.6487975126887022 7852.5601875000029395 7852.0919529470393172 17288.1646960243233480 299.9616008527094095
|
750 301.5740779122830872 1591.1785078054849691 1188.8637580645940943 394.6487975126887591 0.0000000000000000 15704.6521404470349808 17288.1646960243160720 299.9616008527092959
|
||||||
760 301.4385361878654521 1547.3218422039201414 1188.8113669183098864 394.4714235854450521 7852.5601874999838401 7852.3161911124070684 17288.1591691161447670 299.9656339783694534
|
760 301.4385361878655658 1547.3218422039212783 1188.8113669183098864 394.4714235854451658 0.0000000000000000 15704.8763786124927719 17288.1591691162466304 299.9656339783693966
|
||||||
770 301.6110125684814420 1494.5039561806622714 1188.7581685915934031 394.6971313010439530 7852.5601875000083965 7852.1351720579104949 17288.1506594505553949 299.9619855799395509
|
770 301.6110125684815557 1494.5039561806624988 1188.7581685915934031 394.6971313010441236 0.0000000000000000 15704.6953595579507237 17288.1506594505881367 299.9619855799396646
|
||||||
780 301.8360352039435384 1588.1458619705292676 1188.7039178696472845 394.9916026067776329 7852.5601874999956635 7851.9015195838428554 17288.1572275602629816 299.9572350302977952
|
780 301.8360352039435384 1588.1458619705304045 1188.7039178696477393 394.9916026067776329 0.0000000000000000 15704.4617070838321524 17288.1572275602593436 299.9572350302976247
|
||||||
790 302.1008324754310479 1545.4409171812178556 1188.6491103416560691 395.3381241828382144 7852.5601875000138534 7851.6150048936624444 17288.1624269181702402 299.9513959104631340
|
790 302.1008324754310479 1545.4409171812180830 1188.6491103416560691 395.3381241828382144 0.0000000000000000 15704.1751923936917592 17288.1624269181847922 299.9513959104630771
|
||||||
800 301.9660372380565718 1563.9565804790736365 1188.5964649891604950 395.1617271307158035 7852.5601874999874781 7851.8461249560614306 17288.1645045759250934 299.9555810527747326
|
800 301.9660372380565718 1563.9565804790738639 1188.5964649891604950 395.1617271307158035 0.0000000000000000 15704.4063124560707365 17288.1645045759469212 299.9555810527747326
|
||||||
810 302.0507207347627627 1511.4560763489957935 1188.5468477146612258 395.2725464702810996 7852.5601875000120344 7851.7904104899025697 17288.1699921748586348 299.9541551776504775
|
810 302.0507207347627059 1511.4560763489960209 1188.5468477146607711 395.2725464702810427 0.0000000000000000 15704.3505979898400255 17288.1699921747822373 299.9541551776507617
|
||||||
820 302.4700213214911741 1458.5135514273570152 1188.4981381693974072 395.8212556746473751 7852.5601875000202199 7851.2935886962204677 17288.1731700402851857 299.9441803241180651
|
820 302.4700213214913447 1458.5135514273563331 1188.4981381693974072 395.8212556746476025 0.0000000000000000 15703.8537761962070363 17288.1731700402524439 299.9441803241177809
|
||||||
830 302.2853997979337350 1496.2544527963129894 1188.4496917372191547 395.5796544641875698 7852.5601875000447762 7851.5862641793482908 17288.1757978808018379 299.9494768794835977
|
830 302.2853997979336214 1496.2544527963145811 1188.4496917372191547 395.5796544641873993 0.0000000000000000 15704.1464516793694202 17288.1757978807763720 299.9494768794834840
|
||||||
840 302.0840465730901201 1518.8301331998704882 1188.3994383226176978 395.3161576523596636 7852.5601875000038490 7851.8962146812327774 17288.1719981562127941 299.9550476592922337
|
840 302.0840465730901201 1518.8301331998702608 1188.3994383226179252 395.3161576523596636 0.0000000000000000 15704.4564021812439023 17288.1719981562200701 299.9550476592922337
|
||||||
850 301.8910942560261788 1469.8827850510901953 1188.3489956121345585 395.0636545180261692 7852.5601874999829306 7852.2025804631493884 17288.1754180932912277 299.9606927700139067
|
850 301.8910942560260082 1469.8827850510904227 1188.3489956121347859 395.0636545180259986 0.0000000000000000 15704.7627679631386854 17288.1754180932985037 299.9606927700136794
|
||||||
860 301.7284384160519153 1657.6802015862324424 1188.3052233777652873 394.8507982536594341 7852.5601875000093059 7852.4644669022691232 17288.1806760337058222 299.9652835238809985
|
860 301.7284384160518016 1657.6802015862315329 1188.3052233777652873 394.8507982536592635 0.0000000000000000 15705.0246544022065791 17288.1806760336330626 299.9652835238807711
|
||||||
870 301.6331619894115192 1501.5829953208524330 1188.2628815714097072 394.7261166912876433 7852.5601875000202199 7852.6378180648598573 17288.1870038275774277 299.9682811831179379
|
870 301.6331619894114624 1501.5829953208508414 1188.2628815714099346 394.7261166912875865 0.0000000000000000 15705.1980055648327834 17288.1870038275301340 299.9682811831179947
|
||||||
880 301.3703918424367316 1499.1595903074553462 1188.2195190931643083 394.3822478705861272 7852.5601874999956635 7853.0266423250832304 17288.1885967888301820 299.9755099056966401
|
880 301.3703918424367316 1499.1595903074555736 1188.2195190931643083 394.3822478705861272 0.0000000000000000 15705.5868298250898079 17288.1885967888410960 299.9755099056964127
|
||||||
890 301.4157954313303662 1598.8758859042511631 1188.1845892608291706 394.4416643558612918 7852.5601875000065775 7853.0036606192506952 17288.1901017359487014 299.9745322513492738
|
890 301.4157954313303662 1598.8758859042509357 1188.1845892608291706 394.4416643558612918 0.0000000000000000 15705.5638481192290783 17288.1901017359195976 299.9745322513492738
|
||||||
900 301.4752150615485675 1621.2148728756822038 1188.1517520946135846 394.5194226492019993 7852.5601874999711072 7852.9579580608560718 17288.1893203046420240 299.9733125337182287
|
900 301.4752150615486812 1621.2148728756842502 1188.1517520946144941 394.5194226492021699 0.0000000000000000 15705.5181455608308170 17288.1893203046492999 299.9733125337182287
|
||||||
910 301.4308816315938770 1538.4823217911632582 1188.1159856659232901 394.4614066057066566 7852.5601875000002110 7853.0558695713261841 17288.1934493429580471 299.9748317405193916
|
910 301.4308816315937634 1538.4823217911621214 1188.1159856659228353 394.4614066057064861 0.0000000000000000 15705.6160570713091147 17288.1934493429398572 299.9748317405192779
|
||||||
920 301.4323110133492492 1594.7193046491217956 1188.0835779842032025 394.4632771371357762 7852.5601875000202199 7853.0942701464364291 17288.2013127677964803 299.9751127806911200
|
920 301.4323110133492492 1594.7193046491240693 1188.0835779842032025 394.4632771371357762 0.0000000000000000 15705.6544576464475540 17288.2013127677855664 299.9751127806913473
|
||||||
930 301.4801256941950101 1387.6885377097617038 1188.0464206196895702 394.5258488489681099 7852.5601875000229484 7853.0656502842994087 17288.1981072529815719 299.9740698440909910
|
930 301.4801256941949532 1387.6885377097596574 1188.0464206196900250 394.5258488489680531 0.0000000000000000 15705.6258377843460039 17288.1981072530033998 299.9740698440912183
|
||||||
940 301.8075611840245074 1534.2487040663793323 1188.0124217312886685 394.9543406584059539 7852.5601874999701977 7852.6729444202819650 17288.1998943099461030 299.9660570413493588
|
940 301.8075611840245074 1534.2487040663797870 1188.0124217312888959 394.9543406584059539 0.0000000000000000 15705.2331319202457962 17288.1998943099388271 299.9660570413491882
|
||||||
950 301.6915970126173647 1567.7725992489238251 1187.9790455470049437 394.8025864986412898 7852.5601875000274958 7852.8619557087595240 17288.2037752544347313 299.9694678653150959
|
950 301.6915970126175353 1567.7725992489226883 1187.9790455470049437 394.8025864986415172 0.0000000000000000 15705.4221432087451831 17288.2037752543910756 299.9694678653152096
|
||||||
960 301.6392594677008105 1504.8502165144939227 1187.9439133338105421 394.7340960325207675 7852.5601874999711072 7852.9728807988849439 17288.2110776651898050 299.9711546356286362
|
960 301.6392594677008105 1504.8502165144939227 1187.9439133338107695 394.7340960325207675 0.0000000000000000 15705.5330682989206252 17288.2110776652516506 299.9711546356285226
|
||||||
970 301.6049535791644303 1514.0198965433548892 1187.9094123369413865 394.6892023276233772 7852.5601874999765641 7853.0497909819878259 17288.2085931465298927 299.9722547114341751
|
970 301.6049535791644871 1514.0198965433535250 1187.9094123369409317 394.6892023276234909 0.0000000000000000 15705.6099784820144123 17288.2085931465771864 299.9722547114341751
|
||||||
980 301.2982841679705643 1634.1208149125807267 1187.8768454876480973 394.2878856256063500 7852.5601874999856591 7853.4862008383515786 17288.2111194515891839 299.9802110109069986
|
980 301.2982841679706780 1634.1208149125800446 1187.8768454876478700 394.2878856256065205 0.0000000000000000 15706.0463883383199573 17288.2111194515746320 299.9802110109068849
|
||||||
990 301.2573007350166563 1489.7316698898257528 1187.8432331161868660 394.2342534877078606 7852.5601875000047585 7853.5840096862748396 17288.2216837901723920 299.9819468620868292
|
990 301.2573007350166563 1489.7316698898262075 1187.8432331161866387 394.2342534877078606 0.0000000000000000 15706.1441971863041545 17288.2216837901978579 299.9819468620868292
|
||||||
1000 301.3195135766228532 1562.6587211933920116 1187.8034267774903583 394.3156670604516307 7852.5601874999356369 7853.5372636956635688 17288.2165450335414789 299.9807651637231629
|
1000 301.3195135766228532 1562.6587211933931485 1187.8034267774903583 394.3156670604516307 0.0000000000000000 15706.0974511956701463 17288.2165450336106005 299.9807651637235040
|
||||||
Loop time of 21.3308 on 1 procs for 1000 steps with 10125 atoms
|
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
|
Performance: 5.056 ns/day, 4.747 hours/ns, 58.520 timesteps/s
|
||||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
100.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 10.099 | 10.099 | 10.099 | 0.0 | 47.34
|
Pair | 8.0541 | 8.0541 | 8.0541 | 0.0 | 47.13
|
||||||
Neigh | 10.145 | 10.145 | 10.145 | 0.0 | 47.56
|
Neigh | 8.1306 | 8.1306 | 8.1306 | 0.0 | 47.58
|
||||||
Comm | 0.49807 | 0.49807 | 0.49807 | 0.0 | 2.33
|
Comm | 0.39415 | 0.39415 | 0.39415 | 0.0 | 2.31
|
||||||
Output | 0.011203 | 0.011203 | 0.011203 | 0.0 | 0.05
|
Output | 0.01103 | 0.01103 | 0.01103 | 0.0 | 0.06
|
||||||
Modify | 0.28296 | 0.28296 | 0.28296 | 0.0 | 1.33
|
Modify | 0.24061 | 0.24061 | 0.24061 | 0.0 | 1.41
|
||||||
Other | | 0.295 | | | 1.38
|
Other | | 0.2576 | | | 1.51
|
||||||
|
|
||||||
Nlocal: 10125 ave 10125 max 10125 min
|
Nlocal: 10125 ave 10125 max 10125 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
@ -170,4 +174,4 @@ Total # of neighbors = 114682
|
|||||||
Ave neighs/atom = 11.3266
|
Ave neighs/atom = 11.3266
|
||||||
Neighbor list builds = 1000
|
Neighbor list builds = 1000
|
||||||
Dangerous builds not checked
|
Dangerous builds not checked
|
||||||
Total wall time: 0:00:21
|
Total wall time: 0:00:17
|
||||||
|
|||||||
@ -18,7 +18,7 @@ neigh_modify every 1 delay 0 check no once no
|
|||||||
timestep 0.001
|
timestep 0.001
|
||||||
|
|
||||||
compute dpdU all dpd
|
compute dpdU all dpd
|
||||||
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[1]+press*vol
|
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[2]+press*vol
|
||||||
|
|
||||||
thermo 1
|
thermo 1
|
||||||
thermo_style custom step temp press vol pe ke v_totEnergy cella cellb cellc
|
thermo_style custom step temp press vol pe ke v_totEnergy cella cellb cellc
|
||||||
|
|||||||
@ -22,7 +22,7 @@ neigh_modify every 1 delay 0 check no once no
|
|||||||
timestep 0.001
|
timestep 0.001
|
||||||
|
|
||||||
compute dpdU all dpd
|
compute dpdU all dpd
|
||||||
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[1]+press*vol
|
variable totEnergy equal pe+ke+c_dpdU[1]+c_dpdU[2]+press*vol
|
||||||
|
|
||||||
thermo 1
|
thermo 1
|
||||||
thermo_style custom step temp press vol pe ke v_totEnergy cella cellb cellc
|
thermo_style custom step temp press vol pe ke v_totEnergy cella cellb cellc
|
||||||
@ -34,129 +34,137 @@ fix 2 all eos/cv 0.0005
|
|||||||
|
|
||||||
run 100
|
run 100
|
||||||
Neighbor list info ...
|
Neighbor list info ...
|
||||||
1 neighbor list requests
|
|
||||||
update every 1 steps, delay 0 steps, check no
|
update every 1 steps, delay 0 steps, check no
|
||||||
max neighbors/atom: 2000, page size: 100000
|
max neighbors/atom: 2000, page size: 100000
|
||||||
master list distance cutoff = 12
|
master list distance cutoff = 12
|
||||||
ghost atom cutoff = 12
|
ghost atom cutoff = 12
|
||||||
binsize = 6 -> bins = 22 22 22
|
binsize = 6, bins = 22 22 22
|
||||||
Memory usage per processor = 6.48143 Mbytes
|
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||||
|
(1) pair dpd/fdt/energy, perpetual
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/3d/newton
|
||||||
|
bin: standard
|
||||||
|
(2) fix shardlow, perpetual, ssa
|
||||||
|
pair build: half/bin/newton/ssa
|
||||||
|
stencil: half/bin/3d/newton/ssa
|
||||||
|
bin: ssa
|
||||||
|
Memory usage per processor = 8.55503 Mbytes
|
||||||
Step Temp Press Volume PotEng KinEng v_totEnergy Cella Cellb Cellc
|
Step Temp Press Volume PotEng KinEng v_totEnergy Cella Cellb Cellc
|
||||||
0 239.4274282976 2817.4421750949 2146689.0000000000 2639.8225470740 313.3218455755 6048176597.3066043854 129.0000000000 129.0000000000 129.0000000000
|
0 239.4274282976 2817.4421750949 2146689.0000000000 2639.8225470740 313.3218455755 6048176597.3066034317 129.0000000000 129.0000000000 129.0000000000
|
||||||
1 239.4771405316 2817.4798146419 2146689.0000581890 2639.8304543632 313.3869004818 6048257397.9450111389 129.0000000012 129.0000000012 129.0000000012
|
1 239.4771405316 2817.4798146419 2146689.0000581890 2639.8304543632 313.3869004818 6048257397.8720483780 129.0000000012 129.0000000012 129.0000000012
|
||||||
2 239.5643955010 2817.5423194969 2146689.0002327557 2639.8379071907 313.5010849268 6048391577.0431985855 129.0000000047 129.0000000047 129.0000000047
|
2 239.5643955010 2817.5423194969 2146689.0002327557 2639.8379071907 313.5010849268 6048391576.8485937119 129.0000000047 129.0000000047 129.0000000047
|
||||||
3 239.6633839196 2817.6123662396 2146689.0005237064 2639.8445238058 313.6306241122 6048541946.5712032318 129.0000000105 129.0000000105 129.0000000105
|
3 239.6633839196 2817.6123662396 2146689.0005237064 2639.8445238058 313.6306241122 6048541946.2404479980 129.0000000105 129.0000000105 129.0000000105
|
||||||
4 239.5371222027 2817.5355424336 2146689.0009310376 2639.8505035043 313.4653942786 6048377030.7404460907 129.0000000186 129.0000000186 129.0000000186
|
4 239.5371222027 2817.5355424336 2146689.0009310376 2639.8505035043 313.4653942786 6048377030.5689325333 129.0000000186 129.0000000186 129.0000000186
|
||||||
5 239.6512678169 2817.6153097076 2146689.0014547524 2639.8561498340 313.6147686202 6048548267.9007377625 129.0000000291 129.0000000291 129.0000000291
|
5 239.6512678169 2817.6153097076 2146689.0014547524 2639.8561498340 313.6147686202 6048548267.5742130280 129.0000000291 129.0000000291 129.0000000291
|
||||||
6 239.5617886781 2817.5624195435 2146689.0020948485 2639.8617493725 313.4976735610 6048434730.8592004776 129.0000000420 129.0000000420 129.0000000420
|
6 239.5617886781 2817.5624195435 2146689.0020948485 2639.8617493725 313.4976735610 6048434730.6441593170 129.0000000420 129.0000000420 129.0000000420
|
||||||
7 239.5228587856 2817.5420009502 2146689.0028513218 2639.8666590407 313.4467287471 6048390900.5748577118 129.0000000571 129.0000000571 129.0000000571
|
7 239.5228587856 2817.5420009502 2146689.0028513218 2639.8666590407 313.4467287471 6048390900.4058599472 129.0000000571 129.0000000571 129.0000000571
|
||||||
8 239.6066877934 2817.6008649264 2146689.0037241788 2639.8710757645 313.5564298772 6048517265.7987136841 129.0000000746 129.0000000746 129.0000000746
|
8 239.6066877934 2817.6008649264 2146689.0037241788 2639.8710757645 313.5564298772 6048517265.5155982971 129.0000000746 129.0000000746 129.0000000746
|
||||||
9 239.5719861485 2817.5823530300 2146689.0047134170 2639.8752557893 313.5110182737 6048477529.2603597641 129.0000000944 129.0000000944 129.0000000944
|
9 239.5719861485 2817.5823530300 2146689.0047134170 2639.8752557893 313.5110182737 6048477529.0184717178 129.0000000944 129.0000000944 129.0000000944
|
||||||
10 239.5800176776 2817.5915671176 2146689.0058190385 2639.8793778438 313.5215285712 6048497312.1706552505 129.0000001166 129.0000001166 129.0000001166
|
10 239.5800176776 2817.5915671176 2146689.0058190385 2639.8793778438 313.5215285712 6048497311.9141387939 129.0000001166 129.0000001166 129.0000001166
|
||||||
11 239.6299830954 2817.6281223139 2146689.0070410441 2639.8829762049 313.5869148014 6048575788.3208351135 129.0000001410 129.0000001410 129.0000001410
|
11 239.6299830954 2817.6281223139 2146689.0070410441 2639.8829762049 313.5869148014 6048575787.9953098297 129.0000001410 129.0000001410 129.0000001410
|
||||||
12 239.6011995911 2817.6132377273 2146689.0083794324 2639.8860704236 313.5492478526 6048543839.4788360596 129.0000001678 129.0000001678 129.0000001678
|
12 239.6011995911 2817.6132377273 2146689.0083794324 2639.8860704236 313.5492478526 6048543839.1878814697 129.0000001678 129.0000001678 129.0000001678
|
||||||
13 239.6407681166 2817.6427924824 2146689.0098342048 2639.8889816934 313.6010284005 6048607288.5005025864 129.0000001970 129.0000001970 129.0000001970
|
13 239.6407681166 2817.6427924824 2146689.0098342048 2639.8889816934 313.6010284005 6048607288.1548709869 129.0000001970 129.0000001970 129.0000001970
|
||||||
14 239.6981172055 2817.6844100046 2146689.0114053637 2639.8913405110 313.6760771219 6048696632.8825626373 129.0000002285 129.0000002285 129.0000002285
|
14 239.6981172055 2817.6844100046 2146689.0114053637 2639.8913405110 313.6760771219 6048696632.4595127106 129.0000002285 129.0000002285 129.0000002285
|
||||||
15 239.8563971968 2817.7922519039 2146689.0130929090 2639.8934358481 313.8832070208 6048928140.8671455383 129.0000002623 129.0000002623 129.0000002623
|
15 239.8563971968 2817.7922519039 2146689.0130929090 2639.8934358481 313.8832070208 6048928140.2348766327 129.0000002623 129.0000002623 129.0000002623
|
||||||
16 239.8561894618 2817.7971208197 2146689.0148968464 2639.8950496967 313.8829351726 6048938597.9994916916 129.0000002984 129.0000002984 129.0000002984
|
16 239.8561894618 2817.7971208196 2146689.0148968464 2639.8950496967 313.8829351726 6048938597.3658657074 129.0000002984 129.0000002984 129.0000002984
|
||||||
17 239.8816520361 2817.8185621543 2146689.0168171758 2639.8961257823 313.9162562538 6048984631.3226108551 129.0000003369 129.0000003369 129.0000003369
|
17 239.8816520361 2817.8185621543 2146689.0168171758 2639.8961257823 313.9162562538 6048984630.6545839310 129.0000003369 129.0000003369 129.0000003369
|
||||||
18 239.9099966096 2817.8417368960 2146689.0188538977 2639.8965743204 313.9533488047 6049034386.0627622604 129.0000003777 129.0000003777 129.0000003777
|
18 239.9099966096 2817.8417368960 2146689.0188538977 2639.8965743204 313.9533488047 6049034385.3571958542 129.0000003777 129.0000003777 129.0000003777
|
||||||
19 240.0514024347 2817.9389205774 2146689.0210070144 2639.8966103811 314.1383966683 6049243015.4568052292 129.0000004208 129.0000004208 129.0000004208
|
19 240.0514024347 2817.9389205774 2146689.0210070144 2639.8966103811 314.1383966683 6049243014.5661621094 129.0000004208 129.0000004208 129.0000004208
|
||||||
20 239.8802541140 2817.8327386176 2146689.0232765260 2639.8962085210 313.9144268914 6049015081.9802341461 129.0000004662 129.0000004662 129.0000004662
|
20 239.8802541140 2817.8327386176 2146689.0232765260 2639.8962085210 313.9144268914 6049015081.3139505386 129.0000004662 129.0000004662 129.0000004662
|
||||||
21 239.8462621903 2817.8160306167 2146689.0256624296 2639.8953174755 313.8699440502 6048979221.7758703232 129.0000005140 129.0000005140 129.0000005140
|
21 239.8462621903 2817.8160306167 2146689.0256624296 2639.8953174755 313.8699440502 6048979221.1549577713 129.0000005140 129.0000005140 129.0000005140
|
||||||
22 240.0487944678 2817.9533849157 2146689.0281647225 2639.8938590354 314.1349838054 6049274086.0571212769 129.0000005642 129.0000005642 129.0000005642
|
22 240.0487944678 2817.9533849157 2146689.0281647225 2639.8938590354 314.1349838054 6049274085.1726217270 129.0000005642 129.0000005642 129.0000005642
|
||||||
23 240.0966314441 2817.9897873787 2146689.0307834130 2639.8918104774 314.1975846937 6049352238.2649183273 129.0000006166 129.0000006166 129.0000006166
|
23 240.0966314441 2817.9897873787 2146689.0307834130 2639.8918104774 314.1975846937 6049352237.3198652267 129.0000006166 129.0000006166 129.0000006166
|
||||||
24 240.1765312516 2818.0463843765 2146689.0335185044 2639.8891292321 314.3021439554 6049473742.2287187576 129.0000006714 129.0000006714 129.0000006714
|
24 240.1765312516 2818.0463843765 2146689.0335185044 2639.8891292321 314.3021439554 6049473741.1817827225 129.0000006714 129.0000006714 129.0000006714
|
||||||
25 240.1500705973 2818.0336048048 2146689.0363699966 2639.8858785483 314.2675167572 6049446316.4600162506 129.0000007285 129.0000007285 129.0000007285
|
25 240.1500705973 2818.0336048048 2146689.0363699966 2639.8858785483 314.2675167572 6049446315.4509468079 129.0000007285 129.0000007285 129.0000007285
|
||||||
26 240.2681423500 2818.1151708195 2146689.0393378921 2639.8825176506 314.4220289603 6049621421.8445177078 129.0000007880 129.0000007880 129.0000007880
|
26 240.2681423500 2818.1151708195 2146689.0393378921 2639.8825176506 314.4220289603 6049621420.6842966080 129.0000007880 129.0000007880 129.0000007880
|
||||||
27 240.4728815247 2818.2527327079 2146689.0424221945 2639.8784158747 314.6899567267 6049916733.3989181519 129.0000008498 129.0000008498 129.0000008498
|
27 240.4728815247 2818.2527327079 2146689.0424221945 2639.8784158747 314.6899567267 6049916731.9748563766 129.0000008498 129.0000008498 129.0000008498
|
||||||
28 240.4793027032 2818.2613348477 2146689.0456229053 2639.8736089473 314.6983596717 6049935208.5421981812 129.0000009139 129.0000009139 129.0000009139
|
28 240.4793027032 2818.2613348477 2146689.0456229053 2639.8736089473 314.6983596717 6049935207.1145420074 129.0000009139 129.0000009139 129.0000009139
|
||||||
29 240.5020619198 2818.2805472685 2146689.0489400285 2639.8681043704 314.7281430587 6049976461.0082206726 129.0000009803 129.0000009803 129.0000009803
|
29 240.5020619198 2818.2805472685 2146689.0489400285 2639.8681043704 314.7281430587 6049976459.5562763214 129.0000009803 129.0000009803 129.0000009803
|
||||||
30 240.5513721776 2818.3167157263 2146689.0523735629 2639.8623484053 314.7926719270 6050054113.1760177612 129.0000010491 129.0000010491 129.0000010491
|
30 240.5513721776 2818.3167157263 2146689.0523735629 2639.8623484053 314.7926719270 6050054111.6652946472 129.0000010491 129.0000010491 129.0000010491
|
||||||
31 240.7340393104 2818.4391703712 2146689.0559235099 2639.8563442170 315.0317155636 6050316995.4599781036 129.0000011202 129.0000011202 129.0000011202
|
31 240.7340393104 2818.4391703712 2146689.0559235099 2639.8563442170 315.0317155636 6050316993.7162160873 129.0000011202 129.0000011202 129.0000011202
|
||||||
32 240.8254719483 2818.5014640740 2146689.0595898777 2639.8498122053 315.1513670299 6050450731.1168394089 129.0000011936 129.0000011936 129.0000011936
|
32 240.8254719483 2818.5014640740 2146689.0595898777 2639.8498122053 315.1513670299 6050450729.2599506378 129.0000011936 129.0000011936 129.0000011936
|
||||||
33 240.9681573541 2818.5965480750 2146689.0633726656 2639.8425779528 315.3380893908 6050654857.7432861328 129.0000012694 129.0000012694 129.0000012694
|
33 240.9681573541 2818.5965480750 2146689.0633726656 2639.8425779528 315.3380893908 6050654855.7068986893 129.0000012694 129.0000012694 129.0000012694
|
||||||
34 241.0039494187 2818.6217008564 2146689.0672718794 2639.8347174393 315.3849279499 6050708863.9733209610 129.0000013475 129.0000013475 129.0000013475
|
34 241.0039494187 2818.6217008564 2146689.0672718794 2639.8347174393 315.3849279499 6050708861.8979463577 129.0000013475 129.0000013475 129.0000013475
|
||||||
35 241.0314566197 2818.6411150538 2146689.0712875174 2639.8262983643 315.4209246902 6050750551.5649127960 129.0000014279 129.0000014279 129.0000014279
|
35 241.0314566197 2818.6411150538 2146689.0712875174 2639.8262983643 315.4209246902 6050750549.4619541168 129.0000014279 129.0000014279 129.0000014279
|
||||||
36 241.0829173424 2818.6763455617 2146689.0754195810 2639.8174397481 315.4882677207 6050826192.2165899277 129.0000015107 129.0000015107 129.0000015107
|
36 241.0829173424 2818.6763455617 2146689.0754195810 2639.8174397481 315.4882677207 6050826190.0551443100 129.0000015107 129.0000015107 129.0000015107
|
||||||
37 241.2845682012 2818.8087982181 2146689.0796680767 2639.8080129872 315.7521540252 6051110539.1171846390 129.0000015958 129.0000015958 129.0000015958
|
37 241.2845682012 2818.8087982181 2146689.0796680767 2639.8080129872 315.7521540252 6051110536.7012710571 129.0000015958 129.0000015958 129.0000015958
|
||||||
38 241.3214712920 2818.8336260248 2146689.0840330068 2639.7981963574 315.8004465062 6051163849.0412235260 129.0000016833 129.0000016833 129.0000016833
|
38 241.3214712920 2818.8336260248 2146689.0840330068 2639.7981963574 315.8004465062 6051163846.5868301392 129.0000016833 129.0000016833 129.0000016833
|
||||||
39 241.3392127125 2818.8456991528 2146689.0885143690 2639.7879618658 315.8236634561 6051189778.9386901855 129.0000017730 129.0000017730 129.0000017730
|
39 241.3392127125 2818.8456991528 2146689.0885143690 2639.7879618658 315.8236634561 6051189776.4712991714 129.0000017730 129.0000017730 129.0000017730
|
||||||
40 241.5383770555 2818.9753950055 2146689.0931121684 2639.7769824244 316.0842958321 6051468208.8210506439 129.0000018651 129.0000018651 129.0000018651
|
40 241.5383770555 2818.9753950055 2146689.0931121684 2639.7769824244 316.0842958321 6051468206.1039972305 129.0000018651 129.0000018651 129.0000018651
|
||||||
41 241.5059730674 2818.9543817992 2146689.0978264087 2639.7656512498 316.0418910106 6051423113.2358427048 129.0000019595 129.0000019595 129.0000019595
|
41 241.5059730674 2818.9543817992 2146689.0978264087 2639.7656512498 316.0418910106 6051423110.5725250244 129.0000019595 129.0000019595 129.0000019595
|
||||||
42 241.3907605672 2818.8793800508 2146689.1026570834 2639.7541331920 315.8911205101 6051262121.2551422119 129.0000020563 129.0000020563 129.0000020563
|
42 241.3907605672 2818.8793800508 2146689.1026570834 2639.7541331920 315.8911205101 6051262118.7541017532 129.0000020563 129.0000020563 129.0000020563
|
||||||
43 241.5095917610 2818.9559595711 2146689.1076041958 2639.7424355740 316.0466265406 6051426527.7663059235 129.0000021554 129.0000021554 129.0000021554
|
43 241.5095917610 2818.9559595711 2146689.1076041958 2639.7424355740 316.0466265406 6051426525.1214485168 129.0000021554 129.0000021554 129.0000021554
|
||||||
44 241.6271631762 2819.0312325531 2146689.1126677482 2639.7297705654 316.2004839873 6051588129.8722610474 129.0000022568 129.0000022568 129.0000022568
|
44 241.6271631762 2819.0312325531 2146689.1126677482 2639.7297705654 316.2004839873 6051588127.0861988068 129.0000022568 129.0000022568 129.0000022568
|
||||||
45 241.5702411838 2818.9923790176 2146689.1178477411 2639.7163554760 316.1259941770 6051504737.9250564575 129.0000023606 129.0000023606 129.0000023606
|
45 241.5702411838 2818.9923790176 2146689.1178477411 2639.7163554760 316.1259941770 6051504735.2269029617 129.0000023606 129.0000023606 129.0000023606
|
||||||
46 241.7029985068 2819.0771124986 2146689.1231441777 2639.7024246704 316.2997243538 6051686649.4576120377 129.0000024667 129.0000024667 129.0000024667
|
46 241.7029985068 2819.0771124986 2146689.1231441777 2639.7024246704 316.2997243538 6051686646.5996389389 129.0000024667 129.0000024667 129.0000024667
|
||||||
47 241.7966144965 2819.1357830868 2146689.1285570571 2639.6882106593 316.4222330191 6051812612.3391046524 129.0000025751 129.0000025751 129.0000025751
|
47 241.7966144965 2819.1357830868 2146689.1285570571 2639.6882106593 316.4222330191 6051812609.3728218079 129.0000025751 129.0000025751 129.0000025751
|
||||||
48 241.8573480255 2819.1726205120 2146689.1340863821 2639.6735287925 316.5017107195 6051891706.4921989441 129.0000026859 129.0000026859 129.0000026859
|
48 241.8573480255 2819.1726205120 2146689.1340863821 2639.6735287925 316.5017107195 6051891703.4611186981 129.0000026859 129.0000026859 129.0000026859
|
||||||
49 241.9611147338 2819.2374095379 2146689.1397321564 2639.6583357477 316.6375029166 6052030804.4275226593 129.0000027990 129.0000027990 129.0000027990
|
49 241.9611147338 2819.2374095379 2146689.1397321564 2639.6583357477 316.6375029166 6052030801.2758235931 129.0000027990 129.0000027990 129.0000027990
|
||||||
50 242.1023518806 2819.3259059811 2146689.1454943856 2639.6424863169 316.8223300428 6052220795.1955394745 129.0000029144 129.0000029144 129.0000029144
|
50 242.1023518806 2819.3259059811 2146689.1454943856 2639.6424863169 316.8223300428 6052220791.8748512268 129.0000029144 129.0000029144 129.0000029144
|
||||||
51 242.1174105473 2819.3319633044 2146689.1513730693 2639.6264141131 316.8420362613 6052233814.9634265900 129.0000030321 129.0000030321 129.0000030321
|
51 242.1174105473 2819.3319633044 2146689.1513730693 2639.6264141131 316.8420362613 6052233811.6391019821 129.0000030321 129.0000030321 129.0000030321
|
||||||
52 242.2534914901 2819.4164594322 2146689.1573682069 2639.6098392670 317.0201158259 6052415218.9485445023 129.0000031522 129.0000031522 129.0000031522
|
52 242.2534914901 2819.4164594322 2146689.1573682069 2639.6098392671 317.0201158259 6052415215.4627037048 129.0000031522 129.0000031522 129.0000031522
|
||||||
53 242.3504633236 2819.4754119996 2146689.1634798055 2639.5930076506 317.1470160479 6052541789.1274013519 129.0000032746 129.0000032746 129.0000032746
|
53 242.3504633236 2819.4754119996 2146689.1634798055 2639.5930076506 317.1470160479 6052541785.5314817429 129.0000032746 129.0000032746 129.0000032746
|
||||||
54 242.2982323323 2819.4368568264 2146689.1697078613 2639.5756353782 317.0786650211 6052459040.6286897659 129.0000033994 129.0000033994 129.0000033994
|
54 242.2982323323 2819.4368568264 2146689.1697078613 2639.5756353782 317.0786650211 6052459037.1184797287 129.0000033994 129.0000033994 129.0000033994
|
||||||
55 242.3452896272 2819.4623310219 2146689.1760523771 2639.5575918586 317.1402455951 6052513743.7400159836 129.0000035265 129.0000035265 129.0000035265
|
55 242.3452896272 2819.4623310219 2146689.1760523771 2639.5575918586 317.1402455951 6052513740.1862611771 129.0000035265 129.0000035265 129.0000035265
|
||||||
56 242.4181903333 2819.5048897011 2146689.1825133534 2639.5390347547 317.2356456249 6052605122.2894439697 129.0000036559 129.0000036559 129.0000036559
|
56 242.4181903333 2819.5048897011 2146689.1825133534 2639.5390347547 317.2356456249 6052605118.6588287354 129.0000036559 129.0000036559 129.0000036559
|
||||||
57 242.5317091656 2819.5739975787 2146689.1890907930 2639.5199828249 317.3841997413 6052753494.0979280472 129.0000037876 129.0000037876 129.0000037876
|
57 242.5317091656 2819.5739975787 2146689.1890907930 2639.5199828249 317.3841997413 6052753490.3378009796 129.0000037876 129.0000037876 129.0000037876
|
||||||
58 242.5478978740 2819.5796954935 2146689.1957846982 2639.5006137388 317.4053847660 6052765744.6257629395 129.0000039217 129.0000039217 129.0000039217
|
58 242.5478978740 2819.5796954935 2146689.1957846982 2639.5006137388 317.4053847660 6052765740.8638200760 129.0000039217 129.0000039217 129.0000039217
|
||||||
59 242.6655316466 2819.6519225743 2146689.2025950695 2639.4808234811 317.5593238156 6052920813.0568208694 129.0000040582 129.0000040582 129.0000040582
|
59 242.6655316466 2819.6519225743 2146689.2025950695 2639.4808234811 317.5593238156 6052920809.1607065201 129.0000040582 129.0000040582 129.0000040582
|
||||||
60 242.8126131177 2819.7431588157 2146689.2095219092 2639.4607996998 317.7517989980 6053116688.6155729294 129.0000041969 129.0000041969 129.0000041969
|
60 242.8126131177 2819.7431588157 2146689.2095219092 2639.4607996998 317.7517989980 6053116684.5470046997 129.0000041969 129.0000041969 129.0000041969
|
||||||
61 242.7957124913 2819.7275989047 2146689.2165652174 2639.4406312730 317.7296823362 6053083306.1403274536 129.0000043380 129.0000043380 129.0000043380
|
61 242.7957124913 2819.7275989047 2146689.2165652174 2639.4406312730 317.7296823362 6053083302.1140241623 129.0000043380 129.0000043380 129.0000043380
|
||||||
62 242.9276177041 2819.8088790098 2146689.2237249981 2639.4201279058 317.9022974164 6053257809.6067762375 129.0000044814 129.0000044814 129.0000044814
|
62 242.9276177041 2819.8088790098 2146689.2237249981 2639.4201279058 317.9022974164 6053257805.4283437729 129.0000044814 129.0000044814 129.0000044814
|
||||||
63 243.0465445938 2819.8814758895 2146689.2310012528 2639.3991657500 318.0579286774 6053413673.1989650726 129.0000046272 129.0000046272 129.0000046272
|
63 243.0465445938 2819.8814758895 2146689.2310012528 2639.3991657500 318.0579286774 6053413668.8858547211 129.0000046272 129.0000046272 129.0000046272
|
||||||
64 242.9890585501 2819.8387587817 2146689.2383939880 2639.3781767844 317.9827007328 6053321993.5937871933 129.0000047752 129.0000047752 129.0000047752
|
64 242.9890585501 2819.8387587817 2146689.2383939880 2639.3781767844 317.9827007328 6053321989.3768787384 129.0000047752 129.0000047752 129.0000047752
|
||||||
65 242.9653746583 2819.8180104181 2146689.2459031967 2639.3568184374 317.9517072884 6053277474.4272727966 129.0000049256 129.0000049256 129.0000049256
|
65 242.9653746583 2819.8180104181 2146689.2459031967 2639.3568184374 317.9517072884 6053277470.2627182007 129.0000049256 129.0000049256 129.0000049256
|
||||||
66 243.0259297024 2819.8514334947 2146689.2535288804 2639.3352568621 318.0309514181 6053349244.9473772049 129.0000050784 129.0000050784 129.0000050784
|
66 243.0259297024 2819.8514334947 2146689.2535288804 2639.3352568621 318.0309514181 6053349240.7251205444 129.0000050784 129.0000050784 129.0000050784
|
||||||
67 242.9638979697 2819.8046112742 2146689.2612710390 2639.3134547096 317.9497748498 6053248753.9180717468 129.0000052335 129.0000052335 129.0000052335
|
67 242.9638979697 2819.8046112742 2146689.2612710390 2639.3134547096 317.9497748498 6053248749.7987766266 129.0000052335 129.0000052335 129.0000052335
|
||||||
68 243.0283540775 2819.8395632725 2146689.2691296688 2639.2912303374 318.0341240273 6053323807.2197017670 129.0000053909 129.0000053909 129.0000053909
|
68 243.0283540775 2819.8395632725 2146689.2691296688 2639.2912303374 318.0341240273 6053323803.0382738113 129.0000053909 129.0000053909 129.0000053909
|
||||||
69 243.2256418664 2819.9609646019 2146689.2771047787 2639.2684509205 318.2923006889 6053584440.8757400513 129.0000055506 129.0000055506 129.0000055506
|
69 243.2256418664 2819.9609646019 2146689.2771047787 2639.2684509205 318.2923006889 6053584436.4588871002 129.0000055506 129.0000055506 129.0000055506
|
||||||
70 243.2507495334 2819.9706145524 2146689.2851963686 2639.2450126010 318.3251573278 6053605179.1483964920 129.0000057127 129.0000057127 129.0000057127
|
70 243.2507495334 2819.9706145524 2146689.2851963686 2639.2450126010 318.3251573278 6053605174.7221174240 129.0000057127 129.0000057127 129.0000057127
|
||||||
71 243.4287155518 2820.0794853386 2146689.2934044413 2639.2213699915 318.5580489464 6053838914.2552747726 129.0000058771 129.0000058771 129.0000058771
|
71 243.4287155518 2820.0794853386 2146689.2934044413 2639.2213699915 318.5580489464 6053838909.6197280884 129.0000058771 129.0000058771 129.0000058771
|
||||||
72 243.5097518574 2820.1249498194 2146689.3017290002 2639.1971212009 318.6640954635 6053936535.9274711609 129.0000060439 129.0000060439 129.0000060439
|
72 243.5097518574 2820.1249498194 2146689.3017290002 2639.1971212009 318.6640954635 6053936531.2101163864 129.0000060439 129.0000060439 129.0000060439
|
||||||
73 243.5356790969 2820.1337977544 2146689.3101700447 2639.1723394661 318.6980246193 6053955553.5090074539 129.0000062130 129.0000062130 129.0000062130
|
73 243.5356790969 2820.1337977544 2146689.3101700447 2639.1723394661 318.6980246193 6053955548.7824945450 129.0000062130 129.0000062130 129.0000062130
|
||||||
74 243.5479180498 2820.1331964183 2146689.3187275808 2639.1473868749 318.7140408766 6053954286.7515821457 129.0000063844 129.0000063844 129.0000063844
|
74 243.5479180498 2820.1331964183 2146689.3187275808 2639.1473868749 318.7140408766 6053954282.0339813232 129.0000063844 129.0000063844 129.0000063844
|
||||||
75 243.7115573025 2820.2314361523 2146689.3274016059 2639.1220411207 318.9281840641 6054165201.5909118652 129.0000065581 129.0000065581 129.0000065581
|
75 243.7115573025 2820.2314361523 2146689.3274016059 2639.1220411207 318.9281840641 6054165196.6845111847 129.0000065581 129.0000065581 129.0000065581
|
||||||
76 243.7457279618 2820.2454531429 2146689.3361921217 2639.0963868224 318.9729008040 6054195316.5254154205 129.0000067342 129.0000067342 129.0000067342
|
76 243.7457279618 2820.2454531429 2146689.3361921217 2639.0963868224 318.9729008040 6054195311.5999307632 129.0000067342 129.0000067342 129.0000067342
|
||||||
77 243.8345031069 2820.2948644965 2146689.3450991292 2639.0700900389 319.0890745962 6054301412.5615310669 129.0000069126 129.0000069126 129.0000069126
|
77 243.8345031069 2820.2948644965 2146689.3450991292 2639.0700900389 319.0890745962 6054301407.5461502075 129.0000069126 129.0000069126 129.0000069126
|
||||||
78 244.0193931195 2820.4067881628 2146689.3541226317 2639.0435094409 319.3310271594 6054541703.5689058304 129.0000070934 129.0000070934 129.0000070934
|
78 244.0193931195 2820.4067881628 2146689.3541226317 2639.0435094409 319.3310271594 6054541698.3381366730 129.0000070934 129.0000070934 129.0000070934
|
||||||
79 243.9919100078 2820.3799166166 2146689.3632626338 2639.0164249037 319.2950619430 6054484044.4218587875 129.0000072765 129.0000072765 129.0000072765
|
79 243.9919100078 2820.3799166166 2146689.3632626338 2639.0164249037 319.2950619430 6054484039.2541246414 129.0000072765 129.0000072765 129.0000072765
|
||||||
80 244.0965612207 2820.4387335935 2146689.3725191355 2638.9888176882 319.4320116291 6054610332.4174261093 129.0000074619 129.0000074619 129.0000074619
|
80 244.0965612207 2820.4387335935 2146689.3725191355 2638.9888176882 319.4320116291 6054610327.1403293610 129.0000074619 129.0000074619 129.0000074619
|
||||||
81 244.1334315951 2820.4535208568 2146689.3818921377 2638.9608330195 319.4802612965 6054642102.5347270966 129.0000076496 129.0000076496 129.0000076496
|
81 244.1334315951 2820.4535208568 2146689.3818921377 2638.9608330195 319.4802612965 6054642097.2373485565 129.0000076496 129.0000076496 129.0000076496
|
||||||
82 244.3029520408 2820.5543485196 2146689.3913816395 2638.9318525796 319.7021007878 6054858575.1664342880 129.0000078397 129.0000078397 129.0000078397
|
82 244.3029520408 2820.5543485196 2146689.3913816395 2638.9318525796 319.7021007878 6054858569.6761827469 129.0000078397 129.0000078397 129.0000078397
|
||||||
83 244.3445761189 2820.5713690935 2146689.4009876498 2638.9021684795 319.7565712929 6054895140.1710596085 129.0000080321 129.0000080321 129.0000080321
|
83 244.3445761189 2820.5713690935 2146689.4009876498 2638.9021684795 319.7565712929 6054895134.6560049057 129.0000080321 129.0000080321 129.0000080321
|
||||||
84 244.2696671559 2820.5125763350 2146689.4107101629 2638.8720941742 319.6585431986 6054768957.6739044189 129.0000082269 129.0000082269 129.0000082269
|
84 244.2696671559 2820.5125763350 2146689.4107101629 2638.8720941742 319.6585431986 6054768952.2869329453 129.0000082269 129.0000082269 129.0000082269
|
||||||
85 244.5161919319 2820.6629431352 2146689.4205491822 2638.8415194387 319.9811528443 6055091776.5361995697 129.0000084240 129.0000084240 129.0000084240
|
85 244.5161919319 2820.6629431352 2146689.4205491822 2638.8415194387 319.9811528443 6055091770.8571672440 129.0000084240 129.0000084240 129.0000084240
|
||||||
86 244.5641090282 2820.6838080201 2146689.4305047127 2638.8103612394 320.0438585800 6055136595.0767974854 129.0000086234 129.0000086234 129.0000086234
|
86 244.5641090282 2820.6838080201 2146689.4305047127 2638.8103612394 320.0438585800 6055136589.3662166595 129.0000086234 129.0000086234 129.0000086234
|
||||||
87 244.5348240638 2820.6541129118 2146689.4405767513 2638.7789728309 320.0055354056 6055072877.2416200638 129.0000088251 129.0000088251 129.0000088251
|
87 244.5348240638 2820.6541129118 2146689.4405767513 2638.7789728309 320.0055354056 6055072871.6007261276 129.0000088251 129.0000088251 129.0000088251
|
||||||
88 244.6939431427 2820.7468233396 2146689.4507653015 2638.7470269267 320.2137633592 6055271926.6536149979 129.0000090292 129.0000090292 129.0000090292
|
88 244.6939431427 2820.7468233396 2146689.4507653015 2638.7470269267 320.2137633592 6055271920.8364210129 129.0000090292 129.0000090292 129.0000090292
|
||||||
89 244.8800201091 2820.8567117003 2146689.4610703662 2638.7147520097 320.4572692055 6055507852.1186332703 129.0000092356 129.0000092356 129.0000092356
|
89 244.8800201091 2820.8567117003 2146689.4610703662 2638.7147520097 320.4572692055 6055507846.0901927948 129.0000092356 129.0000092356 129.0000092356
|
||||||
90 244.8804280382 2820.8451141876 2146689.4714919478 2638.6820441173 320.4578030336 6055482985.2258749008 129.0000094444 129.0000094444 129.0000094444
|
90 244.8804280382 2820.8451141876 2146689.4714919478 2638.6820441173 320.4578030336 6055482979.2295818329 129.0000094444 129.0000094444 129.0000094444
|
||||||
91 244.9558851986 2820.8815975090 2146689.4820300462 2638.6491836104 320.5565485155 6055561333.3803453445 129.0000096555 129.0000096555 129.0000096555
|
91 244.9558851986 2820.8815975090 2146689.4820300462 2638.6491836104 320.5565485155 6055561327.3181543350 129.0000096555 129.0000096555 129.0000096555
|
||||||
92 244.9965893140 2820.8949614294 2146689.4926846647 2638.6159817170 320.6098151301 6055590051.6433181763 129.0000098689 129.0000098689 129.0000098689
|
92 244.9965893140 2820.8949614294 2146689.4926846647 2638.6159817170 320.6098151301 6055590045.5610351562 129.0000098689 129.0000098689 129.0000098689
|
||||||
93 245.1381056687 2820.9732811388 2146689.5034558061 2638.5824451870 320.7950076360 6055758210.2774200439 129.0000100846 129.0000100846 129.0000100846
|
93 245.1381056687 2820.9732811388 2146689.5034558061 2638.5824451870 320.7950076360 6055758204.0434722900 129.0000100846 129.0000100846 129.0000100846
|
||||||
94 245.2954807041 2821.0619342131 2146689.5143434699 2638.5485198222 321.0009532826 6055948551.7882709503 129.0000103027 129.0000103027 129.0000103027
|
94 245.2954807041 2821.0619342131 2146689.5143434699 2638.5485198222 321.0009532826 6055948545.3822879791 129.0000103027 129.0000103027 129.0000103027
|
||||||
95 245.3535822199 2821.0860553731 2146689.5253476589 2638.5144817512 321.0769866522 6056000363.5151576996 129.0000105232 129.0000105232 129.0000105232
|
95 245.3535822199 2821.0860553731 2146689.5253476589 2638.5144817512 321.0769866522 6056000357.0671482086 129.0000105232 129.0000105232 129.0000105232
|
||||||
96 245.5013476026 2821.1682908185 2146689.5364683764 2638.4801107361 321.2703568219 6056176929.0169925690 129.0000107459 129.0000107459 129.0000107459
|
96 245.5013476026 2821.1682908185 2146689.5364683764 2638.4801107361 321.2703568219 6056176922.4099712372 129.0000107459 129.0000107459 129.0000107459
|
||||||
97 245.4166531417 2821.0989038023 2146689.5477056229 2638.4453663061 321.1595231342 6056028008.1910057068 129.0000109710 129.0000109710 129.0000109710
|
97 245.4166531417 2821.0989038023 2146689.5477056229 2638.4453663061 321.1595231342 6056028001.7295455933 129.0000109710 129.0000109710 129.0000109710
|
||||||
98 245.4121937790 2821.0817490953 2146689.5590593945 2638.4097762390 321.1536874797 6055991214.3494396210 129.0000111984 129.0000111984 129.0000111984
|
98 245.4121937790 2821.0817490953 2146689.5590593945 2638.4097762390 321.1536874797 6055991207.9293851852 129.0000111984 129.0000111984 129.0000111984
|
||||||
99 245.4532592994 2821.0946353191 2146689.5705296928 2638.3738037546 321.2074270397 6056018909.4480972290 129.0000114282 129.0000114282 129.0000114282
|
99 245.4532592994 2821.0946353191 2146689.5705296928 2638.3738037546 321.2074270397 6056018903.0102539062 129.0000114282 129.0000114282 129.0000114282
|
||||||
100 245.7500657390 2821.2735939427 2146689.5821165247 2638.3375549051 321.5958367642 6056403111.1006488800 129.0000116603 129.0000116603 129.0000116603
|
100 245.7500657390 2821.2735939427 2146689.5821165247 2638.3375549051 321.5958367642 6056403104.3106222153 129.0000116603 129.0000116603 129.0000116603
|
||||||
Loop time of 4.05006 on 1 procs for 100 steps with 10125 atoms
|
Loop time of 5.22601 on 1 procs for 100 steps with 10125 atoms
|
||||||
|
|
||||||
Performance: 2.133 ns/day, 11.250 hours/ns, 24.691 timesteps/s
|
Performance: 1.653 ns/day, 14.517 hours/ns, 19.135 timesteps/s
|
||||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 0.46587 | 0.46587 | 0.46587 | 0.0 | 11.50
|
Pair | 0.44045 | 0.44045 | 0.44045 | 0.0 | 8.43
|
||||||
Neigh | 1.4713 | 1.4713 | 1.4713 | 0.0 | 36.33
|
Neigh | 2.669 | 2.669 | 2.669 | 0.0 | 51.07
|
||||||
Comm | 0.05567 | 0.05567 | 0.05567 | 0.0 | 1.37
|
Comm | 0.056143 | 0.056143 | 0.056143 | 0.0 | 1.07
|
||||||
Output | 0.011364 | 0.011364 | 0.011364 | 0.0 | 0.28
|
Output | 0.012469 | 0.012469 | 0.012469 | 0.0 | 0.24
|
||||||
Modify | 2.0158 | 2.0158 | 2.0158 | 0.0 | 49.77
|
Modify | 2.0163 | 2.0163 | 2.0163 | 0.0 | 38.58
|
||||||
Other | | 0.03004 | | | 0.74
|
Other | | 0.03168 | | | 0.61
|
||||||
|
|
||||||
Nlocal: 10125 ave 10125 max 10125 min
|
Nlocal: 10125 ave 10125 max 10125 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
@ -172,4 +180,4 @@ Dangerous builds not checked
|
|||||||
|
|
||||||
Please see the log.cite file for references relevant to this simulation
|
Please see the log.cite file for references relevant to this simulation
|
||||||
|
|
||||||
Total wall time: 0:00:04
|
Total wall time: 0:00:05
|
||||||
|
|||||||
@ -37,7 +37,7 @@ timestep 0.001
|
|||||||
|
|
||||||
pair_style hybrid/overlay dpd/fdt/energy 16.00 234324 exp6/rx 16.00
|
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 * * 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 1 all shardlow
|
||||||
fix 2 all nve
|
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_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 * * 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 1 all shardlow
|
||||||
fix 2 all nve
|
fix 2 all nve
|
||||||
@ -69,39 +69,51 @@ dump_modify 2 sort id
|
|||||||
|
|
||||||
run 10
|
run 10
|
||||||
Neighbor list info ...
|
Neighbor list info ...
|
||||||
2 neighbor list requests
|
|
||||||
update every 1 steps, delay 10 steps, check yes
|
update every 1 steps, delay 10 steps, check yes
|
||||||
max neighbors/atom: 2000, page size: 100000
|
max neighbors/atom: 2000, page size: 100000
|
||||||
master list distance cutoff = 18
|
master list distance cutoff = 18
|
||||||
ghost atom cutoff = 18
|
ghost atom cutoff = 18
|
||||||
binsize = 9 -> bins = 8 8 5
|
binsize = 9, bins = 8 8 5
|
||||||
Memory usage per processor = 6.52436 Mbytes
|
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]
|
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
|
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 3841.42393279 3841.43150665 0.00000000 7682.85543943 2065.20275230
|
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 3841.42393279 3841.10925763 0.00000000 7682.53319042 2065.32453473
|
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 3841.42393279 3840.81572590 0.00000000 7682.23965869 2065.45336917
|
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 3841.42393279 3840.30814872 0.00000000 7681.73208151 2065.52973333
|
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 3841.42393279 3840.42386327 0.00000000 7681.84779605 2065.76011517
|
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 3841.42393279 3840.39038920 0.00000000 7681.81432198 2065.95399323
|
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 3841.42393279 3840.70880989 0.00000000 7682.13274267 2066.23407076
|
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 3841.42393279 3840.71463817 0.00000000 7682.13857095 2066.43766287
|
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 3841.42393279 3840.71482609 0.00000000 7682.13875887 2066.64001166
|
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 3841.42393279 3841.25306673 0.00000000 7682.67699952 2066.97516855
|
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.289778 on 1 procs for 10 steps with 864 atoms
|
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
|
Performance: 1.413 ns/day, 16.981 hours/ns, 16.358 timesteps/s
|
||||||
99.4% CPU use with 1 MPI tasks x no OpenMP threads
|
98.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
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
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Comm | 0.00066328 | 0.00066328 | 0.00066328 | 0.0 | 0.23
|
Comm | 0.0013342 | 0.0013342 | 0.0013342 | 0.0 | 0.22
|
||||||
Output | 0.037718 | 0.037718 | 0.037718 | 0.0 | 13.02
|
Output | 0.083583 | 0.083583 | 0.083583 | 0.0 | 13.67
|
||||||
Modify | 0.087281 | 0.087281 | 0.087281 | 0.0 | 30.12
|
Modify | 0.18451 | 0.18451 | 0.18451 | 0.0 | 30.18
|
||||||
Other | | 7.057e-05 | | | 0.02
|
Other | | 0.0001087 | | | 0.02
|
||||||
|
|
||||||
Nlocal: 864 ave 864 max 864 min
|
Nlocal: 864 ave 864 max 864 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@ -1,163 +1,163 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# Input file for investigating twinning nucleation under uniaxial loading with basal plane vector analysis
|
# Input file for investigating twinning nucleation under uniaxial loading with basal plane vector analysis
|
||||||
# Christopher Barrett, March 2013
|
# Christopher Barrett, March 2013
|
||||||
# This script requires a Mg pair potential file to be in the same directory.
|
# This script requires a Mg pair potential file to be in the same directory.
|
||||||
|
|
||||||
# fname is the file name. It is necessary for loops to work correctly. (See jump command)
|
# fname is the file name. It is necessary for loops to work correctly. (See jump command)
|
||||||
variable fname index in.basal
|
variable fname index in.basal
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# POTENTIAL VARIABLES
|
# POTENTIAL VARIABLES
|
||||||
# lattice parameters and the minimum energy per atom which should be obtained with the current pair potential and homogeneous lattice
|
# lattice parameters and the minimum energy per atom which should be obtained with the current pair potential and homogeneous lattice
|
||||||
variable lx equal 3.181269601
|
variable lx equal 3.181269601
|
||||||
variable b equal sqrt(3)
|
variable b equal sqrt(3)
|
||||||
variable c equal sqrt(8/3)
|
variable c equal sqrt(8/3)
|
||||||
variable ly equal ${b}*${lx}
|
variable ly equal ${b}*${lx}
|
||||||
variable lz equal ${c}*${lx}
|
variable lz equal ${c}*${lx}
|
||||||
variable pairlocation index almg.liu
|
variable pairlocation index almg.liu
|
||||||
variable pairstyle index eam/alloy/opt
|
variable pairstyle index eam/alloy/opt
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# EQUILIBRATION/DEFORMATION VARIABLES
|
# EQUILIBRATION/DEFORMATION VARIABLES
|
||||||
# eqpress = 10 bar = 1 MPa
|
# eqpress = 10 bar = 1 MPa
|
||||||
# tstep (the timestep) is set to a default value of 0.001 (1 fs)
|
# tstep (the timestep) is set to a default value of 0.001 (1 fs)
|
||||||
# seed randomizes the velocity
|
# seed randomizes the velocity
|
||||||
# srate is the rate of strain in 1/s
|
# srate is the rate of strain in 1/s
|
||||||
# Ndump is the number of timesteps in between each dump of the atom coordinates
|
# Ndump is the number of timesteps in between each dump of the atom coordinates
|
||||||
variable tstep equal 0.001
|
variable tstep equal 0.001
|
||||||
variable seed equal 95812384
|
variable seed equal 95812384
|
||||||
variable srate equal 1e9
|
variable srate equal 1e9
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# INITIALIZATION
|
# INITIALIZATION
|
||||||
units metal
|
units metal
|
||||||
dimension 3
|
dimension 3
|
||||||
boundary s s s
|
boundary s s s
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# ATOM BUILD
|
# ATOM BUILD
|
||||||
atom_modify map array
|
atom_modify map array
|
||||||
|
|
||||||
# lattice custom scale a1 "coordinates of a1" a2 "coordinates of a2" a3 "coordinates of a3" basis "atom1 coordinates" basis "atom2 coordinates" basis "atom3 coordinates" basis "atom4 coordinates" orient x "crystallagraphic orientation of x axis" orient y "crystallagraphic orientation of y axis" z "crystallagraphic orientation of z axis"
|
# lattice custom scale a1 "coordinates of a1" a2 "coordinates of a2" a3 "coordinates of a3" basis "atom1 coordinates" basis "atom2 coordinates" basis "atom3 coordinates" basis "atom4 coordinates" orient x "crystallagraphic orientation of x axis" orient y "crystallagraphic orientation of y axis" z "crystallagraphic orientation of z axis"
|
||||||
lattice custom 3.181269601 a1 1 0 0 a2 0 1.732050808 0 a3 0 0 1.632993162 basis 0.0 0.0 0.0 basis 0.5 0.5 0 basis 0 0.3333333 0.5 basis 0.5 0.833333 0.5 orient x 0 1 1 orient y 1 0 0 orient z 0 1 -1
|
lattice custom 3.181269601 a1 1 0 0 a2 0 1.732050808 0 a3 0 0 1.632993162 basis 0.0 0.0 0.0 basis 0.5 0.5 0 basis 0 0.3333333 0.5 basis 0.5 0.833333 0.5 orient x 0 1 1 orient y 1 0 0 orient z 0 1 -1
|
||||||
variable multiple equal 20
|
variable multiple equal 20
|
||||||
variable mx equal "v_lx*v_multiple"
|
variable mx equal "v_lx*v_multiple"
|
||||||
variable my equal "v_ly*v_multiple"
|
variable my equal "v_ly*v_multiple"
|
||||||
variable mz equal "v_lz*v_multiple"
|
variable mz equal "v_lz*v_multiple"
|
||||||
|
|
||||||
# the simulation region should be from 0 to a multiple of the periodic boundary in x, y and z.
|
# the simulation region should be from 0 to a multiple of the periodic boundary in x, y and z.
|
||||||
region whole block 0 ${mz} 0 ${mx} 0 ${my} units box
|
region whole block 0 ${mz} 0 ${mx} 0 ${my} units box
|
||||||
create_box 2 whole
|
create_box 2 whole
|
||||||
create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1
|
create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1
|
||||||
|
|
||||||
region fixed1 block INF INF INF INF INF 10 units box
|
region fixed1 block INF INF INF INF INF 10 units box
|
||||||
region fixed2 block INF INF INF INF 100 INF units box
|
region fixed2 block INF INF INF INF 100 INF units box
|
||||||
group lower region fixed1
|
group lower region fixed1
|
||||||
group upper region fixed2
|
group upper region fixed2
|
||||||
group boundary union upper lower
|
group boundary union upper lower
|
||||||
group mobile subtract all boundary
|
group mobile subtract all boundary
|
||||||
|
|
||||||
variable natoms equal "count(all)"
|
variable natoms equal "count(all)"
|
||||||
print "# of atoms are: ${natoms}"
|
print "# of atoms are: ${natoms}"
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# INTERATOMIC POTENTIAL
|
# INTERATOMIC POTENTIAL
|
||||||
pair_style ${pairstyle}
|
pair_style ${pairstyle}
|
||||||
pair_coeff * * ${pairlocation} Mg Mg
|
pair_coeff * * ${pairlocation} Mg Mg
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# COMPUTES REQUIRED
|
# COMPUTES REQUIRED
|
||||||
compute csym all centro/atom 12
|
compute csym all centro/atom 12
|
||||||
compute eng all pe/atom
|
compute eng all pe/atom
|
||||||
compute eatoms all reduce sum c_eng
|
compute eatoms all reduce sum c_eng
|
||||||
compute basal all basal/atom
|
compute basal all basal/atom
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# MINIMIZATION
|
# MINIMIZATION
|
||||||
# Primarily adjusts the c/a ratio to value predicted by EAM potential
|
# Primarily adjusts the c/a ratio to value predicted by EAM potential
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 1
|
thermo 1
|
||||||
thermo_style custom step pe c_eatoms
|
thermo_style custom step pe c_eatoms
|
||||||
min_style cg
|
min_style cg
|
||||||
minimize 1e-15 1e-15 1000 2000
|
minimize 1e-15 1e-15 1000 2000
|
||||||
variable eminimum equal "c_eatoms / count(all)"
|
variable eminimum equal "c_eatoms / count(all)"
|
||||||
print "%%e(it,1)=${eminimum}"
|
print "%%e(it,1)=${eminimum}"
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# EQUILIBRATION
|
# EQUILIBRATION
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
timestep ${tstep}
|
timestep ${tstep}
|
||||||
# atoms are given a random velocity based on a temperature of 100K.
|
# atoms are given a random velocity based on a temperature of 100K.
|
||||||
velocity all create 100 ${seed} mom yes rot no
|
velocity all create 100 ${seed} mom yes rot no
|
||||||
|
|
||||||
# temperature and pressure are set to 100 and 0
|
# temperature and pressure are set to 100 and 0
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
# Set thermo output
|
# Set thermo output
|
||||||
thermo 100
|
thermo 100
|
||||||
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
|
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
|
||||||
|
|
||||||
# Run for at least 2 picosecond (assuming 1 fs timestep)
|
# Run for at least 2 picosecond (assuming 1 fs timestep)
|
||||||
run 2000
|
run 2000
|
||||||
|
|
||||||
# Loop to run until pressure is below the variable eqpress (defined at beginning of file)
|
# Loop to run until pressure is below the variable eqpress (defined at beginning of file)
|
||||||
label loopeq
|
label loopeq
|
||||||
variable eq loop 100
|
variable eq loop 100
|
||||||
run 250
|
run 250
|
||||||
variable converge equal press
|
variable converge equal press
|
||||||
if "${converge} <= 0" then "variable converge equal -press" else "variable converge equal press"
|
if "${converge} <= 0" then "variable converge equal -press" else "variable converge equal press"
|
||||||
if "${converge} <= 50" then "jump ${fname} breakeq"
|
if "${converge} <= 50" then "jump ${fname} breakeq"
|
||||||
next eq
|
next eq
|
||||||
jump ${fname} loopeq
|
jump ${fname} loopeq
|
||||||
label breakeq
|
label breakeq
|
||||||
|
|
||||||
# Store length for strain rate calculations
|
# Store length for strain rate calculations
|
||||||
variable tmp equal "lx"
|
variable tmp equal "lx"
|
||||||
variable L0 equal ${tmp}
|
variable L0 equal ${tmp}
|
||||||
print "Initial Length, L0: ${L0}"
|
print "Initial Length, L0: ${L0}"
|
||||||
unfix 1
|
unfix 1
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# DEFORMATION
|
# DEFORMATION
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
timestep ${tstep}
|
timestep ${tstep}
|
||||||
|
|
||||||
# Impose constant strain rate
|
# Impose constant strain rate
|
||||||
variable srate1 equal "v_srate / 1.0e10"
|
variable srate1 equal "v_srate / 1.0e10"
|
||||||
velocity upper set 0.0 NULL 0.0 units box
|
velocity upper set 0.0 NULL 0.0 units box
|
||||||
velocity lower set 0.0 NULL 0.0 units box
|
velocity lower set 0.0 NULL 0.0 units box
|
||||||
|
|
||||||
fix 2 upper setforce 0.0 NULL 0.0
|
fix 2 upper setforce 0.0 NULL 0.0
|
||||||
fix 3 lower setforce 0.0 NULL 0.0
|
fix 3 lower setforce 0.0 NULL 0.0
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|
||||||
# Output strain and stress info to file
|
# Output strain and stress info to file
|
||||||
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
|
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
|
||||||
# p2 is in GPa
|
# p2 is in GPa
|
||||||
variable strain equal "(lx - v_L0)/v_L0"
|
variable strain equal "(lx - v_L0)/v_L0"
|
||||||
variable p1 equal "v_strain"
|
variable p1 equal "v_strain"
|
||||||
variable p2 equal "-pxz/10000"
|
variable p2 equal "-pxz/10000"
|
||||||
variable p3 equal "lx"
|
variable p3 equal "lx"
|
||||||
variable p4 equal "temp"
|
variable p4 equal "temp"
|
||||||
variable p5 equal "pe"
|
variable p5 equal "pe"
|
||||||
variable p6 equal "ke"
|
variable p6 equal "ke"
|
||||||
fix def1 all print 100 "${p1} ${p2} ${p3} ${p4} ${p5} ${p6}" file output.def1.txt screen no
|
fix def1 all print 100 "${p1} ${p2} ${p3} ${p4} ${p5} ${p6}" file output.def1.txt screen no
|
||||||
# Dump coordinates to file (for void size calculations)
|
# Dump coordinates to file (for void size calculations)
|
||||||
dump 1 all custom 1000 output.dump.* id x y z c_basal[1] c_basal[2] c_basal[3]
|
dump 1 all custom 1000 output.dump.* id x y z c_basal[1] c_basal[2] c_basal[3]
|
||||||
|
|
||||||
# Display thermo
|
# Display thermo
|
||||||
thermo_style custom step v_strain pxz lx temp pe ke
|
thermo_style custom step v_strain pxz lx temp pe ke
|
||||||
restart 50000 output.restart
|
restart 50000 output.restart
|
||||||
|
|
||||||
# run deformation for 100000 timesteps (10% strain assuming 1 fs timestep and 1e9/s strainrate)
|
# run deformation for 100000 timesteps (10% strain assuming 1 fs timestep and 1e9/s strainrate)
|
||||||
variable runtime equal 0
|
variable runtime equal 0
|
||||||
label loop
|
label loop
|
||||||
displace_atoms all ramp x 0.0 ${srate1} z 10 100 units box
|
displace_atoms all ramp x 0.0 ${srate1} z 10 100 units box
|
||||||
run 100
|
run 100
|
||||||
variable runtime equal ${runtime}+100
|
variable runtime equal ${runtime}+100
|
||||||
if "${runtime} < 100000" then "jump ${fname} loop"
|
if "${runtime} < 100000" then "jump ${fname} loop"
|
||||||
|
|
||||||
######################################
|
######################################
|
||||||
# SIMULATION DONE
|
# SIMULATION DONE
|
||||||
print "All done"
|
print "All done"
|
||||||
|
|||||||
@ -15,6 +15,7 @@ bond_style harmonic
|
|||||||
bond_coeff * 225.0 0.85
|
bond_coeff * 225.0 0.85
|
||||||
|
|
||||||
comm_modify vel yes
|
comm_modify vel yes
|
||||||
|
comm_modify cutoff 3.6
|
||||||
|
|
||||||
# must use pair hybrid, since srp bond particles
|
# must use pair hybrid, since srp bond particles
|
||||||
# do not interact with other atoms types
|
# do not interact with other atoms types
|
||||||
|
|||||||
10
examples/mscg/README
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Running this example requires that LAMMPS be built with the MSCG
|
||||||
|
package and its fix mscg command. The fix uses the Multi-Scale
|
||||||
|
Coarse-Graining (MS-CG) library, freely available at
|
||||||
|
https://github.com/uchicago-voth/MSCG-release, to compute optimized
|
||||||
|
coarse-grained force field parameters. The MS-CG library was
|
||||||
|
developed by Jacob Wagner in Greg Voth's group at the University of
|
||||||
|
Chicago.
|
||||||
|
|
||||||
|
See the lib/mscg/README file for instructions on how to download and
|
||||||
|
install the MS-CG library for use with LAMMPS.
|
||||||
12
examples/mscg/control.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
block_size 1
|
||||||
|
start_frame 1
|
||||||
|
n_frames 19
|
||||||
|
nonbonded_cutoff 10.0
|
||||||
|
basis_type 0
|
||||||
|
primary_output_style 0
|
||||||
|
output_solution_flag 1
|
||||||
|
output_spline_coeffs_flag 1
|
||||||
|
pair_nonbonded_bspline_basis_order 6
|
||||||
|
pair_nonbonded_basis_set_resolution 0.7
|
||||||
|
pair_nonbonded_output_binwidth 0.1
|
||||||
|
matrix_type 0
|
||||||
1015
examples/mscg/data.meoh
Normal file
20180
examples/mscg/dump.meoh
Normal file
22
examples/mscg/in.mscg
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
units real
|
||||||
|
atom_style full
|
||||||
|
pair_style zero 10.0
|
||||||
|
|
||||||
|
read_data data.meoh
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
thermo 1
|
||||||
|
thermo_style custom step
|
||||||
|
|
||||||
|
# Test 1a: range finder functionality
|
||||||
|
fix 1 all mscg 1 range on
|
||||||
|
rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz
|
||||||
|
print "TEST_1a mscg range finder"
|
||||||
|
unfix 1
|
||||||
|
|
||||||
|
# Test 1b: force matching functionality
|
||||||
|
fix 1 all mscg 1
|
||||||
|
rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz
|
||||||
|
print "TEST_1b mscg force matching"
|
||||||
|
|
||||||
|
print TEST_DONE
|
||||||
77
examples/mscg/output_9Jan17/1_1.dat
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
2.500000 5.670970817963099e+02
|
||||||
|
2.600000 2.404059283529051e+02
|
||||||
|
2.700000 9.157060823529977e+01
|
||||||
|
2.800000 3.428273061369140e+01
|
||||||
|
2.900000 1.619868149395266e+01
|
||||||
|
3.000000 1.039607214301755e+01
|
||||||
|
3.100000 6.830187514267188e+00
|
||||||
|
3.200000 3.861970842349535e+00
|
||||||
|
3.300000 1.645948643278161e+00
|
||||||
|
3.400000 2.395428971623918e-01
|
||||||
|
3.500000 -4.276763637833773e-01
|
||||||
|
3.600000 -5.132022977965877e-01
|
||||||
|
3.700000 -2.208024961234051e-01
|
||||||
|
3.800000 2.402697744243800e-01
|
||||||
|
3.900000 6.956064296165573e-01
|
||||||
|
4.000000 1.034070044257954e+00
|
||||||
|
4.100000 1.205997975111669e+00
|
||||||
|
4.200000 1.209501102128581e+00
|
||||||
|
4.300000 1.076304670380924e+00
|
||||||
|
4.400000 8.575891319958883e-01
|
||||||
|
4.500000 6.098309880892070e-01
|
||||||
|
4.600000 3.807992942746473e-01
|
||||||
|
4.700000 1.995994191469442e-01
|
||||||
|
4.800000 7.699059877424269e-02
|
||||||
|
4.900000 9.750744163981299e-03
|
||||||
|
5.000000 -1.480308769532222e-02
|
||||||
|
5.100000 -1.429422279228416e-02
|
||||||
|
5.200000 -6.765899050869768e-03
|
||||||
|
5.300000 -6.214398421078919e-03
|
||||||
|
5.400000 -1.951586041390797e-02
|
||||||
|
5.500000 -4.689090237947263e-02
|
||||||
|
5.600000 -8.376292122940529e-02
|
||||||
|
5.700000 -1.226699982917263e-01
|
||||||
|
5.800000 -1.551768041657136e-01
|
||||||
|
5.900000 -1.737865035767736e-01
|
||||||
|
6.000000 -1.738272491408507e-01
|
||||||
|
6.100000 -1.546779867768825e-01
|
||||||
|
6.200000 -1.193171291488982e-01
|
||||||
|
6.300000 -7.321054075616322e-02
|
||||||
|
6.400000 -2.317411193286228e-02
|
||||||
|
6.500000 2.376366715221714e-02
|
||||||
|
6.600000 6.149913249600215e-02
|
||||||
|
6.700000 8.597538938112201e-02
|
||||||
|
6.800000 9.590170060736655e-02
|
||||||
|
6.900000 9.245100462148878e-02
|
||||||
|
7.000000 7.855487875847664e-02
|
||||||
|
7.100000 5.818301960249692e-02
|
||||||
|
7.200000 3.562272334783877e-02
|
||||||
|
7.300000 1.475836615985744e-02
|
||||||
|
7.400000 -1.639617536128255e-03
|
||||||
|
7.500000 -1.237881063914745e-02
|
||||||
|
7.600000 -1.768202571195587e-02
|
||||||
|
7.700000 -1.877757119362295e-02
|
||||||
|
7.800000 -1.748001968416543e-02
|
||||||
|
7.900000 -1.577097622918088e-02
|
||||||
|
8.000000 -1.537984660448136e-02
|
||||||
|
8.100000 -1.737044400054951e-02
|
||||||
|
8.200000 -2.187939410237979e-02
|
||||||
|
8.300000 -2.823987455760605e-02
|
||||||
|
8.400000 -3.525715284001425e-02
|
||||||
|
8.500000 -4.148996251287761e-02
|
||||||
|
8.600000 -4.553187949229211e-02
|
||||||
|
8.700000 -4.629269831051163e-02
|
||||||
|
8.800000 -4.327548798226762e-02
|
||||||
|
8.900000 -3.674131754868225e-02
|
||||||
|
9.000000 -2.758883541814894e-02
|
||||||
|
9.100000 -1.712151838480657e-02
|
||||||
|
9.200000 -6.810600249997737e-03
|
||||||
|
9.300000 1.941999556272785e-03
|
||||||
|
9.400000 8.040747353879739e-03
|
||||||
|
9.500000 1.092691524686838e-02
|
||||||
|
9.600000 1.063606620723048e-02
|
||||||
|
9.700000 7.416550438142138e-03
|
||||||
|
9.800000 1.175066786686231e-03
|
||||||
|
9.900000 -9.084427187675534e-03
|
||||||
|
10.000000 -2.582180514463068e-02
|
||||||
|
10.100000 -5.352186189454393e-02
|
||||||
82
examples/mscg/output_9Jan17/1_1.table
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# Header information on force file
|
||||||
|
|
||||||
|
1_1
|
||||||
|
N 77 R 2.500000 10.100000
|
||||||
|
|
||||||
|
1 2.500000 69.428523 567.097082
|
||||||
|
2 2.600000 29.053372 240.405928
|
||||||
|
3 2.700000 12.454545 91.570608
|
||||||
|
4 2.800000 6.161878 34.282731
|
||||||
|
5 2.900000 3.637808 16.198681
|
||||||
|
6 3.000000 2.308070 10.396072
|
||||||
|
7 3.100000 1.446757 6.830188
|
||||||
|
8 3.200000 0.912149 3.861971
|
||||||
|
9 3.300000 0.636753 1.645949
|
||||||
|
10 3.400000 0.542478 0.239543
|
||||||
|
11 3.500000 0.551885 -0.427676
|
||||||
|
12 3.600000 0.598929 -0.513202
|
||||||
|
13 3.700000 0.635629 -0.220802
|
||||||
|
14 3.800000 0.634656 0.240270
|
||||||
|
15 3.900000 0.587862 0.695606
|
||||||
|
16 4.000000 0.501378 1.034070
|
||||||
|
17 4.100000 0.389375 1.205998
|
||||||
|
18 4.200000 0.268600 1.209501
|
||||||
|
19 4.300000 0.154310 1.076305
|
||||||
|
20 4.400000 0.057615 0.857589
|
||||||
|
21 4.500000 -0.015756 0.609831
|
||||||
|
22 4.600000 -0.065288 0.380799
|
||||||
|
23 4.700000 -0.094307 0.199599
|
||||||
|
24 4.800000 -0.108137 0.076991
|
||||||
|
25 4.900000 -0.112474 0.009751
|
||||||
|
26 5.000000 -0.112221 -0.014803
|
||||||
|
27 5.100000 -0.110767 -0.014294
|
||||||
|
28 5.200000 -0.109714 -0.006766
|
||||||
|
29 5.300000 -0.109065 -0.006214
|
||||||
|
30 5.400000 -0.107778 -0.019516
|
||||||
|
31 5.500000 -0.104458 -0.046891
|
||||||
|
32 5.600000 -0.097925 -0.083763
|
||||||
|
33 5.700000 -0.087603 -0.122670
|
||||||
|
34 5.800000 -0.073711 -0.155177
|
||||||
|
35 5.900000 -0.057263 -0.173787
|
||||||
|
36 6.000000 -0.039882 -0.173827
|
||||||
|
37 6.100000 -0.023457 -0.154678
|
||||||
|
38 6.200000 -0.009757 -0.119317
|
||||||
|
39 6.300000 -0.000131 -0.073211
|
||||||
|
40 6.400000 0.004688 -0.023174
|
||||||
|
41 6.500000 0.004659 0.023764
|
||||||
|
42 6.600000 0.000396 0.061499
|
||||||
|
43 6.700000 -0.006978 0.085975
|
||||||
|
44 6.800000 -0.016072 0.095902
|
||||||
|
45 6.900000 -0.025489 0.092451
|
||||||
|
46 7.000000 -0.034040 0.078555
|
||||||
|
47 7.100000 -0.040877 0.058183
|
||||||
|
48 7.200000 -0.045567 0.035623
|
||||||
|
49 7.300000 -0.048086 0.014758
|
||||||
|
50 7.400000 -0.048742 -0.001640
|
||||||
|
51 7.500000 -0.048041 -0.012379
|
||||||
|
52 7.600000 -0.046538 -0.017682
|
||||||
|
53 7.700000 -0.044715 -0.018778
|
||||||
|
54 7.800000 -0.042902 -0.017480
|
||||||
|
55 7.900000 -0.041239 -0.015771
|
||||||
|
56 8.000000 -0.039682 -0.015380
|
||||||
|
57 8.100000 -0.038044 -0.017370
|
||||||
|
58 8.200000 -0.036082 -0.021879
|
||||||
|
59 8.300000 -0.033576 -0.028240
|
||||||
|
60 8.400000 -0.030401 -0.035257
|
||||||
|
61 8.500000 -0.026564 -0.041490
|
||||||
|
62 8.600000 -0.022213 -0.045532
|
||||||
|
63 8.700000 -0.017621 -0.046293
|
||||||
|
64 8.800000 -0.013143 -0.043275
|
||||||
|
65 8.900000 -0.009142 -0.036741
|
||||||
|
66 9.000000 -0.005926 -0.027589
|
||||||
|
67 9.100000 -0.003690 -0.017122
|
||||||
|
68 9.200000 -0.002494 -0.006811
|
||||||
|
69 9.300000 -0.002250 0.001942
|
||||||
|
70 9.400000 -0.002749 0.008041
|
||||||
|
71 9.500000 -0.003698 0.010927
|
||||||
|
72 9.600000 -0.004776 0.010636
|
||||||
|
73 9.700000 -0.005678 0.007417
|
||||||
|
74 9.800000 -0.006108 0.001175
|
||||||
|
75 9.900000 -0.005712 -0.009084
|
||||||
|
76 10.000000 -0.003967 -0.025822
|
||||||
|
77 10.100000 0.000000 -0.053522
|
||||||
2
examples/mscg/output_9Jan17/b-spline.out
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
n: 1 1 6 12 2.400000000000002e+00 1.010000000000000e+01
|
||||||
|
1.200460787805587e+03 2.169623423326193e+01 2.388396964379328e+01 -1.197754948555067e+01 6.472482422420378e+00 -1.483711824891365e+00 7.768139601662113e-01 -7.869494711740244e-01 4.830820182054661e-01 -1.892989444995645e-01 1.021275453070386e-01 -1.637649039972671e-01 5.570978712841167e-02 7.637188693695119e-03 -4.109175461195019e-03 -5.352186189455146e-02
|
||||||
1
examples/mscg/output_9Jan17/rmin.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
1 1 2.852369 10.000000 fm
|
||||||
0
examples/mscg/output_9Jan17/rmin_b.in
Normal file
18
examples/mscg/output_9Jan17/sol_info.out
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
fm_matrix_rows:3000; fm_matrix_columns:16;
|
||||||
|
Singular vector:
|
||||||
|
2.442317e+00
|
||||||
|
2.105009e+00
|
||||||
|
1.433251e+00
|
||||||
|
1.184602e+00
|
||||||
|
9.739627e-01
|
||||||
|
6.944898e-01
|
||||||
|
5.376709e-01
|
||||||
|
4.616070e-01
|
||||||
|
3.257062e-01
|
||||||
|
2.683729e-01
|
||||||
|
1.530153e-01
|
||||||
|
9.336288e-02
|
||||||
|
5.042150e-02
|
||||||
|
2.126912e-02
|
||||||
|
1.446682e-02
|
||||||
|
4.167763e-05
|
||||||
1
examples/mscg/output_9Jan17/x.out
Normal file
@ -0,0 +1 @@
|
|||||||
|
<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>@47h<<3C>5@<40><><EFBFBD><EFBFBD>K<EFBFBD>7@<40>R<EFBFBD>]<5D><>'<27><><EFBFBD><EFBFBD>n<EFBFBD><6E>@I<DD8C>H<EFBFBD><48><EFBFBD><19>?<3F><><EFBFBD><EFBFBD>?r<>I<EFBFBD><49>.<2E><><11>^<5E><><EFBFBD><EFBFBD>?W<57><7F><EFBFBD>:ȿ(O<1D>%<25>?<3F>Ns<4E>?<3F>Ŀ<EFBFBD>:<3A>C<EFBFBD><43><EFBFBD>?<3F><><EFBFBD>:,H?<3F>}<7D>c<EFBFBD><63>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>7g<37><67>
|
||||||
@ -78,7 +78,7 @@ run 100
|
|||||||
|
|
||||||
# only output atoms near vacancy
|
# only output atoms near vacancy
|
||||||
|
|
||||||
compute coord all coord/atom $r
|
compute coord all coord/atom cutoff $r
|
||||||
|
|
||||||
#dump events all custom 1 dump.prd id type x y z
|
#dump events all custom 1 dump.prd id type x y z
|
||||||
#dump_modify events thresh c_coord != 4
|
#dump_modify events thresh c_coord != 4
|
||||||
|
|||||||
@ -80,7 +80,7 @@ velocity all zero linear
|
|||||||
|
|
||||||
# only output atoms near vacancy
|
# only output atoms near vacancy
|
||||||
|
|
||||||
compute coord all coord/atom $r
|
compute coord all coord/atom cutoff $r
|
||||||
|
|
||||||
#dump events all custom 1 dump.prd id type x y z
|
#dump events all custom 1 dump.prd id type x y z
|
||||||
#dump_modify events thresh c_coord != 4
|
#dump_modify events thresh c_coord != 4
|
||||||
|
|||||||
10
examples/voronoi/README
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Running this example requires that LAMMPS be built with the VORONOI
|
||||||
|
package and its compute voronoi command. The compute uses the Voro++
|
||||||
|
library, freely available at http://math.lbl.gov/voro++, to compute
|
||||||
|
the Voronoi tesselation locally on each processor. Voro++ was
|
||||||
|
developed by Chris H. Rycroft while at UC Berkeley / Lawrence Berkeley
|
||||||
|
Laboratory.
|
||||||
|
|
||||||
|
See the lib/voronoi/README file for instructions on how to download
|
||||||
|
and install the Voro++ library for use with LAMMPS.
|
||||||
|
|
||||||
@ -39,6 +39,8 @@ meam modified embedded atom method (MEAM) potential, MEAM package
|
|||||||
from Greg Wagner (Sandia)
|
from Greg Wagner (Sandia)
|
||||||
molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package
|
molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package
|
||||||
from Axel Kohlmeyer (Temple U) and the VMD development team
|
from Axel Kohlmeyer (Temple U) and the VMD development team
|
||||||
|
mscg hooks to the MSCG library, used by fix_mscg command
|
||||||
|
from Jacob Wagner and Greg Voth group (U Chicago)
|
||||||
python hooks to the system Python library, used by the PYTHON package
|
python hooks to the system Python library, used by the PYTHON package
|
||||||
from the LAMMPS development team
|
from the LAMMPS development team
|
||||||
qmmm quantum mechanics/molecular mechanics coupling interface
|
qmmm quantum mechanics/molecular mechanics coupling interface
|
||||||
|
|||||||
119
lib/colvars/Makefile.colvars
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
# library build -*- makefile -*- for colvars module
|
||||||
|
|
||||||
|
# which file will be copied to Makefile.lammps
|
||||||
|
|
||||||
|
EXTRAMAKE = Makefile.lammps.empty
|
||||||
|
|
||||||
|
# ------ SETTINGS ------
|
||||||
|
|
||||||
|
CXX = g++
|
||||||
|
CXXFLAGS = -O2 -g -Wall -fPIC -funroll-loops # -DCOLVARS_DEBUG
|
||||||
|
ARCHIVE = ar
|
||||||
|
ARCHFLAG = -rscv
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# ------ DEFINITIONS ------
|
||||||
|
|
||||||
|
SRC = colvaratoms.cpp colvarbias_abf.cpp colvarbias_alb.cpp colvarbias.cpp \
|
||||||
|
colvarbias_histogram.cpp colvarbias_meta.cpp colvarbias_restraint.cpp \
|
||||||
|
colvarcomp_angles.cpp colvarcomp_coordnums.cpp colvarcomp.cpp \
|
||||||
|
colvarcomp_distances.cpp colvarcomp_protein.cpp colvarcomp_rotations.cpp \
|
||||||
|
colvardeps.cpp colvar.cpp colvargrid.cpp colvarmodule.cpp colvarparse.cpp \
|
||||||
|
colvarscript.cpp colvartypes.cpp colvarvalue.cpp
|
||||||
|
|
||||||
|
LIB = libcolvars.a
|
||||||
|
OBJ = $(SRC:.cpp=.o)
|
||||||
|
EXE = #colvars_standalone
|
||||||
|
|
||||||
|
# ------ MAKE PROCEDURE ------
|
||||||
|
|
||||||
|
default: $(LIB) $(EXE) Makefile.lammps
|
||||||
|
|
||||||
|
Makefile.lammps:
|
||||||
|
@cp $(EXTRAMAKE) Makefile.lammps
|
||||||
|
|
||||||
|
$(LIB): $(OBJ)
|
||||||
|
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
|
||||||
|
|
||||||
|
colvars_standalone: colvars_main.o colvarproxy_standalone.o $(LIB)
|
||||||
|
$(CXX) -o $@ $(CXXFLAGS) $^
|
||||||
|
|
||||||
|
# ------ MAKE FLAGS ------
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .cpp .o
|
||||||
|
|
||||||
|
.PHONY: default clean
|
||||||
|
|
||||||
|
# ------ COMPILE RULES ------
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(CXX) $(CXXFLAGS) -c $<
|
||||||
|
|
||||||
|
# ------ DEPENDENCIES ------
|
||||||
|
#
|
||||||
|
colvaratoms.o: colvaratoms.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarparse.h colvardeps.h colvaratoms.h
|
||||||
|
colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvar.h colvarparse.h colvardeps.h \
|
||||||
|
colvarbias_abf.h colvarbias.h colvargrid.h
|
||||||
|
colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvarbias_alb.h colvar.h colvarparse.h \
|
||||||
|
colvardeps.h colvarbias_restraint.h colvarbias.h
|
||||||
|
colvarbias.o: colvarbias.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarbias.h colvar.h colvarparse.h colvardeps.h
|
||||||
|
colvarbias_histogram.o: colvarbias_histogram.cpp colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvar.h colvarparse.h \
|
||||||
|
colvardeps.h colvarbias_histogram.h colvarbias.h colvargrid.h
|
||||||
|
colvarbias_meta.o: colvarbias_meta.cpp colvar.h colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
|
||||||
|
colvarbias_meta.h colvarbias.h colvargrid.h
|
||||||
|
colvarbias_restraint.o: colvarbias_restraint.cpp colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarbias_restraint.h \
|
||||||
|
colvarbias.h colvar.h colvarparse.h colvardeps.h
|
||||||
|
colvarcomp_angles.o: colvarcomp_angles.cpp colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvar.h colvarparse.h colvardeps.h \
|
||||||
|
colvarcomp.h colvaratoms.h
|
||||||
|
colvarcomp_coordnums.o: colvarcomp_coordnums.cpp colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
|
||||||
|
colvaratoms.h colvar.h colvarcomp.h
|
||||||
|
colvarcomp.o: colvarcomp.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvar.h colvarparse.h colvardeps.h colvarcomp.h \
|
||||||
|
colvaratoms.h
|
||||||
|
colvarcomp_distances.o: colvarcomp_distances.cpp colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
|
||||||
|
colvar.h colvarcomp.h colvaratoms.h
|
||||||
|
colvarcomp_protein.o: colvarcomp_protein.cpp colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h colvar.h \
|
||||||
|
colvarcomp.h colvaratoms.h
|
||||||
|
colvarcomp_rotations.o: colvarcomp_rotations.cpp colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h \
|
||||||
|
colvar.h colvarcomp.h colvaratoms.h
|
||||||
|
colvar.o: colvar.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarparse.h colvardeps.h colvar.h colvarcomp.h \
|
||||||
|
colvaratoms.h colvarscript.h colvarbias.h
|
||||||
|
colvardeps.o: colvardeps.cpp colvardeps.h colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvarparse.h
|
||||||
|
colvargrid.o: colvargrid.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarparse.h colvardeps.h colvar.h colvarcomp.h \
|
||||||
|
colvaratoms.h colvargrid.h
|
||||||
|
colvarmodule.o: colvarmodule.cpp colvarmodule.h colvartypes.h \
|
||||||
|
colvarproxy.h colvarvalue.h colvarparse.h colvardeps.h colvar.h \
|
||||||
|
colvarbias.h colvarbias_abf.h colvargrid.h colvarbias_alb.h \
|
||||||
|
colvarbias_restraint.h colvarbias_histogram.h colvarbias_meta.h \
|
||||||
|
colvarscript.h
|
||||||
|
colvarparse.o: colvarparse.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarparse.h
|
||||||
|
colvarscript.o: colvarscript.cpp colvarscript.h colvarmodule.h \
|
||||||
|
colvartypes.h colvarproxy.h colvarvalue.h colvarbias.h colvar.h \
|
||||||
|
colvarparse.h colvardeps.h
|
||||||
|
colvartypes.o: colvartypes.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h colvarparse.h
|
||||||
|
colvarvalue.o: colvarvalue.cpp colvarmodule.h colvartypes.h colvarproxy.h \
|
||||||
|
colvarvalue.h
|
||||||
|
|
||||||
|
# ------ CLEAN ------
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm *.o *~ $(LIB)
|
||||||
|
|
||||||
@ -1,5 +1,12 @@
|
|||||||
// -*- c++ -*-
|
// -*- c++ -*-
|
||||||
|
|
||||||
|
// This file is part of the Collective Variables module (Colvars).
|
||||||
|
// The original version of Colvars and its updates are located at:
|
||||||
|
// https://github.com/colvars/colvars
|
||||||
|
// Please update all Colvars source files before making any changes.
|
||||||
|
// If you wish to distribute your changes, please submit them to the
|
||||||
|
// Colvars repository at GitHub.
|
||||||
|
|
||||||
#include "colvarmodule.h"
|
#include "colvarmodule.h"
|
||||||
#include "colvarvalue.h"
|
#include "colvarvalue.h"
|
||||||
#include "colvarparse.h"
|
#include "colvarparse.h"
|
||||||
@ -163,38 +170,38 @@ colvar::colvar(std::string const &conf)
|
|||||||
}
|
}
|
||||||
feature_states[f_cv_homogeneous]->enabled = homogeneous;
|
feature_states[f_cv_homogeneous]->enabled = homogeneous;
|
||||||
}
|
}
|
||||||
// Colvar is deemed periodic iff:
|
|
||||||
|
// Colvar is deemed periodic if:
|
||||||
// - it is homogeneous
|
// - it is homogeneous
|
||||||
// - all cvcs are periodic
|
// - all cvcs are periodic
|
||||||
// - all cvcs have the same period
|
// - all cvcs have the same period
|
||||||
|
if (cvcs[0]->b_periodic) { // TODO make this a CVC feature
|
||||||
b_periodic = cvcs[0]->b_periodic && is_enabled(f_cv_homogeneous);
|
bool b_periodic = true;
|
||||||
period = cvcs[0]->period;
|
period = cvcs[0]->period;
|
||||||
for (i = 1; i < cvcs.size(); i++) {
|
for (i = 1; i < cvcs.size(); i++) {
|
||||||
if (!cvcs[i]->b_periodic || cvcs[i]->period != period) {
|
if (!cvcs[i]->b_periodic || cvcs[i]->period != period) {
|
||||||
b_periodic = false;
|
b_periodic = false;
|
||||||
period = 0.0;
|
period = 0.0;
|
||||||
|
cvm::log("Warning: although one component is periodic, this colvar will "
|
||||||
|
"not be treated as periodic, either because the exponent is not "
|
||||||
|
"1, or because components of different periodicity are defined. "
|
||||||
|
"Make sure that you know what you are doing!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
feature_states[f_cv_periodic]->enabled = b_periodic;
|
||||||
}
|
}
|
||||||
feature_states[f_cv_periodic]->enabled = b_periodic;
|
|
||||||
|
|
||||||
// check that cvcs are compatible
|
// check that cvcs are compatible
|
||||||
|
|
||||||
for (i = 0; i < cvcs.size(); i++) {
|
for (i = 0; i < cvcs.size(); i++) {
|
||||||
if ((cvcs[i])->b_periodic && !b_periodic) {
|
|
||||||
cvm::log("Warning: although this component is periodic, the colvar will "
|
|
||||||
"not be treated as periodic, either because the exponent is not "
|
|
||||||
"1, or because multiple components are present. Make sure that "
|
|
||||||
"you know what you are doing!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// components may have different types only for scripted functions
|
// components may have different types only for scripted functions
|
||||||
if (!is_enabled(f_cv_scripted) && (colvarvalue::check_types(cvcs[i]->value(),
|
if (!is_enabled(f_cv_scripted) && (colvarvalue::check_types(cvcs[i]->value(),
|
||||||
cvcs[0]->value())) ) {
|
cvcs[0]->value())) ) {
|
||||||
cvm::error("ERROR: you are definining this collective variable "
|
cvm::error("ERROR: you are definining this collective variable "
|
||||||
"by using components of different types. "
|
"by using components of different types. "
|
||||||
"You must use the same type in order to "
|
"You must use the same type in order to "
|
||||||
" sum them together.\n", INPUT_ERROR);
|
"sum them together.\n", INPUT_ERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -207,16 +214,15 @@ colvar::colvar(std::string const &conf)
|
|||||||
// at this point, the colvar's type is defined
|
// at this point, the colvar's type is defined
|
||||||
f.type(value());
|
f.type(value());
|
||||||
f_accumulated.type(value());
|
f_accumulated.type(value());
|
||||||
fb.type(value());
|
|
||||||
|
reset_bias_force();
|
||||||
|
|
||||||
get_keyval(conf, "width", width, 1.0);
|
get_keyval(conf, "width", width, 1.0);
|
||||||
if (width <= 0.0) {
|
if (width <= 0.0) {
|
||||||
cvm::error("Error: \"width\" must be positive.\n", INPUT_ERROR);
|
cvm::error("Error: \"width\" must be positive.\n", INPUT_ERROR);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: not porting wall stuff to new deps, as this will change to a separate bias
|
|
||||||
// the grid functions will wait a little as well
|
|
||||||
|
|
||||||
lower_boundary.type(value());
|
lower_boundary.type(value());
|
||||||
lower_wall.type(value());
|
lower_wall.type(value());
|
||||||
|
|
||||||
@ -308,6 +314,9 @@ colvar::colvar(std::string const &conf)
|
|||||||
enable(f_cv_extended_Lagrangian);
|
enable(f_cv_extended_Lagrangian);
|
||||||
provide(f_cv_Langevin);
|
provide(f_cv_Langevin);
|
||||||
|
|
||||||
|
// The extended mass will apply forces
|
||||||
|
enable(f_cv_gradient);
|
||||||
|
|
||||||
xr.type(value());
|
xr.type(value());
|
||||||
vr.type(value());
|
vr.type(value());
|
||||||
fr.type(value());
|
fr.type(value());
|
||||||
@ -400,6 +409,9 @@ colvar::colvar(std::string const &conf)
|
|||||||
f_old.type(value());
|
f_old.type(value());
|
||||||
f_old.reset();
|
f_old.reset();
|
||||||
|
|
||||||
|
x_restart.type(value());
|
||||||
|
after_restart = false;
|
||||||
|
|
||||||
if (cvm::b_analysis)
|
if (cvm::b_analysis)
|
||||||
parse_analysis(conf);
|
parse_analysis(conf);
|
||||||
|
|
||||||
@ -761,9 +773,13 @@ int colvar::calc_cvcs(int first_cvc, size_t num_cvcs)
|
|||||||
return error_code;
|
return error_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cvm::step_relative() > 0) {
|
||||||
|
// Total force depends on Jacobian derivative from previous timestep
|
||||||
|
error_code |= calc_cvc_total_force(first_cvc, num_cvcs);
|
||||||
|
}
|
||||||
|
// atom coordinates are updated by the next line
|
||||||
error_code |= calc_cvc_values(first_cvc, num_cvcs);
|
error_code |= calc_cvc_values(first_cvc, num_cvcs);
|
||||||
error_code |= calc_cvc_gradients(first_cvc, num_cvcs);
|
error_code |= calc_cvc_gradients(first_cvc, num_cvcs);
|
||||||
error_code |= calc_cvc_total_force(first_cvc, num_cvcs);
|
|
||||||
error_code |= calc_cvc_Jacobians(first_cvc, num_cvcs);
|
error_code |= calc_cvc_Jacobians(first_cvc, num_cvcs);
|
||||||
|
|
||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
@ -780,9 +796,12 @@ int colvar::collect_cvc_data()
|
|||||||
|
|
||||||
int error_code = COLVARS_OK;
|
int error_code = COLVARS_OK;
|
||||||
|
|
||||||
|
if (cvm::step_relative() > 0) {
|
||||||
|
// Total force depends on Jacobian derivative from previous timestep
|
||||||
|
error_code |= collect_cvc_total_forces();
|
||||||
|
}
|
||||||
error_code |= collect_cvc_values();
|
error_code |= collect_cvc_values();
|
||||||
error_code |= collect_cvc_gradients();
|
error_code |= collect_cvc_gradients();
|
||||||
error_code |= collect_cvc_total_forces();
|
|
||||||
error_code |= collect_cvc_Jacobians();
|
error_code |= collect_cvc_Jacobians();
|
||||||
error_code |= calc_colvar_properties();
|
error_code |= calc_colvar_properties();
|
||||||
|
|
||||||
@ -872,6 +891,22 @@ int colvar::collect_cvc_values()
|
|||||||
cvm::log("Colvar \""+this->name+"\" has value "+
|
cvm::log("Colvar \""+this->name+"\" has value "+
|
||||||
cvm::to_str(x, cvm::cv_width, cvm::cv_prec)+".\n");
|
cvm::to_str(x, cvm::cv_width, cvm::cv_prec)+".\n");
|
||||||
|
|
||||||
|
if (after_restart) {
|
||||||
|
after_restart = false;
|
||||||
|
if (cvm::proxy->simulation_running()) {
|
||||||
|
cvm::real const jump2 = dist2(x, x_restart) / (width*width);
|
||||||
|
if (jump2 > 0.25) {
|
||||||
|
cvm::error("Error: the calculated value of colvar \""+name+
|
||||||
|
"\":\n"+cvm::to_str(x)+"\n differs greatly from the value "
|
||||||
|
"last read from the state file:\n"+cvm::to_str(x_restart)+
|
||||||
|
"\nPossible causes are changes in configuration, "
|
||||||
|
"wrong state file, or how PBC wrapping is handled.\n",
|
||||||
|
INPUT_ERROR);
|
||||||
|
return INPUT_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return COLVARS_OK;
|
return COLVARS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -979,22 +1014,17 @@ int colvar::calc_cvc_total_force(int first_cvc, size_t num_cvcs)
|
|||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
cvm::log("Calculating total force of colvar \""+this->name+"\".\n");
|
cvm::log("Calculating total force of colvar \""+this->name+"\".\n");
|
||||||
|
|
||||||
// if (!tasks[task_extended_lagrangian] && (cvm::step_relative() > 0)) {
|
cvm::increase_depth();
|
||||||
// Disabled check to allow for explicit total force calculation
|
|
||||||
// even with extended Lagrangian
|
|
||||||
|
|
||||||
if (cvm::step_relative() > 0) {
|
for (i = first_cvc, cvc_count = 0;
|
||||||
cvm::increase_depth();
|
(i < cvcs.size()) && (cvc_count < cvc_max_count);
|
||||||
// get from the cvcs the total forces from the PREVIOUS step
|
i++) {
|
||||||
for (i = first_cvc, cvc_count = 0;
|
if (!cvcs[i]->is_enabled()) continue;
|
||||||
(i < cvcs.size()) && (cvc_count < cvc_max_count);
|
cvc_count++;
|
||||||
i++) {
|
(cvcs[i])->calc_force_invgrads();
|
||||||
if (!cvcs[i]->is_enabled()) continue;
|
|
||||||
cvc_count++;
|
|
||||||
(cvcs[i])->calc_force_invgrads();
|
|
||||||
}
|
|
||||||
cvm::decrease_depth();
|
|
||||||
}
|
}
|
||||||
|
cvm::decrease_depth();
|
||||||
|
|
||||||
|
|
||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
cvm::log("Done calculating total force of colvar \""+this->name+"\".\n");
|
cvm::log("Done calculating total force of colvar \""+this->name+"\".\n");
|
||||||
@ -1013,6 +1043,11 @@ int colvar::collect_cvc_total_forces()
|
|||||||
// get from the cvcs the total forces from the PREVIOUS step
|
// get from the cvcs the total forces from the PREVIOUS step
|
||||||
for (size_t i = 0; i < cvcs.size(); i++) {
|
for (size_t i = 0; i < cvcs.size(); i++) {
|
||||||
if (!cvcs[i]->is_enabled()) continue;
|
if (!cvcs[i]->is_enabled()) continue;
|
||||||
|
if (cvm::debug())
|
||||||
|
cvm::log("Colvar component no. "+cvm::to_str(i+1)+
|
||||||
|
" within colvar \""+this->name+"\" has total force "+
|
||||||
|
cvm::to_str((cvcs[i])->total_force(),
|
||||||
|
cvm::cv_width, cvm::cv_prec)+".\n");
|
||||||
// linear combination is assumed
|
// linear combination is assumed
|
||||||
ft += (cvcs[i])->total_force() * (cvcs[i])->sup_coeff / active_cvc_square_norm;
|
ft += (cvcs[i])->total_force() * (cvcs[i])->sup_coeff / active_cvc_square_norm;
|
||||||
}
|
}
|
||||||
@ -1056,6 +1091,11 @@ int colvar::collect_cvc_Jacobians()
|
|||||||
fj.reset();
|
fj.reset();
|
||||||
for (size_t i = 0; i < cvcs.size(); i++) {
|
for (size_t i = 0; i < cvcs.size(); i++) {
|
||||||
if (!cvcs[i]->is_enabled()) continue;
|
if (!cvcs[i]->is_enabled()) continue;
|
||||||
|
if (cvm::debug())
|
||||||
|
cvm::log("Colvar component no. "+cvm::to_str(i+1)+
|
||||||
|
" within colvar \""+this->name+"\" has Jacobian derivative"+
|
||||||
|
cvm::to_str((cvcs[i])->Jacobian_derivative(),
|
||||||
|
cvm::cv_width, cvm::cv_prec)+".\n");
|
||||||
// linear combination is assumed
|
// linear combination is assumed
|
||||||
fj += (cvcs[i])->Jacobian_derivative() * (cvcs[i])->sup_coeff / active_cvc_square_norm;
|
fj += (cvcs[i])->Jacobian_derivative() * (cvcs[i])->sup_coeff / active_cvc_square_norm;
|
||||||
}
|
}
|
||||||
@ -1085,7 +1125,7 @@ int colvar::calc_colvar_properties()
|
|||||||
// TODO: put it in the restart information
|
// TODO: put it in the restart information
|
||||||
if (cvm::step_relative() == 0) {
|
if (cvm::step_relative() == 0) {
|
||||||
xr = x;
|
xr = x;
|
||||||
vr = 0.0; // (already 0; added for clarity)
|
vr.reset(); // (already 0; added for clarity)
|
||||||
}
|
}
|
||||||
|
|
||||||
// report the restraint center as "value"
|
// report the restraint center as "value"
|
||||||
@ -1128,15 +1168,16 @@ cvm::real colvar::update_forces_energy()
|
|||||||
if (is_enabled(f_cv_Jacobian)) {
|
if (is_enabled(f_cv_Jacobian)) {
|
||||||
// the instantaneous Jacobian force was not included in the reported total force;
|
// the instantaneous Jacobian force was not included in the reported total force;
|
||||||
// instead, it is subtracted from the applied force (silent Jacobian correction)
|
// instead, it is subtracted from the applied force (silent Jacobian correction)
|
||||||
|
// This requires the Jacobian term for the *current* timestep
|
||||||
if (is_enabled(f_cv_hide_Jacobian))
|
if (is_enabled(f_cv_hide_Jacobian))
|
||||||
f -= fj;
|
f -= fj;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_enabled(f_cv_lower_wall) || is_enabled(f_cv_upper_wall)) {
|
// Wall force
|
||||||
|
colvarvalue fw(x);
|
||||||
|
fw.reset();
|
||||||
|
|
||||||
// Wall force
|
if (is_enabled(f_cv_lower_wall) || is_enabled(f_cv_upper_wall)) {
|
||||||
colvarvalue fw(x);
|
|
||||||
fw.reset();
|
|
||||||
|
|
||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
cvm::log("Calculating wall forces for colvar \""+this->name+"\".\n");
|
cvm::log("Calculating wall forces for colvar \""+this->name+"\".\n");
|
||||||
@ -1144,12 +1185,11 @@ cvm::real colvar::update_forces_energy()
|
|||||||
// For a periodic colvar, both walls may be applicable at the same time
|
// For a periodic colvar, both walls may be applicable at the same time
|
||||||
// in which case we pick the closer one
|
// in which case we pick the closer one
|
||||||
if ( (!is_enabled(f_cv_upper_wall)) ||
|
if ( (!is_enabled(f_cv_upper_wall)) ||
|
||||||
(this->dist2(x_reported, lower_wall) < this->dist2(x_reported, upper_wall)) ) {
|
(this->dist2(x, lower_wall) < this->dist2(x, upper_wall)) ) {
|
||||||
|
|
||||||
cvm::real const grad = this->dist2_lgrad(x_reported, lower_wall);
|
cvm::real const grad = this->dist2_lgrad(x, lower_wall);
|
||||||
if (grad < 0.0) {
|
if (grad < 0.0) {
|
||||||
fw = -0.5 * lower_wall_k * grad;
|
fw = -0.5 * lower_wall_k * grad;
|
||||||
f += fw;
|
|
||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
cvm::log("Applying a lower wall force("+
|
cvm::log("Applying a lower wall force("+
|
||||||
cvm::to_str(fw)+") to \""+this->name+"\".\n");
|
cvm::to_str(fw)+") to \""+this->name+"\".\n");
|
||||||
@ -1157,10 +1197,9 @@ cvm::real colvar::update_forces_energy()
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
cvm::real const grad = this->dist2_lgrad(x_reported, upper_wall);
|
cvm::real const grad = this->dist2_lgrad(x, upper_wall);
|
||||||
if (grad > 0.0) {
|
if (grad > 0.0) {
|
||||||
fw = -0.5 * upper_wall_k * grad;
|
fw = -0.5 * upper_wall_k * grad;
|
||||||
f += fw;
|
|
||||||
if (cvm::debug())
|
if (cvm::debug())
|
||||||
cvm::log("Applying an upper wall force("+
|
cvm::log("Applying an upper wall force("+
|
||||||
cvm::to_str(fw)+") to \""+this->name+"\".\n");
|
cvm::to_str(fw)+") to \""+this->name+"\".\n");
|
||||||
@ -1168,17 +1207,26 @@ cvm::real colvar::update_forces_energy()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// At this point f is the force f from external biases that will be applied to the
|
||||||
|
// extended variable if there is one
|
||||||
|
|
||||||
if (is_enabled(f_cv_extended_Lagrangian)) {
|
if (is_enabled(f_cv_extended_Lagrangian)) {
|
||||||
|
|
||||||
|
if (cvm::debug()) {
|
||||||
|
cvm::log("Updating extended-Lagrangian degrees of freedom.\n");
|
||||||
|
}
|
||||||
|
|
||||||
cvm::real dt = cvm::dt();
|
cvm::real dt = cvm::dt();
|
||||||
cvm::real f_ext;
|
colvarvalue f_ext(fr.type());
|
||||||
|
f_ext.reset();
|
||||||
|
|
||||||
// the total force is applied to the fictitious mass, while the
|
// the total force is applied to the fictitious mass, while the
|
||||||
// atoms only feel the harmonic force
|
// atoms only feel the harmonic force + wall force
|
||||||
// fr: bias force on extended variable (without harmonic spring), for output in trajectory
|
// fr: bias force on extended variable (without harmonic spring), for output in trajectory
|
||||||
// f_ext: total force on extended variable (including harmonic spring)
|
// f_ext: total force on extended variable (including harmonic spring)
|
||||||
// f: - initially, external biasing force (including wall forces)
|
// f: - initially, external biasing force
|
||||||
// - after this code block, colvar force to be applied to atomic coordinates, ie. spring force
|
// - after this code block, colvar force to be applied to atomic coordinates
|
||||||
|
// ie. spring force + wall force
|
||||||
fr = f;
|
fr = f;
|
||||||
f_ext = f + (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x);
|
f_ext = f + (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x);
|
||||||
f = (-0.5 * ext_force_k) * this->dist2_rgrad(xr, x);
|
f = (-0.5 * ext_force_k) * this->dist2_rgrad(xr, x);
|
||||||
@ -1200,15 +1248,24 @@ cvm::real colvar::update_forces_energy()
|
|||||||
potential_energy = 0.5 * ext_force_k * this->dist2(xr, x);
|
potential_energy = 0.5 * ext_force_k * this->dist2(xr, x);
|
||||||
// leap to v_(i+1/2)
|
// leap to v_(i+1/2)
|
||||||
if (is_enabled(f_cv_Langevin)) {
|
if (is_enabled(f_cv_Langevin)) {
|
||||||
vr -= dt * ext_gamma * vr.real_value;
|
vr -= dt * ext_gamma * vr;
|
||||||
vr += dt * ext_sigma * cvm::rand_gaussian() / ext_mass;
|
colvarvalue rnd(x);
|
||||||
|
rnd.set_random();
|
||||||
|
vr += dt * ext_sigma * rnd / ext_mass;
|
||||||
}
|
}
|
||||||
vr += (0.5 * dt) * f_ext / ext_mass;
|
vr += (0.5 * dt) * f_ext / ext_mass;
|
||||||
xr += dt * vr;
|
xr += dt * vr;
|
||||||
xr.apply_constraints();
|
xr.apply_constraints();
|
||||||
if (this->b_periodic) this->wrap(xr);
|
if (this->is_enabled(f_cv_periodic)) this->wrap(xr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO remove the wall force
|
||||||
|
f += fw;
|
||||||
|
// Now adding the force on the actual colvar (for those biases who
|
||||||
|
// bypass the extended Lagrangian mass)
|
||||||
|
f += fb_actual;
|
||||||
|
|
||||||
|
// Store force to be applied, possibly summed over several timesteps
|
||||||
f_accumulated += f;
|
f_accumulated += f;
|
||||||
|
|
||||||
if (is_enabled(f_cv_fdiff_velocity)) {
|
if (is_enabled(f_cv_fdiff_velocity)) {
|
||||||
@ -1425,14 +1482,15 @@ std::istream & colvar::read_restart(std::istream &is)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !(get_keyval(conf, "x", x,
|
if ( !(get_keyval(conf, "x", x, x, colvarparse::parse_silent)) ) {
|
||||||
colvarvalue(x.type()), colvarparse::parse_silent)) ) {
|
|
||||||
cvm::log("Error: restart file does not contain "
|
cvm::log("Error: restart file does not contain "
|
||||||
"the value of the colvar \""+
|
"the value of the colvar \""+
|
||||||
name+"\" .\n");
|
name+"\" .\n");
|
||||||
} else {
|
} else {
|
||||||
cvm::log("Restarting collective variable \""+name+"\" from value: "+
|
cvm::log("Restarting collective variable \""+name+"\" from value: "+
|
||||||
cvm::to_str(x)+"\n");
|
cvm::to_str(x)+"\n");
|
||||||
|
x_restart = x;
|
||||||
|
after_restart = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_enabled(f_cv_extended_Lagrangian)) {
|
if (is_enabled(f_cv_extended_Lagrangian)) {
|
||||||
|
|||||||
@ -1,5 +1,12 @@
|
|||||||
// -*- c++ -*-
|
// -*- c++ -*-
|
||||||
|
|
||||||
|
// This file is part of the Collective Variables module (Colvars).
|
||||||
|
// The original version of Colvars and its updates are located at:
|
||||||
|
// https://github.com/colvars/colvars
|
||||||
|
// Please update all Colvars source files before making any changes.
|
||||||
|
// If you wish to distribute your changes, please submit them to the
|
||||||
|
// Colvars repository at GitHub.
|
||||||
|
|
||||||
#ifndef COLVAR_H
|
#ifndef COLVAR_H
|
||||||
#define COLVAR_H
|
#define COLVAR_H
|
||||||
|
|
||||||
@ -170,6 +177,9 @@ public:
|
|||||||
/// the biases are updated
|
/// the biases are updated
|
||||||
colvarvalue fb;
|
colvarvalue fb;
|
||||||
|
|
||||||
|
/// \brief Bias force to the actual value (only useful with extended Lagrangian)
|
||||||
|
colvarvalue fb_actual;
|
||||||
|
|
||||||
/// \brief Total \em applied force; fr (if extended_lagrangian
|
/// \brief Total \em applied force; fr (if extended_lagrangian
|
||||||
/// is defined), fb (if biases are applied) and the walls' forces
|
/// is defined), fb (if biases are applied) and the walls' forces
|
||||||
/// (if defined) contribute to it
|
/// (if defined) contribute to it
|
||||||
@ -183,13 +193,9 @@ public:
|
|||||||
colvarvalue ft;
|
colvarvalue ft;
|
||||||
|
|
||||||
|
|
||||||
/// Period, if it is a constant
|
/// Period, if this variable is periodic
|
||||||
cvm::real period;
|
cvm::real period;
|
||||||
|
|
||||||
/// \brief Same as above, but also takes into account components
|
|
||||||
/// with a variable period, such as distanceZ
|
|
||||||
bool b_periodic;
|
|
||||||
|
|
||||||
|
|
||||||
/// \brief Expand the boundaries of multiples of width, to keep the
|
/// \brief Expand the boundaries of multiples of width, to keep the
|
||||||
/// value always within range
|
/// value always within range
|
||||||
@ -290,6 +296,9 @@ public:
|
|||||||
/// Add to the total force from biases
|
/// Add to the total force from biases
|
||||||
void add_bias_force(colvarvalue const &force);
|
void add_bias_force(colvarvalue const &force);
|
||||||
|
|
||||||
|
/// Apply a force to the actual value (only meaningful with extended Lagrangian)
|
||||||
|
void add_bias_force_actual_value(colvarvalue const &force);
|
||||||
|
|
||||||
/// \brief Collect all forces on this colvar, integrate internal
|
/// \brief Collect all forces on this colvar, integrate internal
|
||||||
/// equations of motion of internal degrees of freedom; see also
|
/// equations of motion of internal degrees of freedom; see also
|
||||||
/// colvar::communicate_forces()
|
/// colvar::communicate_forces()
|
||||||
@ -386,6 +395,12 @@ protected:
|
|||||||
/// Previous value (to calculate velocities during analysis)
|
/// Previous value (to calculate velocities during analysis)
|
||||||
colvarvalue x_old;
|
colvarvalue x_old;
|
||||||
|
|
||||||
|
/// Value read from the most recent state file (if any)
|
||||||
|
colvarvalue x_restart;
|
||||||
|
|
||||||
|
/// True if a state file was just read
|
||||||
|
bool after_restart;
|
||||||
|
|
||||||
/// Time series of values and velocities used in correlation
|
/// Time series of values and velocities used in correlation
|
||||||
/// functions
|
/// functions
|
||||||
std::list< std::list<colvarvalue> > acf_x_history, acf_v_history;
|
std::list< std::list<colvarvalue> > acf_x_history, acf_v_history;
|
||||||
@ -577,9 +592,20 @@ inline void colvar::add_bias_force(colvarvalue const &force)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline void colvar::add_bias_force_actual_value(colvarvalue const &force)
|
||||||
|
{
|
||||||
|
if (cvm::debug()) {
|
||||||
|
cvm::log("Adding biasing force "+cvm::to_str(force)+" to colvar \""+name+"\".\n");
|
||||||
|
}
|
||||||
|
fb_actual += force;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
inline void colvar::reset_bias_force() {
|
inline void colvar::reset_bias_force() {
|
||||||
fb.type(value());
|
fb.type(value());
|
||||||
fb.reset();
|
fb.reset();
|
||||||
|
fb_actual.type(value());
|
||||||
|
fb_actual.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||