Compare commits
402 Commits
patch_6Jan
...
stable_31M
| Author | SHA1 | Date | |
|---|---|---|---|
| ae56b9ad89 | |||
| 4466d9fb4a | |||
| ac1aa9edea | |||
| c733204a70 | |||
| 4b9d0a9566 | |||
| 0637f23875 | |||
| 9f6e126a2f | |||
| 645f56cf70 | |||
| 80e5111dca | |||
| 7e9f05b617 | |||
| 1d8f0c762d | |||
| ef6070cbde | |||
| 61f3ff1d2b | |||
| 111d350a22 | |||
| 1dfd61f532 | |||
| 5c1f5462e7 | |||
| 66a6375405 | |||
| 604afebf6f | |||
| 8afed61db1 | |||
| ee55a98103 | |||
| f8da9a866a | |||
| 28bdebd3c0 | |||
| fc51c38abb | |||
| 443ea13eff | |||
| 5feeb79c13 | |||
| a241b2d0f7 | |||
| 61e7595a94 | |||
| da9096750e | |||
| 87ea9ba661 | |||
| c041727e4f | |||
| 3feffbe1de | |||
| 04fd038d35 | |||
| 3dfe4505dd | |||
| 394e9b42b0 | |||
| e6fcaefe95 | |||
| f5a85d68ad | |||
| 277b93cb89 | |||
| 8820315ff9 | |||
| 44841f6891 | |||
| 2cdcd6d630 | |||
| 47cade2bcf | |||
| a72efbea36 | |||
| 5c9892c083 | |||
| 9ecc5c8cf7 | |||
| 47cebb0d23 | |||
| f127e428cc | |||
| 568b67eee9 | |||
| 865b41e201 | |||
| b88a749680 | |||
| 02e65900e6 | |||
| 343c9eda82 | |||
| df8dbec676 | |||
| 1075be7eca | |||
| 6d395ec511 | |||
| bf560e78f3 | |||
| daae76c465 | |||
| 1ea9a14121 | |||
| 1db5834b99 | |||
| 3070b043be | |||
| ef3f323fc4 | |||
| 43a304f564 | |||
| a79aef65e8 | |||
| dc1d93a491 | |||
| 66eb9c2486 | |||
| a14d58259c | |||
| 127597023d | |||
| 3ec16f3630 | |||
| cb9059652d | |||
| 43f27250b5 | |||
| af0b5b0e84 | |||
| c5d561a312 | |||
| 7435084375 | |||
| 734e639c5d | |||
| dcede304df | |||
| 145e682ad3 | |||
| 6482df6c2f | |||
| 0c9cd11b4e | |||
| 82d952ae0e | |||
| 47d6451d03 | |||
| e110d6961a | |||
| a42b0b7dcb | |||
| 03828b5836 | |||
| 3b44c3ff1d | |||
| 0d0c2b65f7 | |||
| 2218a9d704 | |||
| 0a6b33cd78 | |||
| ecf17621aa | |||
| f0c6ed004d | |||
| 554531a302 | |||
| d496c0fdfa | |||
| 5c39dfd740 | |||
| 5b842f0010 | |||
| 52987a3615 | |||
| b6ecfb91c4 | |||
| d04ea8653d | |||
| 2ab77caa8b | |||
| da81531906 | |||
| 5be32f5d8d | |||
| 4a90bca7a3 | |||
| 9f35b764f8 | |||
| 7ca5dce2f5 | |||
| fcc3b3bd36 | |||
| 53a3877c3d | |||
| a936b7b2ab | |||
| a91b851f3d | |||
| d31c591b60 | |||
| ae5ebf6001 | |||
| 7fb741d53d | |||
| 8e75616c14 | |||
| 411c069ba6 | |||
| ac82d041cc | |||
| 621d7d5ce0 | |||
| 1bb9c7da42 | |||
| f893104b18 | |||
| efb2a942e0 | |||
| 070ce33a13 | |||
| f604f86cfc | |||
| bed288339e | |||
| 1995f434f3 | |||
| db0281b4df | |||
| 2f5e711acd | |||
| bdb7669e27 | |||
| cda8213892 | |||
| ef940d226c | |||
| 36da9223ec | |||
| eb29ef32b1 | |||
| 29550d472d | |||
| 79cae51156 | |||
| a210867025 | |||
| 0262a54ecf | |||
| 0d8f74f0c5 | |||
| 3a2da51a82 | |||
| b1c59126f7 | |||
| 4c77838514 | |||
| f9468f46f5 | |||
| ec1778b586 | |||
| c3ce3747e0 | |||
| fdc390ad05 | |||
| 580f6b567b | |||
| 27b1c33a16 | |||
| 7a75cd111c | |||
| 23b8287933 | |||
| 4cfe623bc1 | |||
| f871ecdc67 | |||
| 470353e320 | |||
| ffe02d20ca | |||
| f70752c18f | |||
| 07fcfd6d54 | |||
| c97feafca6 | |||
| b20d95d495 | |||
| 0b4adaa9e6 | |||
| 5fe6206638 | |||
| 65964f3b31 | |||
| b28b84d444 | |||
| a001a5ceb0 | |||
| 2ef713ea1b | |||
| 1f6c1942b3 | |||
| 683023d820 | |||
| 42d3a8f498 | |||
| 79b005dc3d | |||
| a2fa6ef452 | |||
| 920641bbff | |||
| c2aabdec22 | |||
| e4aa735a68 | |||
| 4af6557568 | |||
| 0798885bdb | |||
| 020e75e7ef | |||
| d6866f1cfd | |||
| efaa4c6710 | |||
| 08baaa9d8e | |||
| 359af419a7 | |||
| 21be86c423 | |||
| d6800405a5 | |||
| 3a054d1a82 | |||
| 007f3c66a0 | |||
| 32708860a9 | |||
| fc9eebb936 | |||
| dd76ac5010 | |||
| 17486a9319 | |||
| 778a79b8ee | |||
| 7dd60f9737 | |||
| 084d831bce | |||
| e261bef7bb | |||
| fd78486086 | |||
| 6382d3c89a | |||
| 763a00e8b0 | |||
| ce1a3f25e1 | |||
| eaf7ed7707 | |||
| 9a560b9091 | |||
| 8a0e44db83 | |||
| 1dc78a7e58 | |||
| 7a593c2fc8 | |||
| 3ac74a1d69 | |||
| 3605208a45 | |||
| 9b01949cac | |||
| 323570c920 | |||
| df13a7a003 | |||
| a1b40b902d | |||
| b921b69f47 | |||
| c0cf50bce5 | |||
| 2708c86836 | |||
| 9999f363a1 | |||
| a18b4ef4b0 | |||
| 3626496c7c | |||
| 458b6749e7 | |||
| 20a9ffe69d | |||
| 49e83b4348 | |||
| 6e89ccd522 | |||
| 53f3df5bfc | |||
| 3dbbea342a | |||
| b70c670aac | |||
| 1d17cae407 | |||
| 429264a12b | |||
| d001a09345 | |||
| cb9d42da08 | |||
| 7185ec92b3 | |||
| 1cd4c48ccc | |||
| a88136c3f5 | |||
| ce20c7ffe9 | |||
| 4a80df3a99 | |||
| 5f93fad012 | |||
| ccaec315db | |||
| c6c1852b3b | |||
| 69a8e19dc5 | |||
| 928947dcea | |||
| 904609a7a3 | |||
| fc3505fac4 | |||
| 48070011d9 | |||
| 0fb8dacc00 | |||
| 6b923476b9 | |||
| 20806dd86a | |||
| 90e5ae965d | |||
| 15008c9d18 | |||
| 33af7ab248 | |||
| 8f9b2aca06 | |||
| 383da816c2 | |||
| a323ca1edd | |||
| de4af6f15d | |||
| 0e16dc3ead | |||
| 1b3f6e257a | |||
| cb982f2f28 | |||
| 4843296d4e | |||
| 2bdda8f6c0 | |||
| 0068ef5616 | |||
| 02b0e6cc55 | |||
| fbb24c2406 | |||
| 0efd209480 | |||
| a5f830c40c | |||
| 8c074a363a | |||
| 27aca14094 | |||
| 191453e1c7 | |||
| 207adc3968 | |||
| 84c517159d | |||
| 6ca377436f | |||
| dc34a32602 | |||
| 067119f6c6 | |||
| 1834a5e46c | |||
| 6a4918b39a | |||
| 5da0d39392 | |||
| 6f92429602 | |||
| 38e0e4bb69 | |||
| daf9f95381 | |||
| 6595fde0a1 | |||
| 6bcec9c61d | |||
| 9d1991bf84 | |||
| 0a87b7443a | |||
| 7ee45ec5f3 | |||
| d4c9e2500b | |||
| 6232073d3b | |||
| ed59193d13 | |||
| 67bed8e853 | |||
| bcb1d94b9a | |||
| fbe30b5683 | |||
| 9ef55fedf7 | |||
| 997142a4c1 | |||
| 033b07fdb7 | |||
| ed0a347fbf | |||
| 51a0b6b445 | |||
| 59f4a77dd5 | |||
| 579cc6d7aa | |||
| 5afd3e995b | |||
| 2a6f5e651c | |||
| 09fc8b0bd7 | |||
| e5d0bde783 | |||
| 9daf7fb650 | |||
| b5d622c6a3 | |||
| 2023fa28e0 | |||
| 5b29515849 | |||
| 5b18421dd2 | |||
| cf95ea0709 | |||
| 6a74a81da0 | |||
| f0a4ed615d | |||
| cfe818a175 | |||
| f8506fee23 | |||
| 18e5584311 | |||
| 851f80464f | |||
| 5971d4c994 | |||
| 868d95f0a5 | |||
| a5ff35435a | |||
| 8b7bd9d88e | |||
| 149f37e764 | |||
| 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 | |||
| ccd09e3967 |
@ -14,7 +14,7 @@ lmp_linux_mixed
|
||||
lmp_linux_double
|
||||
|
||||
The precision (single, mixed, double) refers to the GPU and USER-CUDA
|
||||
pacakge precision. See the README files in the lib/gpu and lib/cuda
|
||||
package precision. See the README files in the lib/gpu and lib/cuda
|
||||
directories for instructions on how to build the packages with
|
||||
different precisions. The GPU and USER-CUDA sub-sections of the
|
||||
doc/Section_accelerate.html file also describes this process.
|
||||
|
||||
1
doc/.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
/html
|
||||
/spelling
|
||||
/LAMMPS.epub
|
||||
/LAMMPS.mobi
|
||||
/Manual.pdf
|
||||
|
||||
33
doc/Makefile
@ -6,6 +6,7 @@ BUILDDIR = /tmp/lammps-docs-$(SHA1)
|
||||
RSTDIR = $(BUILDDIR)/rst
|
||||
VENV = $(BUILDDIR)/docenv
|
||||
TXT2RST = $(VENV)/bin/txt2rst
|
||||
ANCHORCHECK = $(VENV)/bin/doc_anchor_check
|
||||
|
||||
PYTHON = $(shell which python3)
|
||||
HAS_PYTHON3 = NO
|
||||
@ -22,7 +23,7 @@ endif
|
||||
SOURCES=$(wildcard src/*.txt)
|
||||
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
|
||||
|
||||
.PHONY: help clean-all clean epub html pdf old venv
|
||||
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -36,6 +37,7 @@ help:
|
||||
@echo " clean remove all intermediate RST files"
|
||||
@echo " clean-all reset the entire build environment"
|
||||
@echo " txt2html build txt2html tool"
|
||||
@echo " anchor_check scan for duplicate anchor labels"
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -44,12 +46,19 @@ clean-all:
|
||||
|
||||
clean:
|
||||
rm -rf $(RSTDIR) html
|
||||
rm -rf spelling
|
||||
|
||||
html: $(OBJECTS)
|
||||
clean-spelling:
|
||||
rm -rf spelling
|
||||
|
||||
html: $(OBJECTS) $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
|
||||
echo "############################################" ;\
|
||||
doc_anchor_check src/*.txt ;\
|
||||
echo "############################################" ;\
|
||||
deactivate ;\
|
||||
)
|
||||
-rm html/searchindex.js
|
||||
@ -64,6 +73,17 @@ html: $(OBJECTS)
|
||||
@rm -rf html/USER/*/*.[sg]*
|
||||
@echo "Build finished. The HTML pages are in doc/html."
|
||||
|
||||
spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
pip install sphinxcontrib-spelling ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ;\
|
||||
sphinx-build -b spelling -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\
|
||||
deactivate ;\
|
||||
)
|
||||
@echo "Spell check finished."
|
||||
|
||||
epub: $(OBJECTS)
|
||||
@mkdir -p epub
|
||||
@rm -f LAMMPS.epub
|
||||
@ -112,6 +132,13 @@ fetch:
|
||||
|
||||
txt2html: utils/txt2html/txt2html.exe
|
||||
|
||||
anchor_check : $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
doc_anchor_check src/*.txt ;\
|
||||
deactivate ;\
|
||||
)
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp
|
||||
@ -136,7 +163,7 @@ $(VENV):
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
$(TXT2RST): $(VENV)
|
||||
$(TXT2RST) $(ANCHORCHECK): $(VENV)
|
||||
@( \
|
||||
. $(VENV)/bin/activate; \
|
||||
(cd utils/converters;\
|
||||
|
||||
@ -464,7 +464,7 @@ the angletype option can only be assigned to a "fix style" of "shake",
|
||||
entirely rigid (e.g. water)
|
||||
the angletype option enables an additional check when SHAKE constraints
|
||||
are computed: if a cluster is of size 3 and both bonds in
|
||||
the cluster are of a bondtype specified by the 2nd paramter of
|
||||
the cluster are of a bondtype specified by the 2nd parameter of
|
||||
angletype, then the cluster is SHAKEn with an additional angle
|
||||
constraint that makes it rigid, using the equilibrium angle appropriate
|
||||
to the specified angletype
|
||||
@ -476,7 +476,7 @@ IMPORTANT NOTE: the angletype option has one additional affect, namely
|
||||
since they will not be SHAKEn but neither will the angle force by computed
|
||||
for style region, a coeff of INF means + or - infinity (all the way
|
||||
to the boundary)
|
||||
an atom can be assigned to multiple constraints, the contraints will be
|
||||
an atom can be assigned to multiple constraints, the constraints will be
|
||||
applied in the reverse order they are assigned to that atom
|
||||
(e.g. each timestep, the last fix assigned to an atom will be applied
|
||||
to it first, then the next-to-last applied second, etc)
|
||||
@ -689,7 +689,7 @@ coeffs: types
|
||||
remainder
|
||||
no other parameters required
|
||||
|
||||
used with "create temp" commmand to initialize velocities of atoms
|
||||
used with "create temp" command to initialize velocities of atoms
|
||||
by default, the "create temp" command initializes the velocities of all atoms,
|
||||
this command limits the initialization to a group of atoms
|
||||
this command is only in force for the next "create temp" command, any
|
||||
@ -1263,7 +1263,7 @@ when using constraints with the minimizer, fixes are
|
||||
applied when atoms move except for the following
|
||||
fixes associated with temperature control are not allowed
|
||||
(rescale, hoover/drag, langevin)
|
||||
the minimizer does not invoke the "fix style shake" contraints on
|
||||
the minimizer does not invoke the "fix style shake" constraints on
|
||||
bond lengths
|
||||
the minimizer does not invoke pressure control or volume control settings
|
||||
for good convergence, should specify use of smooth nonbond force fields
|
||||
@ -1566,7 +1566,7 @@ mesh dimensions that are power-of-two are fastest for FFTs, but any sizes
|
||||
can be used that are supported by native machine libraries
|
||||
this command is optional - if not used, a default
|
||||
mesh size will be chosen to satisfy accuracy criterion - if used, the
|
||||
specifed mesh size will override the default
|
||||
specified mesh size will override the default
|
||||
</PRE>
|
||||
<HR>
|
||||
<H3>
|
||||
@ -1788,7 +1788,7 @@ if the style is 2, restart information will be written alternately to files
|
||||
when the minimizer is invoked this command means create a restart file
|
||||
at the end of the minimization with the filename filename.timestep.min
|
||||
a restart file stores atom and force-field information in binary form
|
||||
allows program to restart from where it left off (see "read restart" commmand)
|
||||
allows program to restart from where it left off (see "read restart" command)
|
||||
|
||||
Default = 0
|
||||
</PRE>
|
||||
|
||||
@ -167,7 +167,7 @@ tool on the small-system data file.</P>
|
||||
<P>
|
||||
(6) flow</P>
|
||||
<P>
|
||||
2-d flow of Lennard-Jones atoms in a channel using various contraint
|
||||
2-d flow of Lennard-Jones atoms in a channel using various constraint
|
||||
options.</P>
|
||||
<P>
|
||||
(7) polymer</P>
|
||||
@ -201,7 +201,7 @@ The tools directory also has a F77 program called setup_chain.f
|
||||
(compile and link with print.c) which can be used to generate random
|
||||
initial polymer configurations for bead-spring models like those used
|
||||
in examples/polymer. It uses an input polymer definition file (see
|
||||
examples/polymer for two sample def files) that specfies how many
|
||||
examples/polymer for two sample def files) that specifies how many
|
||||
chains of what length, a random number seed, etc.</P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@ -40,7 +40,7 @@ Note: this file is somewhat out-of-date for LAMMPS 99.</P>
|
||||
<LI>
|
||||
maxtype = max # of atom types
|
||||
<LI>
|
||||
maxbond = max # of bonds to compute on one procesor
|
||||
maxbond = max # of bonds to compute on one processor
|
||||
<LI>
|
||||
maxangle = max # of angles to compute on one processor
|
||||
<LI>
|
||||
|
||||
@ -294,7 +294,7 @@ assign a group of atoms to a particular constraint
|
||||
use appropriate number of coeffs for a particular style
|
||||
the constraint itself is defined by the "fix style" command
|
||||
multiple groups of atoms can be assigned to the same constraint
|
||||
an atom can be assigned to multiple constraints, the contraints will be
|
||||
an atom can be assigned to multiple constraints, the constraints will be
|
||||
applied in the reverse order they are assigned to that atom
|
||||
(e.g. each timestep, the last fix assigned to an atom will be applied
|
||||
to it first, then the next-to-last applied second, etc)
|
||||
@ -477,7 +477,7 @@ coeffs: types
|
||||
remainder
|
||||
no other parameters required
|
||||
|
||||
used with "create temp" commmand to initialize velocities of atoms
|
||||
used with "create temp" command to initialize velocities of atoms
|
||||
by default, the "create temp" command initializes the velocities of all atoms,
|
||||
this command limits the initialization to a group of atoms
|
||||
this command is only in force for the next "create temp" command, any
|
||||
@ -1124,7 +1124,7 @@ mesh dimensions that are power-of-two are fastest for FFTs, but any size
|
||||
can be used that are supported by native machine libraries
|
||||
this command is optional - if not used, a default
|
||||
mesh size will be chosen to satisfy accuracy criterion - if used, the
|
||||
specifed mesh size will override the default
|
||||
specified mesh size will override the default
|
||||
|
||||
Default = none
|
||||
</PRE>
|
||||
@ -1343,7 +1343,7 @@ value of 0 means never create one
|
||||
program will toggle between 2 filenames as the run progresses
|
||||
so always have at least one good file even if the program dies in mid-write
|
||||
restart file stores atom positions and velocities in binary form
|
||||
allows program to restart from where it left off (see "read restart" commmand)
|
||||
allows program to restart from where it left off (see "read restart" command)
|
||||
|
||||
Default = 0
|
||||
</PRE>
|
||||
|
||||
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/Eqs/fix_gcmc1.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
9
doc/src/Eqs/fix_gcmc1.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\mu &=&\mu^{id} + \mu^{ex}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_gcmc2.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
10
doc/src/Eqs/fix_gcmc2.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\mu^{id} &=& k T \ln{\rho \Lambda^3} \\
|
||||
&=& k T \ln{\frac{\phi P \Lambda^3}{k T}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_gcmc3.jpg
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
9
doc/src/Eqs/fix_gcmc3.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\Lambda &=& \sqrt{ \frac{h^2}{2 \pi m k T}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_kolmogorov_crespi_z.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
13
doc/src/Eqs/pair_kolmogorov_crespi_z.tex
Normal file
@ -0,0 +1,13 @@
|
||||
\documentclass[12pt]{article}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
|
||||
V_{ij} & = & e^{-\lambda(r_{ij} -z_0}) \left[ C + f(\rho_{ij}) + f(\rho_{ji}) \right] - A \left( \frac{r_{ij}}{z_0}\right)^{-6} + A \left( \frac{\textrm{cutoff}}{z_0}\right)^{-6} \\
|
||||
\rho_{ij}^2 = \rho_{ji}^2 & = & x_{ij}^2 + y_{ij}^2 ~\hspace{2cm} (\mathbf{n_i}\equiv\hat \mathbf{z})\\
|
||||
f(\rho) & = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} \left( \rho/\delta \right) ^{2n}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_momb.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
13
doc/src/Eqs/pair_momb.tex
Normal file
@ -0,0 +1,13 @@
|
||||
\documentclass[12pt,fleqn]{article}
|
||||
\usepackage{amsmath}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\setlength{\jot}{2ex}
|
||||
\begin{gather*}
|
||||
E = D_0 [\exp^{-2 \alpha (r-r_0)} - 2\exp^{-\alpha (r-r_0)}] - s_6 \frac{C_6}{r^6} f_{damp}(r,R_r) \\
|
||||
f_{damp}(r,R_r) = \frac{1}{1 + \exp^{-d(r/R_r - 1)}}
|
||||
\end{gather*}
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 25 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request7.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="6 Jan 2017 version">
|
||||
<META NAME="docnumber" CONTENT="31 Mar 2017 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS Documentation :c,h3
|
||||
6 Jan 2017 version :c,h4
|
||||
31 Mar 2017 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
@ -39,7 +39,7 @@ directory name created when you unpack a tarball, and at the top of
|
||||
the first page of the manual (this page).
|
||||
|
||||
If you browse the HTML doc pages on the LAMMPS WWW site, they always
|
||||
describe the most current version of LAMMPS. :ulb,l
|
||||
describe the most current [development] version of LAMMPS. :ulb,l
|
||||
|
||||
If you browse the HTML doc pages included in your tarball, they
|
||||
describe the version you have. :l
|
||||
@ -67,7 +67,7 @@ Labs and Temple University:
|
||||
|
||||
"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l
|
||||
Aidan Thompson, athomps at sandia.gov :l
|
||||
Stan Moore, stamoore at sandia.gov :l
|
||||
Stan Moore, stamoor at sandia.gov :l
|
||||
"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l
|
||||
:ule
|
||||
|
||||
|
||||
BIN
doc/src/PDF/USER-CGDNA-overview.pdf
Normal file
@ -281,12 +281,12 @@ the "minimize"_minimize.html command. A parallel tempering
|
||||
|
||||
3.4 Commands listed by category :link(cmd_4),h4
|
||||
|
||||
This section lists all LAMMPS commands, grouped by category. The
|
||||
"next section"_#cmd_5 lists the same commands alphabetically. The
|
||||
This section lists core LAMMPS commands, grouped by category.
|
||||
The "next section"_#cmd_5 lists all commands alphabetically. The
|
||||
next section also includes (long) lists of style options for entries
|
||||
that appear in the following categories as a single command (fix,
|
||||
compute, pair, etc). Commands that are added by user packages are not
|
||||
included in these categories, but they are in the next section.
|
||||
included in the categories here, but they are in the next section.
|
||||
|
||||
Initialization:
|
||||
|
||||
@ -361,7 +361,7 @@ Settings:
|
||||
"timer"_timer.html,
|
||||
"timestep"_timestep.html
|
||||
|
||||
Operations within timestepping (fixes) and diagnositics (computes):
|
||||
Operations within timestepping (fixes) and diagnostics (computes):
|
||||
|
||||
"compute"_compute.html,
|
||||
"compute_modify"_compute_modify.html,
|
||||
@ -583,6 +583,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
"mscg"_fix_mscg.html,
|
||||
"msst"_fix_msst.html,
|
||||
"neb"_fix_neb.html,
|
||||
"nph (ko)"_fix_nh.html,
|
||||
@ -686,6 +687,7 @@ package"_Section_start.html#start_3.
|
||||
"eos/cv"_fix_eos_cv.html,
|
||||
"eos/table"_fix_eos_table.html,
|
||||
"eos/table/rx"_fix_eos_table_rx.html,
|
||||
"filter/corotate"_fix_filter_corotate.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"gle"_fix_gle.html,
|
||||
"grem"_fix_grem.html,
|
||||
@ -701,6 +703,8 @@ package"_Section_start.html#start_3.
|
||||
"meso"_fix_meso.html,
|
||||
"manifoldforce"_fix_manifoldforce.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,
|
||||
"nvk"_fix_nvk.html,
|
||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
|
||||
@ -918,7 +922,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"dpd (go)"_pair_dpd.html,
|
||||
"dpd/tstat (go)"_pair_dpd.html,
|
||||
"dsmc"_pair_dsmc.html,
|
||||
"eam (gkot)"_pair_eam.html,
|
||||
"eam (gkiot)"_pair_eam.html,
|
||||
"eam/alloy (gkot)"_pair_eam.html,
|
||||
"eam/fs (gkot)"_pair_eam.html,
|
||||
"eim (o)"_pair_eim.html,
|
||||
@ -936,6 +940,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (giko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/msm"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html,
|
||||
"lj/class2 (gko)"_pair_class2.html,
|
||||
"lj/class2/coul/cut (ko)"_pair_class2.html,
|
||||
"lj/class2/coul/long (gko)"_pair_class2.html,
|
||||
@ -966,7 +972,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lubricateU/poly"_pair_lubricateU.html,
|
||||
"meam"_pair_meam.html,
|
||||
"mie/cut (o)"_pair_mie.html,
|
||||
"morse (got)"_pair_morse.html,
|
||||
"morse (gkot)"_pair_morse.html,
|
||||
"nb3b/harmonic (o)"_pair_nb3b_harmonic.html,
|
||||
"nm/cut (o)"_pair_nm.html,
|
||||
"nm/cut/coul/cut (o)"_pair_nm.html,
|
||||
@ -1013,6 +1019,7 @@ package"_Section_start.html#start_3.
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
"list"_pair_list.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_charmm.html,
|
||||
@ -1030,10 +1037,20 @@ package"_Section_start.html#start_3.
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
"momb"_pair_momb.html,
|
||||
"morse/smooth/linear"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"multi/lucy"_pair_multi_lucy.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,
|
||||
"oxdna2/coaxstk"_pair_oxdna2.html,
|
||||
"oxdna2/dh"_pair_oxdna2.html,
|
||||
"oxdna2/excv"_pair_oxdna2.html,
|
||||
"oxdna2/stk"_pair_oxdna2.html,
|
||||
"quip"_pair_quip.html,
|
||||
"reax/c (k)"_pair_reax_c.html,
|
||||
"smd/hertz"_pair_smd_hertz.html,
|
||||
@ -1068,7 +1085,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"none"_bond_none.html,
|
||||
"zero"_bond_zero.html,
|
||||
"hybrid"_bond_hybrid.html,
|
||||
"class2 (o)"_bond_class2.html,
|
||||
"class2 (ko)"_bond_class2.html,
|
||||
"fene (iko)"_bond_fene.html,
|
||||
"fene/expand (o)"_bond_fene_expand.html,
|
||||
"harmonic (ko)"_bond_harmonic.html,
|
||||
@ -1082,7 +1099,9 @@ if "LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"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.html,
|
||||
"oxdna2/fene"_bond_oxdna.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -1100,7 +1119,7 @@ USER-OMP, t = OPT.
|
||||
"zero"_angle_zero.html,
|
||||
"hybrid"_angle_hybrid.html,
|
||||
"charmm (ko)"_angle_charmm.html,
|
||||
"class2 (o)"_angle_class2.html,
|
||||
"class2 (ko)"_angle_class2.html,
|
||||
"cosine (o)"_angle_cosine.html,
|
||||
"cosine/delta (o)"_angle_cosine_delta.html,
|
||||
"cosine/periodic (o)"_angle_cosine_periodic.html,
|
||||
@ -1136,7 +1155,8 @@ USER-OMP, t = OPT.
|
||||
"zero"_dihedral_zero.html,
|
||||
"hybrid"_dihedral_hybrid.html,
|
||||
"charmm (ko)"_dihedral_charmm.html,
|
||||
"class2 (o)"_dihedral_class2.html,
|
||||
"charmmfsh"_dihedral_charmm.html,
|
||||
"class2 (ko)"_dihedral_class2.html,
|
||||
"harmonic (io)"_dihedral_harmonic.html,
|
||||
"helix (o)"_dihedral_helix.html,
|
||||
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
|
||||
@ -1168,7 +1188,7 @@ USER-OMP, t = OPT.
|
||||
"none"_improper_none.html,
|
||||
"zero"_improper_zero.html,
|
||||
"hybrid"_improper_hybrid.html,
|
||||
"class2 (o)"_improper_class2.html,
|
||||
"class2 (ko)"_improper_class2.html,
|
||||
"cvff (io)"_improper_cvff.html,
|
||||
"harmonic (ko)"_improper_harmonic.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
@ -22,7 +22,7 @@ either conceptually, or as printed out by the program.
|
||||
|
||||
12.1 Common problems :link(err_1),h4
|
||||
|
||||
If two LAMMPS runs do not produce the same answer on different
|
||||
If two LAMMPS runs do not produce the exact same answer on different
|
||||
machines or different numbers of processors, this is typically not a
|
||||
bug. In theory you should get identical answers on any number of
|
||||
processors and on any machine. In practice, numerical round-off can
|
||||
@ -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.
|
||||
|
||||
LAMMPS tries to flag errors and print informative error messages so
|
||||
you can fix the problem. Of course, LAMMPS cannot figure out your
|
||||
physics or numerical mistakes, like choosing too big a timestep,
|
||||
specifying erroneous force field coefficients, or putting 2 atoms on
|
||||
top of each other! If you run into errors that LAMMPS doesn't catch
|
||||
that you think it should flag, please send an email to the
|
||||
"developers"_http://lammps.sandia.gov/authors.html.
|
||||
you can fix the problem. For most errors it will also print the last
|
||||
input script command that it was processing. Of course, LAMMPS cannot
|
||||
figure out your physics or numerical mistakes, like choosing too big a
|
||||
timestep, specifying erroneous force field coefficients, or putting 2
|
||||
atoms on top of each other! If you run into errors that LAMMPS
|
||||
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
|
||||
script, you can determine what command is causing the problem by
|
||||
@ -79,12 +80,24 @@ order. If you mess this up, LAMMPS will often flag the error, but it
|
||||
may also simply read a bogus argument and assign a value that is
|
||||
valid, but not what you wanted. E.g. trying to read the string "abc"
|
||||
as an integer value of 0. Careful reading of the associated doc page
|
||||
for the command should allow you to fix these problems. Note that
|
||||
some commands allow for variables to be specified in place of numeric
|
||||
constants so that the value can be evaluated and change over the
|
||||
course of a run. This is typically done with the syntax {v_name} for
|
||||
a parameter, where name is the name of the variable. This is only
|
||||
allowed if the command documentation says it is.
|
||||
for the command should allow you to fix these problems. In most cases,
|
||||
where LAMMPS expects to read a number, either integer or floating point,
|
||||
it performs a stringent test on whether the provided input actually
|
||||
is an integer or floating-point number, respectively, and reject the
|
||||
input with an error message (for instance, when an integer is required,
|
||||
but a floating-point number 1.0 is provided):
|
||||
|
||||
ERROR: Expected integer parameter in input script or data file :pre
|
||||
|
||||
Some commands allow for using variable references in place of numeric
|
||||
constants so that the value can be evaluated and may change over the
|
||||
course of a run. This is typically done with the syntax {v_name} for a
|
||||
parameter, where name is the name of the variable. On the other hand,
|
||||
immediate variable expansion with the syntax ${name} is performed while
|
||||
reading the input and before parsing commands,
|
||||
|
||||
NOTE: Using a variable reference (i.e. {v_name}) is only allowed if
|
||||
the documentation of the corresponding command explicitly says it is.
|
||||
|
||||
Generally, LAMMPS will print a message to the screen and logfile and
|
||||
exit gracefully when it encounters a fatal error. Sometimes it will
|
||||
@ -561,11 +574,11 @@ group of atoms correctly. :dd
|
||||
|
||||
{Bad quadratic solve for particle/line collision} :dt
|
||||
|
||||
This is an internal error. It should nornally not occur. :dd
|
||||
This is an internal error. It should normally not occur. :dd
|
||||
|
||||
{Bad quadratic solve for particle/tri collision} :dt
|
||||
|
||||
This is an internal error. It should nornally not occur. :dd
|
||||
This is an internal error. It should normally not occur. :dd
|
||||
|
||||
{Bad real space Coulomb cutoff in fix tune/kspace} :dt
|
||||
|
||||
@ -899,7 +912,7 @@ Atoms can not be added afterwards to this fix option. :dd
|
||||
|
||||
{Cannot append atoms to a triclinic box} :dt
|
||||
|
||||
The simulation box must be defined with edges alligned with the
|
||||
The simulation box must be defined with edges aligned with the
|
||||
Cartesian axes. :dd
|
||||
|
||||
{Cannot balance in z dimension for 2d simulation} :dt
|
||||
@ -979,7 +992,7 @@ file. :dd
|
||||
|
||||
LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6
|
||||
factor that partitions the computation between real space and k-space
|
||||
for Disptersion interactions. :dd
|
||||
for Dispersion interactions. :dd
|
||||
|
||||
{Cannot create an atom map unless atoms have IDs} :dt
|
||||
|
||||
@ -1314,7 +1327,7 @@ Self-explanatory. :dd
|
||||
|
||||
This file is created when you use some LAMMPS features, to indicate
|
||||
what paper you should cite on behalf of those who implemented
|
||||
the feature. Check that you have write priveleges into the directory
|
||||
the feature. Check that you have write privileges into the directory
|
||||
you are running in. :dd
|
||||
|
||||
{Cannot open log.lammps for writing} :dt
|
||||
@ -1992,7 +2005,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use fix reax/bonds without pair_style reax} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use fix rigid npt/nph and fix deform on same component of stress tensor} :dt
|
||||
|
||||
@ -2075,7 +2088,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use lines with fix srd unless overlap is set} :dt
|
||||
|
||||
This is because line segements are connected to each other. :dd
|
||||
This is because line segments are connected to each other. :dd
|
||||
|
||||
{Cannot use multiple fix wall commands with pair brownian} :dt
|
||||
|
||||
@ -2118,7 +2131,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with born/gpu pair style} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with buck/coul/cut/gpu pair style} :dt
|
||||
|
||||
@ -2278,7 +2291,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with zbl/gpu pair style} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use non-zero forces in an energy minimization} :dt
|
||||
|
||||
@ -2628,11 +2641,11 @@ uses a pairwise neighbor list. :dd
|
||||
|
||||
{Compute chunk/atom bin/cylinder radius is too large for periodic box} :dt
|
||||
|
||||
Radius cannot be bigger than 1/2 of a non-axis periodic dimention. :dd
|
||||
Radius cannot be bigger than 1/2 of a non-axis periodic dimension. :dd
|
||||
|
||||
{Compute chunk/atom bin/sphere radius is too large for periodic box} :dt
|
||||
|
||||
Radius cannot be bigger than 1/2 of any periodic dimention. :dd
|
||||
Radius cannot be bigger than 1/2 of any periodic dimension. :dd
|
||||
|
||||
{Compute chunk/atom compute array is accessed out-of-range} :dt
|
||||
|
||||
@ -2693,15 +2706,15 @@ It will only store IDs if its compress option is enabled. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord1 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord2 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord3 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom variable is not atom-style variable} :dt
|
||||
|
||||
@ -2722,11 +2735,11 @@ is used to find clusters. :dd
|
||||
|
||||
{Compute cna/atom cutoff is longer than pairwise cutoff} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute cna/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute com/chunk does not use chunk/atom compute} :dt
|
||||
|
||||
@ -2734,7 +2747,7 @@ The style of the specified compute is not chunk/atom. :dd
|
||||
|
||||
{Compute contact/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute contact/atom requires atom style sphere} :dt
|
||||
|
||||
@ -2747,7 +2760,7 @@ since those atoms are not in the neighbor list. :dd
|
||||
|
||||
{Compute coord/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute damage/atom requires peridynamic potential} :dt
|
||||
|
||||
@ -2777,7 +2790,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Compute erotate/asphere requires extended particles} :dt
|
||||
|
||||
This compute cannot be used with point paritlces. :dd
|
||||
This compute cannot be used with point particles. :dd
|
||||
|
||||
{Compute erotate/rigid with non-rigid fix-ID} :dt
|
||||
|
||||
@ -2822,7 +2835,7 @@ Cannot compute order parameter beyond cutoff. :dd
|
||||
|
||||
{Compute hexorder/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute improper/local used when impropers are not allowed} :dt
|
||||
|
||||
@ -2868,11 +2881,11 @@ Cannot compute order parameter beyond cutoff. :dd
|
||||
|
||||
{Compute orientorder/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute pair must use group all} :dt
|
||||
|
||||
Pair styles accumlate energy on all atoms. :dd
|
||||
Pair styles accumulate energy on all atoms. :dd
|
||||
|
||||
{Compute pe must use group all} :dt
|
||||
|
||||
@ -2922,7 +2935,7 @@ The style of the specified compute is not chunk/atom. :dd
|
||||
{Compute property/local cannot use these inputs together} :dt
|
||||
|
||||
Only inputs that generate the same number of datums can be used
|
||||
togther. E.g. bond and angle quantities cannot be mixed. :dd
|
||||
together. E.g. bond and angle quantities cannot be mixed. :dd
|
||||
|
||||
{Compute property/local does not (yet) work with atom_style template} :dt
|
||||
|
||||
@ -3066,7 +3079,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Compute temp/asphere requires extended particles} :dt
|
||||
|
||||
This compute cannot be used with point paritlces. :dd
|
||||
This compute cannot be used with point particles. :dd
|
||||
|
||||
{Compute temp/body requires atom style body} :dt
|
||||
|
||||
@ -3511,12 +3524,12 @@ path and name are correct. :dd
|
||||
|
||||
{Could not process Python file} :dt
|
||||
|
||||
The Python code in the specified file was not run sucessfully by
|
||||
The Python code in the specified file was not run successfully by
|
||||
Python, probably due to errors in the Python code. :dd
|
||||
|
||||
{Could not process Python string} :dt
|
||||
|
||||
The Python code in the here string was not run sucessfully by Python,
|
||||
The Python code in the here string was not run successfully by Python,
|
||||
probably due to errors in the Python code. :dd
|
||||
|
||||
{Coulomb PPPMDisp order has been reduced below minorder} :dt
|
||||
@ -3625,7 +3638,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cutoffs missing in pair_style buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cutoffs missing in pair_style lj/long/coul/long} :dt
|
||||
|
||||
@ -4372,7 +4385,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Fix ave/chunk does not use chunk/atom compute} :dt
|
||||
|
||||
The specified conpute is not for a compute chunk/atom command. :dd
|
||||
The specified compute is not for a compute chunk/atom command. :dd
|
||||
|
||||
{Fix ave/chunk fix does not calculate a per-atom array} :dt
|
||||
|
||||
@ -4604,11 +4617,11 @@ An index for the array is out of bounds. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate a scalar} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate a vector} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate an array} :dt
|
||||
|
||||
@ -4957,7 +4970,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Fix langevin angmom requires extended particles} :dt
|
||||
|
||||
This fix option cannot be used with point paritlces. :dd
|
||||
This fix option cannot be used with point particles. :dd
|
||||
|
||||
{Fix langevin omega is not yet implemented with kokkos} :dt
|
||||
|
||||
@ -6158,7 +6171,7 @@ map command will force an atom map to be created. :dd
|
||||
|
||||
{Initial temperatures not all set in fix ttm} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Input line quote not followed by whitespace} :dt
|
||||
|
||||
@ -6186,7 +6199,7 @@ Eigensolve for rigid body was not sufficiently accurate. :dd
|
||||
|
||||
{Insufficient Jacobi rotations for triangle} :dt
|
||||
|
||||
The calculation of the intertia tensor of the triangle failed. This
|
||||
The calculation of the inertia tensor of the triangle failed. This
|
||||
should not happen if it is a reasonably shaped triangle. :dd
|
||||
|
||||
{Insufficient memory on accelerator} :dt
|
||||
@ -6450,15 +6463,15 @@ Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump custom command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump local command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump modify command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid basis setting in create_atoms command} :dt
|
||||
|
||||
@ -6724,7 +6737,7 @@ or cause multiple files to be written. :dd
|
||||
Filenames used with the dump xyz style cannot be binary or cause files
|
||||
to be written by each processor. :dd
|
||||
|
||||
{Invalid dump_modify threshhold operator} :dt
|
||||
{Invalid dump_modify threshold operator} :dt
|
||||
|
||||
Operator keyword used for threshold specification in not recognized. :dd
|
||||
|
||||
@ -6738,7 +6751,7 @@ The fix is not recognized. :dd
|
||||
|
||||
{Invalid fix ave/time off column} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid fix box/relax command for a 2d simulation} :dt
|
||||
|
||||
@ -7300,7 +7313,7 @@ Self-explanatory. Check the input script or data file. :dd
|
||||
|
||||
{LJ6 off not supported in pair_style buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Label wasn't found in input script} :dt
|
||||
|
||||
@ -7348,7 +7361,7 @@ This should not occur. Report the problem to the developers. :dd
|
||||
Lost atoms are checked for each time thermo output is done. See the
|
||||
thermo_modify lost command for options. Lost atoms usually indicate
|
||||
bad dynamics, e.g. atoms have been blown far out of the simulation
|
||||
box, or moved futher than one processor's sub-domain away before
|
||||
box, or moved further than one processor's sub-domain away before
|
||||
reneighboring. :dd
|
||||
|
||||
{MEAM library error %d} :dt
|
||||
@ -7513,7 +7526,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Molecule template ID for create_atoms does not exist} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Molecule template ID for fix deposit does not exist} :dt
|
||||
|
||||
@ -7539,7 +7552,7 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Molecule toplogy/atom exceeds system topology/atom} :dt
|
||||
{Molecule topology/atom exceeds system topology/atom} :dt
|
||||
|
||||
The number of bonds, angles, etc per-atom in the molecule exceeds the
|
||||
system setting. See the create_box command for how to specify these
|
||||
@ -7779,7 +7792,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Must use variable energy with fix addforce} :dt
|
||||
|
||||
Must define an energy vartiable when applyting a dynamic
|
||||
Must define an energy variable when applying a dynamic
|
||||
force during minimization. :dd
|
||||
|
||||
{Must use variable energy with fix efield} :dt
|
||||
@ -8029,7 +8042,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Non digit character between brackets in variable} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Non integer # of swaps in temper command} :dt
|
||||
|
||||
@ -8650,7 +8663,7 @@ not be invoked by bond_style quartic. :dd
|
||||
{Pair style does not support compute group/group} :dt
|
||||
|
||||
The pair_style does not have a single() function, so it cannot be
|
||||
invokded by the compute group/group command. :dd
|
||||
invoked by the compute group/group command. :dd
|
||||
|
||||
{Pair style does not support compute pair/local} :dt
|
||||
|
||||
@ -8935,11 +8948,11 @@ Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid requires atom style sphere} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid requires atoms with same type have same radius} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid/gpu requires atom style sphere} :dt
|
||||
|
||||
@ -9153,7 +9166,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Python function evaluation failed} :dt
|
||||
|
||||
The Python function did not run succesfully and/or did not return a
|
||||
The Python function did not run successfully and/or did not return a
|
||||
value (if it is supposed to return a value). This is probably due to
|
||||
some error condition in the function. :dd
|
||||
|
||||
@ -10012,7 +10025,7 @@ make sense in between runs. :dd
|
||||
|
||||
{Threshhold for an atom property that isn't allocated} :dt
|
||||
|
||||
A dump threshhold has been requested on a quantity that is
|
||||
A dump threshold has been requested on a quantity that is
|
||||
not defined by the atom style used in this simulation. :dd
|
||||
|
||||
{Timestep must be >= 0} :dt
|
||||
@ -10074,7 +10087,7 @@ to a large size. :dd
|
||||
{Too many atom triplets for pair bop} :dt
|
||||
|
||||
The number of three atom groups for angle determinations exceeds the
|
||||
expected number. Check your atomic structrure to ensure that it is
|
||||
expected number. Check your atomic structure to ensure that it is
|
||||
realistic. :dd
|
||||
|
||||
{Too many atoms for dump dcd} :dt
|
||||
@ -10142,7 +10155,7 @@ to a large size. :dd
|
||||
|
||||
{Too many timesteps} :dt
|
||||
|
||||
The cummulative timesteps must fit in a 64-bit integer. :dd
|
||||
The cumulative timesteps must fit in a 64-bit integer. :dd
|
||||
|
||||
{Too many timesteps for NEB} :dt
|
||||
|
||||
@ -10641,7 +10654,7 @@ Only atom-style variables can be used. :dd
|
||||
|
||||
{Variable for region cylinder is invalid style} :dt
|
||||
|
||||
Only equal-style varaibles are allowed. :dd
|
||||
Only equal-style variables are allowed. :dd
|
||||
|
||||
{Variable for region is invalid style} :dt
|
||||
|
||||
@ -10653,7 +10666,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Variable for region sphere is invalid style} :dt
|
||||
|
||||
Only equal-style varaibles are allowed. :dd
|
||||
Only equal-style variables are allowed. :dd
|
||||
|
||||
{Variable for restart is invalid style} :dt
|
||||
|
||||
@ -10694,7 +10707,7 @@ Self-explanatory. :dd
|
||||
{Variable has circular dependency} :dt
|
||||
|
||||
A circular dependency is when variable "a" in used by variable "b" and
|
||||
variable "b" is also used by varaible "a". Circular dependencies with
|
||||
variable "b" is also used by variable "a". Circular dependencies with
|
||||
longer chains of dependence are also not allowed. :dd
|
||||
|
||||
{Variable name between brackets must be alphanumeric or underscore characters} :dt
|
||||
@ -10783,7 +10796,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Variable name for fix deform does not exist} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Variable name for fix efield does not exist} :dt
|
||||
|
||||
@ -11070,7 +11083,7 @@ for a dihedral) and adding a small amount of stretch. :dd
|
||||
|
||||
{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Calling write_dump before a full system init.} :dt
|
||||
|
||||
@ -11401,7 +11414,7 @@ The command options you have used caused atoms to be lost. :dd
|
||||
Lost atoms are checked for each time thermo output is done. See the
|
||||
thermo_modify lost command for options. Lost atoms usually indicate
|
||||
bad dynamics, e.g. atoms have been blown far out of the simulation
|
||||
box, or moved futher than one processor's sub-domain away before
|
||||
box, or moved further than one processor's sub-domain away before
|
||||
reneighboring. :dd
|
||||
|
||||
{MSM mesh too small, increasing to 2 points in each direction} :dt
|
||||
@ -11439,7 +11452,7 @@ i.e. the first molecule in the template. :dd
|
||||
|
||||
{Molecule template for fix shake has multiple molecules} :dt
|
||||
|
||||
The fix shake command will only recoginze molecules of a single
|
||||
The fix shake command will only recognize molecules of a single
|
||||
type, i.e. the first molecule in the template. :dd
|
||||
|
||||
{More than one compute centro/atom} :dt
|
||||
@ -11524,7 +11537,7 @@ neigh_modify exclude command. :dd
|
||||
|
||||
If a thermo_style command is used after a thermo_modify command, the
|
||||
settings changed by the thermo_modify command will be reset to their
|
||||
default values. This is because the thermo_modify commmand acts on
|
||||
default values. This is because the thermo_modify command acts on
|
||||
the currently defined thermo style, and a thermo_style command creates
|
||||
a new style. :dd
|
||||
|
||||
@ -11576,7 +11589,7 @@ This may not be what you intended. :dd
|
||||
|
||||
{One or more dynamic groups may not be updated at correct point in timestep} :dt
|
||||
|
||||
If there are other fixes that act immediately after the intitial stage
|
||||
If there are other fixes that act immediately after the initial stage
|
||||
of time integration within a timestep (i.e. after atoms move), then
|
||||
the command that sets up the dynamic group should appear after those
|
||||
fixes. This will insure that dynamic group assignments are made
|
||||
@ -11873,7 +11886,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Using largest cutoff for buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Using largest cutoff for lj/long/coul/long} :dt
|
||||
|
||||
|
||||
@ -25,9 +25,7 @@ files and image files.
|
||||
|
||||
If you uncomment the "dump"_dump.html command in the input script, a
|
||||
text dump file will be produced, which can be animated by various
|
||||
"visualization programs"_http://lammps.sandia.gov/viz.html. It can
|
||||
also be animated using the xmovie tool described in the "Additional
|
||||
Tools"_Section_tools.html section of the LAMMPS documentation.
|
||||
"visualization programs"_http://lammps.sandia.gov/viz.html.
|
||||
|
||||
If you uncomment the "dump image"_dump.html command in the input
|
||||
script, and assuming you have built LAMMPS with a JPG library, JPG
|
||||
@ -53,9 +51,11 @@ Lowercase directories :h4
|
||||
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
|
||||
balance: dynamic load balancing, 2d system
|
||||
body: body particles, 2d system
|
||||
cmap: CMAP 5-body contributions to CHARMM force field
|
||||
colloid: big colloid particles in a small particle solvent, 2d system
|
||||
comb: models using the COMB potential
|
||||
coreshell: core/shell model using CORESHELL package
|
||||
controller: use of fix controller as a thermostat
|
||||
crack: crack propagation in a 2d solid
|
||||
deposit: deposit atoms and molecules on a surface
|
||||
dipole: point dipolar particles, 2d system
|
||||
@ -64,6 +64,8 @@ eim: NaCl using the EIM potential
|
||||
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
||||
flow: Couette and Poiseuille flow in a 2d channel
|
||||
friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
@ -71,6 +73,7 @@ meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||
min: energy minimization of 2d LJ melt
|
||||
mscg: parameterize a multi-scale coarse-graining (MSCG) model
|
||||
msst: MSST shock dynamics
|
||||
nb3b: use of nonbonded 3-body harmonic pair style
|
||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||
@ -89,7 +92,8 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
|
||||
srd: stochastic rotation dynamics (SRD) particles as solvent
|
||||
streitz: use of Streitz/Mintmire potential with charge equilibration
|
||||
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
|
||||
vashishta: use of the Vashishta potential :tb(s=:)
|
||||
vashishta: use of the Vashishta potential
|
||||
voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:)
|
||||
|
||||
Here is how you can run and visualize one of the sample problems:
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ pitfalls or alternatives.
|
||||
|
||||
Please see some of the closed issues for examples of how to
|
||||
suggest code enhancements, submit proposed changes, or report
|
||||
possible bugs and how they are resoved.
|
||||
possible bugs and how they are resolved.
|
||||
|
||||
As an alternative to using GitHub, you may e-mail the
|
||||
"core developers"_http://lammps.sandia.gov/authors.html or send
|
||||
|
||||
@ -165,9 +165,16 @@ Many of the example input scripts included in the LAMMPS distribution
|
||||
are for 2d models.
|
||||
|
||||
NOTE: Some models in LAMMPS treat particles as finite-size spheres, as
|
||||
opposed to point particles. In 2d, the particles will still be
|
||||
spheres, not disks, meaning their moment of inertia will be the same
|
||||
as in 3d.
|
||||
opposed to point particles. See the "atom_style
|
||||
sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html
|
||||
commands for details. By default, for 2d simulations, such particles
|
||||
will still be modeled as 3d spheres, not 2d discs (circles), meaning
|
||||
their moment of inertia will be that of a sphere. If you wish to
|
||||
model them as 2d discs, see the "set density/disc"_set.html command
|
||||
and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html,
|
||||
"fix nvt/sphere"_fix_nvt_sphere.html, "fix
|
||||
nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html
|
||||
commands.
|
||||
|
||||
:line
|
||||
|
||||
@ -197,7 +204,10 @@ documentation for the formula it computes.
|
||||
|
||||
"bond_style"_bond_harmonic.html harmonic
|
||||
"angle_style"_angle_charmm.html charmm
|
||||
"dihedral_style"_dihedral_charmm.html charmmfsh
|
||||
"dihedral_style"_dihedral_charmm.html charmm
|
||||
"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh
|
||||
"pair_style"_pair_charmm.html lj/charmmfsw/coul/long
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/charmm
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/long :ul
|
||||
@ -205,6 +215,12 @@ documentation for the formula it computes.
|
||||
"special_bonds"_special_bonds.html charmm
|
||||
"special_bonds"_special_bonds.html amber :ul
|
||||
|
||||
NOTE: For CHARMM, the newer {charmmfsw} or {charmmfsh} styles were
|
||||
released in March 2017. We recommend they be used instead of the
|
||||
older {charmm} styles. See discussion of the differences on the "pair
|
||||
charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
|
||||
doc pages.
|
||||
|
||||
DREIDING is a generic force field developed by the "Goddard
|
||||
group"_http://www.wag.caltech.edu at Caltech and is useful for
|
||||
predicting structures and dynamics of organic, biological and
|
||||
@ -434,6 +450,12 @@ computations between frozen atoms by using this command:
|
||||
|
||||
"neigh_modify"_neigh_modify.html exclude :ul
|
||||
|
||||
NOTE: By default, for 2d systems, granular particles are still modeled
|
||||
as 3d spheres, not 2d discs (circles), meaning their moment of inertia
|
||||
will be the same as in 3d. If you wish to model granular particles in
|
||||
2d as 2d discs, see the note on this topic in "Section
|
||||
6.2"_Section_howto.html#howto_2, where 2d simulations are disussed.
|
||||
|
||||
:line
|
||||
|
||||
6.7 TIP3P water model :link(howto_7),h4
|
||||
@ -451,7 +473,7 @@ atoms and the water molecule to run a rigid TIP3P-CHARMM model with a
|
||||
cutoff. The K values can be used if a flexible TIP3P model (without
|
||||
fix shake) is desired. If the LJ epsilon and sigma for HH and OH are
|
||||
set to 0.0, it corresponds to the original 1983 TIP3P model
|
||||
"(Jorgensen)"_#Jorgensen.
|
||||
"(Jorgensen)"_#Jorgensen1.
|
||||
|
||||
O mass = 15.9994
|
||||
H mass = 1.008
|
||||
@ -469,7 +491,7 @@ K of HOH angle = 55
|
||||
theta of HOH angle = 104.52 :all(b),p
|
||||
|
||||
These are the parameters to use for TIP3P with a long-range Coulombic
|
||||
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price for
|
||||
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for
|
||||
details:
|
||||
|
||||
O mass = 15.9994
|
||||
@ -513,7 +535,7 @@ using the "fix shake"_fix_shake.html command.
|
||||
|
||||
These are the additional parameters (in real units) to set for O and H
|
||||
atoms and the water molecule to run a rigid TIP4P model with a cutoff
|
||||
"(Jorgensen)"_#Jorgensen. Note that the OM distance is specified in
|
||||
"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in
|
||||
the "pair_style"_pair_style.html command, not as part of the pair
|
||||
coefficients.
|
||||
|
||||
@ -573,7 +595,7 @@ LJ epsilon of O-O = 0.16275
|
||||
LJ sigma of O-O = 3.16435
|
||||
LJ epsilon, sigma of OH, HH = 0.0 :all(b),p
|
||||
|
||||
Note that the when using the TIP4P pair style, the neighobr list
|
||||
Note that the when using the TIP4P pair style, the neighbor list
|
||||
cutoff for Coulomb interactions is effectively extended by a distance
|
||||
2 * (OM distance), to account for the offset distance of the
|
||||
fictitious charges on O atoms in water molecules. Thus it is
|
||||
@ -618,7 +640,7 @@ any of the parameters above, though it becomes a different model in
|
||||
that mode of usage.
|
||||
|
||||
The SPC/E (extended) water model is the same, except
|
||||
the partial charge assignemnts change:
|
||||
the partial charge assignments change:
|
||||
|
||||
O charge = -0.8476
|
||||
H charge = 0.4238 :all(b),p
|
||||
@ -737,23 +759,14 @@ LAMMPS itself does not do visualization, but snapshots from LAMMPS
|
||||
simulations can be visualized (and analyzed) in a variety of ways.
|
||||
|
||||
LAMMPS snapshots are created by the "dump"_dump.html command which can
|
||||
create files in several formats. The native LAMMPS dump format is a
|
||||
create files in several formats. The native LAMMPS dump format is a
|
||||
text file (see "dump atom" or "dump custom") which can be visualized
|
||||
by the "xmovie"_Section_tools.html#xmovie program, included with the
|
||||
LAMMPS package. This produces simple, fast 2d projections of 3d
|
||||
systems, and can be useful for rapid debugging of simulation geometry
|
||||
and atom trajectories.
|
||||
|
||||
by several popular visualization tools. The "dump image"_dump_image.html
|
||||
and "dump movie"_dump_image.html styles can output internally rendered
|
||||
images and convert a sequence of them to a movie during the MD run.
|
||||
Several programs included with LAMMPS as auxiliary tools can convert
|
||||
native LAMMPS dump files to other formats. See the
|
||||
"Section 9"_Section_tools.html doc page for details. The first is
|
||||
the "ch2lmp tool"_Section_tools.html#charmm, which contains a
|
||||
lammps2pdb Perl script which converts LAMMPS dump files into PDB
|
||||
files. The second is the "lmp2arc tool"_Section_tools.html#arc which
|
||||
converts LAMMPS dump files into Accelrys' Insight MD program files.
|
||||
The third is the "lmp2cfg tool"_Section_tools.html#cfg which converts
|
||||
LAMMPS dump files into CFG files which can be read into the
|
||||
"AtomEye"_atomeye visualizer.
|
||||
between LAMMPS format files and other formats.
|
||||
See the "Section 9"_Section_tools.html doc page for details.
|
||||
|
||||
A Python-based toolkit distributed by our group can read native LAMMPS
|
||||
dump files, including custom dump files with additional columns of
|
||||
@ -766,22 +779,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive
|
||||
3d OpenGL visualization and one that creates SVG images of dump file
|
||||
snapshots.
|
||||
|
||||
LAMMPS can create XYZ files directly (via "dump xyz") which is a
|
||||
simple text-based file format used by many visualization programs
|
||||
including "VMD"_vmd.
|
||||
|
||||
LAMMPS can create DCD files directly (via "dump dcd") which can be
|
||||
read by "VMD"_vmd in conjunction with a CHARMM PSF file. Using this
|
||||
form of output avoids the need to convert LAMMPS snapshots to PDB
|
||||
files. See the "dump"_dump.html command for more information on DCD
|
||||
files.
|
||||
|
||||
LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS
|
||||
file format which can also be read by "VMD"_vmd for visualization.
|
||||
See the "dump"_dump.html command for more information on XTC files.
|
||||
|
||||
:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
|
||||
:link(vmd,http://www.ks.uiuc.edu/Research/vmd)
|
||||
:link(ensight,http://www.ensight.com)
|
||||
:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A)
|
||||
|
||||
@ -863,7 +861,7 @@ boundary conditions in specific dimensions. See the command doc pages
|
||||
for details.
|
||||
|
||||
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
|
||||
time the simluation box is created. This happens in one of 3 ways.
|
||||
time the simulation box is created. This happens in one of 3 ways.
|
||||
If the "create_box"_create_box.html command is used with a region of
|
||||
style {prism}, then a triclinic box is setup. See the
|
||||
"region"_region.html command for details. If the
|
||||
@ -982,10 +980,10 @@ used with non-orthogonal basis vectors to define a lattice that will
|
||||
tile a triclinic simulation box via the
|
||||
"create_atoms"_create_atoms.html command.
|
||||
|
||||
A second use is to run Parinello-Rahman dyanamics via the "fix
|
||||
A second use is to run Parinello-Rahman dynamics via the "fix
|
||||
npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt
|
||||
factors to compensate for off-diagonal components of the pressure
|
||||
tensor. The analalog for an "energy minimization"_minimize.html is
|
||||
tensor. The analog for an "energy minimization"_minimize.html is
|
||||
the "fix box/relax"_fix_box_relax.html command.
|
||||
|
||||
A third use is to shear a bulk solid to study the response of the
|
||||
@ -1032,6 +1030,10 @@ profile consistent with the applied shear strain rate.
|
||||
An alternative method for calculating viscosities is provided via the
|
||||
"fix viscosity"_fix_viscosity.html command.
|
||||
|
||||
NEMD simulations can also be used to measure transport properties of a fluid
|
||||
through a pore or channel. Simulations of steady-state flow can be performed
|
||||
using the "fix flow/gauss"_fix_flow_gauss.html command.
|
||||
|
||||
:line
|
||||
|
||||
6.14 Finite-size spherical and aspherical particles :link(howto_14),h4
|
||||
@ -1392,7 +1394,7 @@ custom"_dump.html command.
|
||||
|
||||
There is also a "dump local"_dump.html format where the user specifies
|
||||
what local values to output. A pre-defined index keyword can be
|
||||
specified to enumuerate the local values. Two additional kinds of
|
||||
specified to enumerate the local values. Two additional kinds of
|
||||
keywords can also be specified (c_ID, f_ID), where a
|
||||
"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
|
||||
provides the values to be output. In each case, the compute or fix
|
||||
@ -1525,7 +1527,7 @@ Variables that generate values to output :h5,link(variable)
|
||||
"Variables"_variable.html defined in an input script can store one or
|
||||
more strings. But equal-style, vector-style, and atom-style or
|
||||
atomfile-style variables generate a global scalar value, global vector
|
||||
or values, or a per-atom vector, resepctively, when accessed. The
|
||||
or values, or a per-atom vector, respectively, when accessed. The
|
||||
formulas used to define these variables can contain references to the
|
||||
thermodynamic keywords and to global and per-atom data generated by
|
||||
computes, fixes, and other variables. The values generated by
|
||||
@ -1585,7 +1587,7 @@ Temperature is computed as kinetic energy divided by some number of
|
||||
degrees of freedom (and the Boltzmann constant). Since kinetic energy
|
||||
is a function of particle velocity, there is often a need to
|
||||
distinguish between a particle's advection velocity (due to some
|
||||
aggregate motiion of particles) and its thermal velocity. The sum of
|
||||
aggregate motion of particles) and its thermal velocity. The sum of
|
||||
the two is the particle's total velocity, but the latter is often what
|
||||
is wanted to compute a temperature.
|
||||
|
||||
@ -1640,14 +1642,14 @@ nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
|
||||
velocities but also rotational velocities for spherical and aspherical
|
||||
particles.
|
||||
|
||||
DPD thermostatting alters pairwise interactions in a manner analagous
|
||||
DPD thermostatting alters pairwise interactions in a manner analogous
|
||||
to the per-particle thermostatting of "fix
|
||||
langevin"_fix_langevin.html.
|
||||
|
||||
Any of the thermostatting fixes can use temperature computes that
|
||||
remove bias which has two effects. First, the current calculated
|
||||
temperature, which is compared to the requested target temperature, is
|
||||
caluclated with the velocity bias removed. Second, the thermostat
|
||||
calculated with the velocity bias removed. Second, the thermostat
|
||||
adjusts only the thermal temperature component of the particle's
|
||||
velocities, which are the velocities with the bias removed. The
|
||||
removed bias is then added back to the adjusted velocities. See the
|
||||
@ -1684,7 +1686,7 @@ nph) and Berendsen:
|
||||
The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
|
||||
and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
|
||||
it does no thermostatting. Both "fix nph"_fix_nh.html and "fix
|
||||
press/bernendsen"_fix_press_berendsen.html can be used in conjunction
|
||||
press/berendsen"_fix_press_berendsen.html can be used in conjunction
|
||||
with any of the thermostatting fixes.
|
||||
|
||||
As with the thermostats, "fix npt"_fix_nh.html and "fix
|
||||
@ -1834,7 +1836,7 @@ the deformation must be chosen judiciously, and care must be taken to
|
||||
fully equilibrate the deformed cell before sampling the stress
|
||||
tensor. Another approach is to sample the triclinic cell fluctuations
|
||||
that occur in an NPT simulation. This method can also be slow to
|
||||
converge and requires careful post-processing "(Shinoda)"_#Shinoda
|
||||
converge and requires careful post-processing "(Shinoda)"_#Shinoda1
|
||||
|
||||
:line
|
||||
|
||||
@ -1888,7 +1890,7 @@ instances of LAMMPS to perform different calculations.
|
||||
|
||||
The lammps_open_no_mpi() function is similar except that no MPI
|
||||
communicator is passed from the caller. Instead, MPI_COMM_WORLD is
|
||||
used to instantiate LAMMPS, and MPI is initialzed if necessary.
|
||||
used to instantiate LAMMPS, and MPI is initialized if necessary.
|
||||
|
||||
The lammps_close() function is used to shut down an instance of LAMMPS
|
||||
and free all its memory.
|
||||
@ -1957,9 +1959,12 @@ The extract functions return a pointer to various global or per-atom
|
||||
quantities stored in LAMMPS or to values calculated by a compute, fix,
|
||||
or variable. The pointer returned by the extract_global() function
|
||||
can be used as a permanent reference to a value which may change. For
|
||||
the other extract functions, the underlying storage may be reallocated
|
||||
as LAMMPS runs, so you need to re-call the function to assure a
|
||||
current pointer or returned value(s).
|
||||
the extract_atom() method, see the extract() method in the
|
||||
src/atom.cpp file for a list of valid per-atom properties. New names
|
||||
could easily be added if the property you want is not listed. For the
|
||||
other extract functions, the underlying storage may be reallocated as
|
||||
LAMMPS runs, so you need to re-call the function to assure a current
|
||||
pointer or returned value(s).
|
||||
|
||||
The lammps_reset_box() function resets the size and shape of the
|
||||
simulation box, e.g. as part of restoring a previously extracted and
|
||||
@ -1975,11 +1980,20 @@ keyword as a double precision value.
|
||||
The lammps_get_natoms() function returns the total number of atoms in
|
||||
the system and can be used by the caller to allocate space for the
|
||||
lammps_gather_atoms() and lammps_scatter_atoms() functions. The
|
||||
gather function collects atom info of the requested type (atom coords,
|
||||
types, forces, etc) from all procsesors, orders them by atom ID, and
|
||||
returns a full list to each calling processor. The scatter function
|
||||
does the inverse. It distributes the same kinds of values,
|
||||
gather function collects peratom info of the requested type (atom
|
||||
coords, types, forces, etc) from all processors, orders them by atom
|
||||
ID, and returns a full list to each calling processor. The scatter
|
||||
function does the inverse. It distributes the same peratom values,
|
||||
passed by the caller, to each atom owned by individual processors.
|
||||
Both methods are thus a means to extract or assign (overwrite) any
|
||||
peratom quantities within LAMMPS. See the extract() method in the
|
||||
src/atom.cpp file for a list of valid per-atom properties. New names
|
||||
could easily be added if the property you want is not listed.
|
||||
A special treatment is applied for accessing image flags via the
|
||||
"image" property. Image flags are stored in a packed format with all
|
||||
three image flags stored in a single integer. When signaling to access
|
||||
the image flags as 3 individual values per atom instead of 1, the data
|
||||
is transparently packed or unpacked by the library interface.
|
||||
|
||||
The lammps_create_atoms() function takes a list of N atoms as input
|
||||
with atom types and coords (required), an optionally atom IDs and
|
||||
@ -2013,7 +2027,7 @@ a simple Lennard-Jones fluid model. Also, see "this
|
||||
section"_Section_howto.html#howto_21 of the manual for an analogous
|
||||
discussion for viscosity.
|
||||
|
||||
The thermal conducitivity tensor kappa is a measure of the propensity
|
||||
The thermal conductivity tensor kappa is a measure of the propensity
|
||||
of a material to transmit heat energy in a diffusive manner as given
|
||||
by Fourier's law
|
||||
|
||||
@ -2099,7 +2113,7 @@ and grad(Vstream) is the spatial gradient of the velocity of the fluid
|
||||
moving in another direction, normal to the area through which the
|
||||
momentum flows. Viscosity thus has units of pressure-time.
|
||||
|
||||
The first method is to perform a non-equlibrium MD (NEMD) simulation
|
||||
The first method is to perform a non-equilibrium MD (NEMD) simulation
|
||||
by shearing the simulation box via the "fix deform"_fix_deform.html
|
||||
command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to
|
||||
thermostat the fluid via the SLLOD equations of motion.
|
||||
@ -2125,7 +2139,7 @@ the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is
|
||||
swapped between atoms in two different layers of the simulation box in
|
||||
a different dimension. This induces a velocity gradient which can be
|
||||
monitored with the "fix ave/chunk"_fix_ave_chunk.html command.
|
||||
The fix tallies the cummulative momentum transfer that it performs.
|
||||
The fix tallies the cumulative momentum transfer that it performs.
|
||||
See the "fix viscosity"_fix_viscosity.html command for details.
|
||||
|
||||
The fourth method is based on the Green-Kubo (GK) formula which
|
||||
@ -2268,7 +2282,7 @@ atoms with same local defect structure | chunk ID = output of "compute centro/at
|
||||
Note that chunk IDs are integer values, so for atom properties or
|
||||
computes that produce a floating point value, they will be truncated
|
||||
to an integer. You could also use the compute in a variable that
|
||||
scales the floating point value to spread it across multiple intergers.
|
||||
scales the floating point value to spread it across multiple integers.
|
||||
|
||||
Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
|
||||
pencils, 3d bins = boxes, spherical bins, cylindrical bins.
|
||||
@ -2353,7 +2367,7 @@ largest cluster or fastest diffusing molecule. :l
|
||||
|
||||
Example calculations with chunks :h5
|
||||
|
||||
Here are eaxmples using chunk commands to calculate various
|
||||
Here are examples using chunk commands to calculate various
|
||||
properties:
|
||||
|
||||
(1) Average velocity in each of 1000 2d spatial bins:
|
||||
@ -2424,7 +2438,7 @@ which both have their up- and downsides.
|
||||
The first approach is to set desired real-space an kspace accuracies
|
||||
via the {kspace_modify force/disp/real} and {kspace_modify
|
||||
force/disp/kspace} commands. Note that the accuracies have to be
|
||||
specified in force units and are thus dependend on the chosen unit
|
||||
specified in force units and are thus dependent on the chosen unit
|
||||
settings. For real units, 0.0001 and 0.002 seem to provide reasonable
|
||||
accurate and efficient computations for the real-space and kspace
|
||||
accuracies. 0.002 and 0.05 work well for most systems using lj
|
||||
@ -2444,7 +2458,7 @@ performance. This approach provides a fast initialization of the
|
||||
simulation. However, it is sensitive to errors: A combination of
|
||||
parameters that will perform well for one system might result in
|
||||
far-from-optimal conditions for other simulations. For example,
|
||||
parametes that provide accurate and fast computations for
|
||||
parameters that provide accurate and fast computations for
|
||||
all-atomistic force fields can provide insufficient accuracy or
|
||||
united-atomistic force fields (which is related to that the latter
|
||||
typically have larger dispersion coefficients).
|
||||
@ -2478,7 +2492,7 @@ arithmetic mixing rule substantially increases the computational cost.
|
||||
The computational overhead can be reduced using the {kspace_modify
|
||||
mix/disp geom} and {kspace_modify splittol} commands. The first
|
||||
command simply enforces geometric mixing of the dispersion
|
||||
coeffiecients in kspace computations. This introduces some error in
|
||||
coefficients in kspace computations. This introduces some error in
|
||||
the computations but will also significantly speed-up the
|
||||
simulations. The second keyword sets the accuracy with which the
|
||||
dispersion coefficients are approximated using a matrix factorization
|
||||
@ -2497,7 +2511,7 @@ to specify this command explicitly.
|
||||
6.25 Polarizable models :link(howto_25),h4
|
||||
|
||||
In polarizable force fields the charge distributions in molecules and
|
||||
materials respond to their electrostatic environements. Polarizable
|
||||
materials respond to their electrostatic environments. Polarizable
|
||||
systems can be simulated in LAMMPS using three methods:
|
||||
|
||||
the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html
|
||||
@ -2551,7 +2565,7 @@ this is done by "fix qeq/dynamic"_fix_qeq.html, and for the
|
||||
charge-on-spring models by the methods outlined in the next two
|
||||
sections. The assignment of masses to the additional degrees of
|
||||
freedom can lead to unphysical trajectories if care is not exerted in
|
||||
choosing the parameters of the poarizable models and the simulation
|
||||
choosing the parameters of the polarizable models and the simulation
|
||||
conditions.
|
||||
|
||||
In the core-shell model the vibration of the shells is kept faster
|
||||
@ -2573,7 +2587,7 @@ well.
|
||||
6.26 Adiabatic core/shell model :link(howto_26),h4
|
||||
|
||||
The adiabatic core-shell model by "Mitchell and
|
||||
Finchham"_#MitchellFinchham is a simple method for adding
|
||||
Fincham"_#MitchellFincham is a simple method for adding
|
||||
polarizability to a system. In order to mimic the electron shell of
|
||||
an ion, a satellite particle is attached to it. This way the ions are
|
||||
split into a core and a shell where the latter is meant to react to
|
||||
@ -2667,13 +2681,16 @@ bond_coeff 1 63.014 0.0
|
||||
bond_coeff 2 25.724 0.0 :pre
|
||||
|
||||
When running dynamics with the adiabatic core/shell model, the
|
||||
following issues should be considered. Since the relative motion of
|
||||
the core and shell particles corresponds to the polarization, typical
|
||||
thermostats can alter the polarization behaviour, meaning the shell
|
||||
will not react freely to its electrostatic environment. This is
|
||||
critical during the equilibration of the system. Therefore
|
||||
it's typically desirable to decouple the relative motion of the
|
||||
core/shell pair, which is an imaginary degree of freedom, from the
|
||||
following issues should be considered. The relative motion of
|
||||
the core and shell particles corresponds to the polarization,
|
||||
hereby an instantaneous relaxation of the shells is approximated
|
||||
and a fast core/shell spring frequency ensures a nearly constant
|
||||
internal kinetic energy during the simulation.
|
||||
Thermostats can alter this polarization behaviour, by scaling the
|
||||
internal kinetic energy, meaning the shell will not react freely to
|
||||
its electrostatic environment.
|
||||
Therefore it is typically desirable to decouple the relative motion of
|
||||
the core/shell pair, which is an imaginary degree of freedom, from the
|
||||
real physical system. To do that, the "compute
|
||||
temp/cs"_compute_temp_cs.html command can be used, in conjunction with
|
||||
any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix
|
||||
@ -2704,44 +2721,54 @@ fix thermostatequ all nve # integrator as needed f
|
||||
fix_modify thermoberendsen temp CSequ
|
||||
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
|
||||
|
||||
The pressure for the core/shell system is computed via the regular
|
||||
LAMMPS convention by "treating the cores and shells as individual
|
||||
particles"_#MitchellFincham2. For the thermo output of the pressure
|
||||
as well as for the application of a barostat, it is necessary to
|
||||
use an additional "pressure"_compute_pressure compute based on the
|
||||
default "temperature"_compute_temp and specifying it as a second
|
||||
argument in "fix modify"_fix_modify.html and
|
||||
"thermo_modify"_thermo_modify.html resulting in:
|
||||
|
||||
(...)
|
||||
compute CSequ all temp/cs cores shells
|
||||
compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles
|
||||
thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure
|
||||
fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4
|
||||
fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre
|
||||
|
||||
If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
|
||||
relative motion of the core and the shell should in theory be
|
||||
stable. However numerical fluctuation can introduce a small
|
||||
momentum to the system, which is noticable over long trajectories.
|
||||
Therefore it is recomendable to use the "fix
|
||||
Therefore it is recommendable to use the "fix
|
||||
momentum"_fix_momentum.html command in combination with "compute
|
||||
temp/cs"_compute_temp_cs.html when equilibrating the system to
|
||||
prevent any drift.
|
||||
|
||||
When intializing the velocities of a system with core/shell pairs, it
|
||||
When initializing the velocities of a system with core/shell pairs, it
|
||||
is also desirable to not introduce energy into the relative motion of
|
||||
the core/shell particles, but only assign a center-of-mass velocity to
|
||||
the pairs. This can be done by using the {bias} keyword of the
|
||||
"velocity create"_velocity.html command and assigning the "compute
|
||||
temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
|
||||
"velocity"_velocity.html commmand, e.g.
|
||||
"velocity"_velocity.html command, e.g.
|
||||
|
||||
velocity all create 1427 134 bias yes temp CSequ
|
||||
velocity all scale 1427 temp CSequ :pre
|
||||
|
||||
It is important to note that the polarizability of the core/shell
|
||||
pairs is based on their relative motion. Therefore the choice of
|
||||
spring force and mass ratio need to ensure much faster relative motion
|
||||
of the 2 atoms within the core/shell pair than their center-of-mass
|
||||
velocity. This allow the shells to effectively react instantaneously
|
||||
to the electrostatic environment. This fast movement also limits the
|
||||
timestep size that can be used.
|
||||
To maintain the correct polarizability of the core/shell pairs, the
|
||||
kinetic energy of the internal motion shall remain nearly constant.
|
||||
Therefore the choice of spring force and mass ratio need to ensure
|
||||
much faster relative motion of the 2 atoms within the core/shell pair
|
||||
than their center-of-mass velocity. This allows the shells to
|
||||
effectively react instantaneously to the electrostatic environment and
|
||||
limits energy transfer to or from the core/shell oscillators.
|
||||
This fast movement also dictates the timestep that can be used.
|
||||
|
||||
The primary literature of the adiabatic core/shell model suggests that
|
||||
the fast relative motion of the core/shell pairs only allows negligible
|
||||
energy transfer to the environment. Therefore it is not intended to
|
||||
decouple the core/shell degree of freedom from the physical system
|
||||
during production runs. In other words, the "compute
|
||||
temp/cs"_compute_temp_cs.html command should not be used during
|
||||
production runs and is only required during equilibration. This way one
|
||||
is consistent with literature (based on the code packages DL_POLY or
|
||||
GULP for instance).
|
||||
|
||||
energy transfer to the environment.
|
||||
The mentioned energy transfer will typically lead to a small drift
|
||||
in total energy over time. This internal energy can be monitored
|
||||
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
|
||||
@ -2761,14 +2788,20 @@ command, to use as input to the "compute
|
||||
chunk/atom"_compute_chunk_atom.html command to define the core/shell
|
||||
pairs as chunks.
|
||||
|
||||
For example,
|
||||
For example if core/shell pairs are the only molecules:
|
||||
|
||||
read_data NaCl_CS_x0.1_prop.data
|
||||
compute prop all property/atom molecule
|
||||
compute cs_chunk all chunk/atom c_prop
|
||||
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs
|
||||
fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
|
||||
|
||||
For example if core/shell pairs and other molecules are present:
|
||||
|
||||
fix csinfo all property/atom i_CSID # property/atom command
|
||||
read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file
|
||||
compute prop all property/atom i_CSID
|
||||
compute cs_chunk all chunk/atom c_prop
|
||||
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs
|
||||
fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
|
||||
(...) :pre
|
||||
|
||||
The additional section in the date file would be formatted like this:
|
||||
|
||||
@ -2789,7 +2822,7 @@ CS-Info # header of additional section :pre
|
||||
6.27 Drude induced dipoles :link(howto_27),h4
|
||||
|
||||
The thermalized Drude model, similarly to the "core-shell"_#howto_26
|
||||
model, representes induced dipoles by a pair of charges (the core atom
|
||||
model, represents induced dipoles by a pair of charges (the core atom
|
||||
and the Drude particle) connected by a harmonic spring. The Drude
|
||||
model has a number of features aimed at its use in molecular systems
|
||||
("Lamoureux and Roux"_#howto-Lamoureux):
|
||||
@ -2880,19 +2913,23 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
(1990).
|
||||
|
||||
:link(Jorgensen)
|
||||
:link(Jorgensen1)
|
||||
[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
|
||||
:link(Price)
|
||||
:link(Price1)
|
||||
[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004).
|
||||
|
||||
:link(Shinoda)
|
||||
:link(Shinoda1)
|
||||
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
|
||||
|
||||
:link(MitchellFinchham)
|
||||
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter,
|
||||
:link(MitchellFincham)
|
||||
[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
:link(MitchellFincham2)
|
||||
[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
|
||||
6, 393-404 (1994).
|
||||
|
||||
:link(howto-Lamoureux)
|
||||
[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
|
||||
|
||||
@ -338,15 +338,13 @@ dynamics timestepping, particularly if the computations are not
|
||||
parallel, so it is often better to leave such analysis to
|
||||
post-processing codes.
|
||||
|
||||
A very simple (yet fast) visualizer is provided with the LAMMPS
|
||||
package - see the "xmovie"_Section_tools.html#xmovie tool in "this
|
||||
section"_Section_tools.html. It creates xyz projection views of
|
||||
atomic coordinates and animates them. We find it very useful for
|
||||
debugging purposes. For high-quality visualization we recommend the
|
||||
For high-quality visualization we recommend the
|
||||
following packages:
|
||||
|
||||
"VMD"_http://www.ks.uiuc.edu/Research/vmd
|
||||
"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A
|
||||
"OVITO"_http://www.ovito.org/
|
||||
"ParaView"_http://www.paraview.org/
|
||||
"PyMol"_http://www.pymol.org
|
||||
"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html
|
||||
"RasMol"_http://www.openrasmol.org :ul
|
||||
|
||||
@ -159,17 +159,17 @@ pack_comm_vel: add velocity info to communication buffer (required)
|
||||
pack_comm_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_comm: retrieve an atom's info from the buffer (required)
|
||||
unpack_comm_vel: also retrieve velocity info (required)
|
||||
unpack_comm_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_comm_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_reverse: store an atom's info in a buffer communicating partial forces (required)
|
||||
pack_reverse_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_reverse: retrieve an atom's info from the buffer (required)
|
||||
unpack_reverse_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_reverse_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required)
|
||||
pack_border_vel: add velocity info to buffer (required)
|
||||
pack_border_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_border: retrieve an atom's info from the buffer (required)
|
||||
unpack_border_vel: also retrieve velocity info (required)
|
||||
unpack_border_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_border_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_exchange: store all an atom's info to migrate to another processor (required)
|
||||
unpack_exchange: retrieve an atom's info from the buffer (required)
|
||||
size_restart: number of restart quantities associated with proc's atoms (required)
|
||||
@ -369,7 +369,7 @@ pre_force_respa: same as pre_force, but for rRESPA (optional)
|
||||
post_force_respa: same as post_force, but for rRESPA (optional)
|
||||
final_integrate_respa: same as final_integrate, but for rRESPA (optional)
|
||||
min_pre_force: called after pair & molecular forces are computed in minimizer (optional)
|
||||
min_post_force: called after pair & molecular forces are computed and communicated in minmizer (optional)
|
||||
min_post_force: called after pair & molecular forces are computed and communicated in minimizer (optional)
|
||||
min_store: store extra data for linesearch based minimization on a LIFO stack (optional)
|
||||
min_pushstore: push the minimization LIFO stack one element down (optional)
|
||||
min_popstore: pop the minimization LIFO stack one element up (optional)
|
||||
@ -517,7 +517,7 @@ class. See region.h for details.
|
||||
inside: determine whether a point is in the region
|
||||
surface_interior: determine if a point is within a cutoff distance inside of surc
|
||||
surface_exterior: determine if a point is within a cutoff distance outside of surf
|
||||
shape_update : change region shape if set by time-depedent variable :tb(s=:)
|
||||
shape_update : change region shape if set by time-dependent variable :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
@ -601,16 +601,16 @@ Adding keywords for the "thermo_style custom"_thermo_style.html command
|
||||
"here"_Section_modify.html#mod_13 on this page.
|
||||
|
||||
Adding a new math function of one or two arguments can be done by
|
||||
editing one section of the Variable::evaulate() method. Search for
|
||||
editing one section of the Variable::evaluate() method. Search for
|
||||
the word "customize" to find the appropriate location.
|
||||
|
||||
Adding a new group function can be done by editing one section of the
|
||||
Variable::evaulate() method. Search for the word "customize" to find
|
||||
Variable::evaluate() method. Search for the word "customize" to find
|
||||
the appropriate location. You may need to add a new method to the
|
||||
Group class as well (see the group.cpp file).
|
||||
|
||||
Accessing a new atom-based vector can be done by editing one section
|
||||
of the Variable::evaulate() method. Search for the word "customize"
|
||||
of the Variable::evaluate() method. Search for the word "customize"
|
||||
to find the appropriate location.
|
||||
|
||||
Adding new "compute styles"_compute.html (whose calculated values can
|
||||
@ -740,7 +740,7 @@ entry to add to the USER-MISC/README file in that dir, along with the
|
||||
contribute several individual features. :l
|
||||
|
||||
If you want your contribution to be added as a user-contribution and
|
||||
it is several related featues, it is probably best to make it a user
|
||||
it is several related features, it is probably best to make it a user
|
||||
package directory with a name like USER-FOO. In addition to your new
|
||||
files, the directory should contain a README text file. The README
|
||||
should contain your name and contact information and a brief
|
||||
@ -785,10 +785,10 @@ file for how to format the cite itself. The "Restrictions" section of
|
||||
the doc page should indicate that your command is only available if
|
||||
LAMMPS is built with the appropriate USER-MISC or USER-FOO package.
|
||||
See other user package doc files for examples of how to do this. The
|
||||
prerequiste for building the HTML format files are Python 3.x and
|
||||
prerequisite for building the HTML format files are Python 3.x and
|
||||
virtualenv, the requirement for generating the PDF format manual
|
||||
is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least
|
||||
"make html" and carefully inspect and proofread the resuling HTML format
|
||||
"make html" and carefully inspect and proofread the resulting HTML format
|
||||
doc page before submitting your code. :l
|
||||
|
||||
For a new package (or even a single command) you should include one or
|
||||
|
||||
@ -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, -
|
||||
"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
|
||||
"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, -
|
||||
"RIGID"_#RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, -
|
||||
"SHOCK"_#SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
|
||||
@ -94,7 +94,7 @@ Package, Description, Author(s), Doc page, Example, Library
|
||||
:tb(ea=c)
|
||||
|
||||
The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
responsible for creating and maintaining the package.
|
||||
|
||||
(1) The COLLOID package includes Fast Lubrication Dynamics pair styles
|
||||
which were created by Amit Kumar and Michael Bybee from Jonathan
|
||||
@ -462,7 +462,7 @@ options you are optimizing for: CPU acceleration via OpenMP, GPU
|
||||
acceleration, or Intel Xeon Phi. (You can build multiple times to
|
||||
create LAMMPS executables for different hardware.) It also requires a
|
||||
C++11 compatible compiler. For GPUs, the NVIDIA "nvcc" compiler is
|
||||
used, and an appopriate KOKKOS_ARCH setting should be made in your
|
||||
used, and an appropriate KOKKOS_ARCH setting should be made in your
|
||||
Makefile.machine for your GPU hardware and NVIDIA software.
|
||||
|
||||
The simplest way to do this is to use Makefile.kokkos_cuda or
|
||||
@ -955,8 +955,8 @@ multi-replica simulations in LAMMPS. Multi-replica methods included
|
||||
in the package are nudged elastic band (NEB), parallel replica
|
||||
dynamics (PRD), temperature accelerated dynamics (TAD), parallel
|
||||
tempering, and a verlet/split algorithm for performing long-range
|
||||
Coulombics on one set of processors, and the remainded of the force
|
||||
field calcalation on another set.
|
||||
Coulombics on one set of processors, and the remainder of the force
|
||||
field calculation on another set.
|
||||
|
||||
To install via make or Make.py:
|
||||
|
||||
@ -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-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-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, Oliver Henrich (U Strathclyde Glasgow), 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-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, -, -
|
||||
@ -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-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-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-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
|
||||
@ -1175,7 +1176,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
|
||||
:link(VMD,http://www.ks.uiuc.edu/Research/vmd)
|
||||
|
||||
The "Authors" column lists a name(s) if a specific person is
|
||||
responible for creating and maintaining the package.
|
||||
responsible for creating and maintaining the package.
|
||||
|
||||
(1) The ATC package was created by Reese Jones, Jeremy Templeton, and
|
||||
Jon Zimmerman (Sandia).
|
||||
@ -1284,6 +1285,35 @@ him directly if you have questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-CGDNA package :link(USER-CGDNA),h5
|
||||
|
||||
Contents: The CGDNA package implements coarse-grained force fields for
|
||||
single- and double-stranded DNA. These are at the moment mainly the
|
||||
oxDNA and oxDNA2 models, 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.html
|
||||
"bond_style oxdna2/fene"_bond_oxdna.html
|
||||
"pair_style oxdna/..."_pair_oxdna.html
|
||||
"pair_style oxdna2/..."_pair_oxdna2.html
|
||||
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
|
||||
|
||||
Supporting info: /src/USER-CGDNA/README, "bond_style
|
||||
oxdna/fene"_bond_oxdna.html, "bond_style
|
||||
oxdna2/fene"_bond_oxdna.html, "pair_style
|
||||
oxdna/..."_pair_oxdna.html, "pair_style
|
||||
oxdna2/..."_pair_oxdna2.html, "fix
|
||||
nve/dotc/langevin"_fix_nve_dotc_langevin.html
|
||||
|
||||
Author: Oliver Henrich at the University of Strathclyde, Glasgow, UK and
|
||||
University of Edinburgh (ohenrich@ph.ed.ac.uk).
|
||||
Contact him directly if you have any questions.
|
||||
|
||||
:line
|
||||
|
||||
USER-COLVARS package :link(USER-COLVARS),h5
|
||||
|
||||
Contents: COLVARS stands for collective variables which can be used to
|
||||
@ -1610,11 +1640,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.
|
||||
|
||||
NetCDF files can be directly visualized with the following tools:
|
||||
|
||||
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
|
||||
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
|
||||
Karlsruhe Institute of Technology (lars.pastewka at kit.edu).
|
||||
@ -1751,7 +1782,7 @@ particularly with respect to the charge equilibration calculation. It
|
||||
should also be easier to build and use since there are no complicating
|
||||
issues with Fortran memory allocation or linking to a Fortran library.
|
||||
|
||||
For technical details about this implemention of ReaxFF, see
|
||||
For technical details about this implementation of ReaxFF, see
|
||||
this paper:
|
||||
|
||||
Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods
|
||||
@ -1821,7 +1852,7 @@ See this doc page to get started:
|
||||
|
||||
The persons who created the USER-SMTBQ package are Nicolas Salles,
|
||||
Emile Maras, Olivier Politano, Robert Tetot, who can be contacted at
|
||||
these email addreses: lammps@u-bourgogne.fr, nsalles@laas.fr. Contact
|
||||
these email addresses: lammps@u-bourgogne.fr, nsalles@laas.fr. Contact
|
||||
them directly if you have any questions.
|
||||
|
||||
Examples: examples/USER/smtbq
|
||||
|
||||
@ -69,7 +69,7 @@ bench/in.lj input script.
|
||||
|
||||
For all the benchmarks, a useful metric is the CPU cost per atom per
|
||||
timestep. Since performance scales roughly linearly with problem size
|
||||
and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained
|
||||
and timesteps for all LAMMPS models (i.e. interatomic or coarse-grained
|
||||
potentials), the run time of any problem using the same model (atom
|
||||
style, force field, cutoff, etc) can then be estimated.
|
||||
|
||||
|
||||
@ -97,7 +97,7 @@ current LAMMPS library interface and how to call them from Python.
|
||||
Section 11.8 gives some examples of coupling LAMMPS to other tools via
|
||||
Python. For example, LAMMPS can easily be coupled to a GUI or other
|
||||
visualization tools that display graphs or animations in real time as
|
||||
LAMMPS runs. Examples of such scripts are inlcluded in the python
|
||||
LAMMPS runs. Examples of such scripts are included in the python
|
||||
directory.
|
||||
|
||||
Two advantages of using Python to run LAMMPS are how concise the
|
||||
@ -177,7 +177,7 @@ of Python and your machine to successfully build LAMMPS. See the
|
||||
lib/python/README file for more info.
|
||||
|
||||
If you want to write Python code with callbacks to LAMMPS, then you
|
||||
must also follow the steps overviewed in the preceeding section (11.1)
|
||||
must also follow the steps overviewed in the preceding section (11.1)
|
||||
for running LAMMPS from Python. I.e. you must build LAMMPS as a
|
||||
shared library and insure that Python can find the python/lammps.py
|
||||
file and the shared library.
|
||||
@ -325,7 +325,7 @@ sudo python setup.py install :pre
|
||||
Again, the "sudo" is only needed if required to copy PyPar files into
|
||||
your Python distribution's site-packages directory.
|
||||
|
||||
If you have successully installed PyPar, you should be able to run
|
||||
If you have successfully installed PyPar, you should be able to run
|
||||
Python and type
|
||||
|
||||
import pypar :pre
|
||||
@ -369,7 +369,7 @@ user privilege into the user local directory type
|
||||
|
||||
python setup.py install --user :pre
|
||||
|
||||
If you have successully installed mpi4py, you should be able to run
|
||||
If you have successfully installed mpi4py, you should be able to run
|
||||
Python and type
|
||||
|
||||
from mpi4py import MPI :pre
|
||||
@ -594,10 +594,10 @@ flag = lmp.set_variable(name,value) # set existing named string-style vari
|
||||
value = lmp.get_thermo(name) # return current value of a thermo keyword
|
||||
|
||||
natoms = lmp.get_natoms() # total # of atoms as int
|
||||
data = lmp.gather_atoms(name,type,count) # return atom attribute of all atoms gathered into data, ordered by atom ID
|
||||
data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID
|
||||
# name = "x", "charge", "type", etc
|
||||
# count = # of per-atom values, 1 or 3, etc
|
||||
lmp.scatter_atoms(name,type,count,data) # scatter atom attribute of all atoms from data, ordered by atom ID
|
||||
lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID
|
||||
# name = "x", "charge", "type", etc
|
||||
# count = # of per-atom values, 1 or 3, etc :pre
|
||||
|
||||
@ -610,7 +610,7 @@ lmp = lammps() :pre
|
||||
|
||||
create an instance of LAMMPS, wrapped in a Python class by the lammps
|
||||
Python module, and return an instance of the Python class as lmp. It
|
||||
is used to make all subequent calls to the LAMMPS library.
|
||||
is used to make all subsequent calls to the LAMMPS library.
|
||||
|
||||
Additional arguments to lammps() can be used to tell Python the name
|
||||
of the shared library to load or to pass arguments to the LAMMPS
|
||||
@ -656,13 +656,13 @@ argument.
|
||||
For extract_atom(), a pointer to internal LAMMPS atom-based data is
|
||||
returned, which you can use via normal Python subscripting. See the
|
||||
extract() method in the src/atom.cpp file for a list of valid names.
|
||||
Again, new names could easily be added. A pointer to a vector of
|
||||
doubles or integers, or a pointer to an array of doubles (double **)
|
||||
or integers (int **) is returned. You need to specify the appropriate
|
||||
data type via the type argument.
|
||||
Again, new names could easily be added if the property you want is not
|
||||
listed. A pointer to a vector of doubles or integers, or a pointer to
|
||||
an array of doubles (double **) or integers (int **) is returned. You
|
||||
need to specify the appropriate data type via the type argument.
|
||||
|
||||
For extract_compute() and extract_fix(), the global, per-atom, or
|
||||
local data calulated by the compute or fix can be accessed. What is
|
||||
local data calculated by the compute or fix can be accessed. What is
|
||||
returned depends on whether the compute or fix calculates a scalar or
|
||||
vector or array. For a scalar, a single double value is returned. If
|
||||
the compute or fix calculates a vector or array, a pointer to the
|
||||
@ -689,12 +689,21 @@ specified group.
|
||||
The get_natoms() method returns the total number of atoms in the
|
||||
simulation, as an int.
|
||||
|
||||
The gather_atoms() method returns a ctypes vector of ints or doubles
|
||||
as specified by type, of length count*natoms, for the property of all
|
||||
the atoms in the simulation specified by name, ordered by count and
|
||||
then by atom ID. The vector can be used via normal Python
|
||||
subscripting. If atom IDs are not consecutively ordered within
|
||||
LAMMPS, a None is returned as indication of an error.
|
||||
The gather_atoms() method allows any per-atom property (coordinates,
|
||||
velocities, etc) to be extracted from LAMMPS. It returns a ctypes
|
||||
vector of ints or doubles as specified by type, of length
|
||||
count*natoms, for the named property for all atoms in the simulation.
|
||||
The data is ordered by count and then by atom ID. See the extract()
|
||||
method in the src/atom.cpp file for a list of valid names. Again, new
|
||||
names could easily be added if the property you want is missing. The
|
||||
vector can be used via normal Python subscripting. If atom IDs are
|
||||
not consecutively ordered within LAMMPS, a None is returned as
|
||||
indication of an error. A special treatment is applied for image flags
|
||||
stored in the "image" property. All three image flags are stored in
|
||||
a packed format in a single integer, so count would be 1 to retrieve
|
||||
that integer, however also a count value of 3 can be used and then
|
||||
the image flags will be unpacked into 3 individual integers, ordered
|
||||
in a similar fashion as coordinates.
|
||||
|
||||
Note that the data structure gather_atoms("x") returns is different
|
||||
from the data structure returned by extract_atom("x") in four ways.
|
||||
@ -711,14 +720,22 @@ assigning a new values to the extract_atom() array. To do this with
|
||||
the gather_atoms() vector, you need to change values in the vector,
|
||||
then invoke the scatter_atoms() method.
|
||||
|
||||
The scatter_atoms() method takes a vector of ints or doubles as
|
||||
specified by type, of length count*natoms, for the property of all the
|
||||
atoms in the simulation specified by name, ordered by bount and then
|
||||
by atom ID. It uses the vector of data to overwrite the corresponding
|
||||
properties for each atom inside LAMMPS. This requires LAMMPS to have
|
||||
its "map" option enabled; see the "atom_modify"_atom_modify.html
|
||||
command for details. If it is not, or if atom IDs are not
|
||||
consecutively ordered, no coordinates are reset.
|
||||
The scatter_atoms() method allows any per-atom property (coordinates,
|
||||
velocities, etc) to be inserted into LAMMPS, overwriting the current
|
||||
property. It takes a vector of ints or doubles as specified by type,
|
||||
of length count*natoms, for the named property for all atoms in the
|
||||
simulation. The data should be ordered by count and then by atom ID.
|
||||
See the extract() method in the src/atom.cpp file for a list of valid
|
||||
names. Again, new names could easily be added if the property you
|
||||
want is missing. It uses the vector of data to overwrite the
|
||||
corresponding properties for each atom inside LAMMPS. This requires
|
||||
LAMMPS to have its "map" option enabled; see the
|
||||
"atom_modify"_atom_modify.html command for details. If it is not, or
|
||||
if atom IDs are not consecutively ordered, no coordinates are reset.
|
||||
Similar as for gather_atoms() a special treatment is applied for image
|
||||
flags, which can be provided in packed (count = 1) or unpacked (count = 3)
|
||||
format and in the latter case, they will be packed before applied to
|
||||
atoms.
|
||||
|
||||
The array of coordinates passed to scatter_atoms() must be a ctypes
|
||||
vector of ints or doubles, allocated and initialized something like
|
||||
@ -734,7 +751,7 @@ x\[2\] = z coord of atom with ID 1
|
||||
x\[3\] = x coord of atom with ID 2
|
||||
...
|
||||
x\[n3-1\] = z coord of atom with ID natoms
|
||||
lmp.scatter_coords("x",1,3,x) :pre
|
||||
lmp.scatter_atoms("x",1,3,x) :pre
|
||||
|
||||
Alternatively, you can just change values in the vector returned by
|
||||
gather_atoms("x",1,3), since it is a ctypes vector of doubles.
|
||||
@ -774,7 +791,7 @@ demo.py, invoke various LAMMPS library interface routines,
|
||||
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp,
|
||||
split.py, same as simple.py but running in parallel on a subset of procs,
|
||||
gui.py, GUI go/stop/temperature-slider to control LAMMPS,
|
||||
plot.py, real-time temeperature plot with GnuPlot via Pizza.py,
|
||||
plot.py, real-time temperature plot with GnuPlot via Pizza.py,
|
||||
viz_tool.py, real-time viz via some viz package,
|
||||
vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2)
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ This section has the following sub-sections:
|
||||
|
||||
Read this first :h5,link(start_2_1)
|
||||
|
||||
If you want to avoid building LAMMPS yourself, read the preceeding
|
||||
If you want to avoid building LAMMPS yourself, read the preceding
|
||||
section about options available for downloading and installing
|
||||
executables. Details are discussed on the "download"_download page.
|
||||
|
||||
@ -251,7 +251,7 @@ re-compile, after typing "make clean" (which will describe different
|
||||
clean options).
|
||||
|
||||
The LMP_INC variable is used to include options that turn on ifdefs
|
||||
within the LAMMPS code. The options that are currently recogized are:
|
||||
within the LAMMPS code. The options that are currently recognized are:
|
||||
|
||||
-DLAMMPS_GZIP
|
||||
-DLAMMPS_JPEG
|
||||
@ -362,7 +362,7 @@ installed on your platform. If MPI is installed on your system in the
|
||||
usual place (under /usr/local), you also may not need to specify these
|
||||
3 variables, assuming /usr/local is in your path. On some large
|
||||
parallel machines which use "modules" for their compile/link
|
||||
environements, you may simply need to include the correct module in
|
||||
environments, you may simply need to include the correct module in
|
||||
your build environment, before building LAMMPS. Or the parallel
|
||||
machine may have a vendor-provided MPI which the compiler has no
|
||||
trouble finding.
|
||||
@ -413,7 +413,7 @@ uses (for performing 1d FFTs) when running the particle-particle
|
||||
particle-mesh (PPPM) option for long-range Coulombics via the
|
||||
"kspace_style"_kspace_style.html command.
|
||||
|
||||
LAMMPS supports various open-source or vendor-supplied FFT libraries
|
||||
LAMMPS supports common open-source or vendor-supplied FFT libraries
|
||||
for this purpose. If you leave these 3 variables blank, LAMMPS will
|
||||
use the open-source "KISS FFT library"_http://kissfft.sf.net, which is
|
||||
included in the LAMMPS distribution. This library is portable to all
|
||||
@ -423,15 +423,14 @@ package in your build, you can also leave the 3 variables blank.
|
||||
|
||||
Otherwise, select which kinds of FFTs to use as part of the FFT_INC
|
||||
setting by a switch of the form -DFFT_XXX. Recommended values for XXX
|
||||
are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI,
|
||||
ACML, and T3E. For backward compatability, using -DFFT_FFTW will use
|
||||
the FFTW2 library. Using -DFFT_NONE will use the KISS library
|
||||
described above.
|
||||
are: MKL or FFTW3. FFTW2 and NONE are supported as legacy options.
|
||||
Selecting -DFFT_FFTW will use the FFTW3 library and -DFFT_NONE will
|
||||
use the KISS library described above.
|
||||
|
||||
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables,
|
||||
so the compiler and linker can find the needed FFT header and library
|
||||
files. Note that on some large parallel machines which use "modules"
|
||||
for their compile/link environements, you may simply need to include
|
||||
for their compile/link environments, you may simply need to include
|
||||
the correct module in your build environment. Or the parallel machine
|
||||
may have a vendor-provided FFT library which the compiler has no
|
||||
trouble finding.
|
||||
@ -451,7 +450,7 @@ you must also manually specify the correct library, namely -lsfftw or
|
||||
|
||||
The FFT_INC variable also allows for a -DFFT_SINGLE setting that will
|
||||
use single-precision FFTs with PPPM, which can speed-up long-range
|
||||
calulations, particularly in parallel or on GPUs. Fourier transform
|
||||
calculations, particularly in parallel or on GPUs. Fourier transform
|
||||
and related PPPM operations are somewhat insensitive to floating point
|
||||
truncation errors and thus do not always need to be performed in
|
||||
double precision. Using the -DFFT_SINGLE setting trades off a little
|
||||
@ -683,7 +682,7 @@ various make commands that can be used to manipulate packages.
|
||||
If you use a command in a LAMMPS input script that is part of a
|
||||
package, you must have built LAMMPS with that package, else you will
|
||||
get an error that the style is invalid or the command is unknown.
|
||||
Every command's doc page specfies if it is part of a package. You can
|
||||
Every command's doc page specifies if it is part of a package. You can
|
||||
also type
|
||||
|
||||
lmp_machine -h :pre
|
||||
@ -1009,7 +1008,7 @@ Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or
|
||||
rename if desired. Likewise it creates an executable named
|
||||
src/lmp_auto, which you can rename using the -o switch if desired.
|
||||
|
||||
The most recently executed Make.py commmand is saved in
|
||||
The most recently executed Make.py command is saved in
|
||||
src/Make.py.last. You can use the "-r" switch (for redo) to re-invoke
|
||||
the last command, or you can save a sequence of one or more Make.py
|
||||
commands to a file and invoke the file of commands using "-r". You
|
||||
@ -1065,7 +1064,7 @@ src/MAKE/Makefile.foo and perform the build in the directory
|
||||
Obj_shared_foo. This is so that each file can be compiled with the
|
||||
-fPIC flag which is required for inclusion in a shared library. The
|
||||
build will create the file liblammps_foo.so which another application
|
||||
can link to dyamically. It will also create a soft link liblammps.so,
|
||||
can link to dynamically. It will also create a soft link liblammps.so,
|
||||
which will point to the most recently built shared library. This is
|
||||
the file the Python wrapper loads by default.
|
||||
|
||||
@ -1417,8 +1416,8 @@ LAMMPS is compiled with CUDA=yes.
|
||||
numa Nm :pre
|
||||
|
||||
This option is only relevant when using pthreads with hwloc support.
|
||||
In this case Nm defines the number of NUMA regions (typicaly sockets)
|
||||
on a node which will be utilizied by a single MPI rank. By default Nm
|
||||
In this case Nm defines the number of NUMA regions (typically sockets)
|
||||
on a node which will be utilized by a single MPI rank. By default Nm
|
||||
= 1. If this option is used the total number of worker-threads per
|
||||
MPI rank is threads*numa. Currently it is always almost better to
|
||||
assign at least one MPI rank per NUMA region, and leave numa set to
|
||||
@ -1482,7 +1481,7 @@ replica runs on on one or a few processors. Note that with MPI
|
||||
installed on a machine (e.g. your desktop), you can run on more
|
||||
(virtual) processors than you have physical processors.
|
||||
|
||||
To run multiple independent simulatoins from one input script, using
|
||||
To run multiple independent simulations from one input script, using
|
||||
multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
|
||||
of the manual. World- and universe-style "variables"_variable.html
|
||||
are useful in this context.
|
||||
@ -1727,7 +1726,7 @@ thermodynamic state and a total run time for the simulation. It then
|
||||
appends statistics about the CPU time and storage requirements for the
|
||||
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
|
||||
97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre
|
||||
@ -1757,14 +1756,14 @@ Ave special neighs/atom = 2.34032
|
||||
Neighbor list builds = 26
|
||||
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
|
||||
provided for convenience to help predicting the number of loop
|
||||
continuations required and for comparing performance with other
|
||||
similar MD codes. The CPU use line provides the CPU utilzation per
|
||||
continuations required and for comparing performance with other,
|
||||
similar MD codes. The {CPU use} line provides the CPU utilization per
|
||||
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
|
||||
insufficient thread utilization.
|
||||
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
|
||||
to file I/O or insufficient thread utilization.
|
||||
|
||||
The MPI task section gives the breakdown of the CPU run time (in
|
||||
seconds) into major categories:
|
||||
@ -1791,7 +1790,7 @@ is present that also prints the CPU utilization in percent. In
|
||||
addition, when using {timer full} and the "package omp"_package.html
|
||||
command are active, a similar timing summary of time spent in threaded
|
||||
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
|
||||
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
|
||||
|
||||
@ -12,9 +12,12 @@ Section"_Section_modify.html :c
|
||||
|
||||
LAMMPS is designed to be a computational kernel for performing
|
||||
molecular dynamics computations. Additional pre- and post-processing
|
||||
steps are often necessary to setup and analyze a simulation. A few
|
||||
additional tools are provided with the LAMMPS distribution and are
|
||||
described in this section.
|
||||
steps are often necessary to setup and analyze a simulation. A
|
||||
list of such tools can be found on the LAMMPS home page
|
||||
at "http://lammps.sandia.gov/prepost.html"_http://lammps.sandia.gov/prepost.html
|
||||
|
||||
A few additional tools are provided with the LAMMPS distribution
|
||||
and are described in this section.
|
||||
|
||||
Our group has also written and released a separate toolkit called
|
||||
"Pizza.py"_pizza which provides tools for doing setup, analysis,
|
||||
@ -36,16 +39,16 @@ authors.
|
||||
The source code for each of these codes is in the tools sub-directory
|
||||
of the LAMMPS distribution. There is a Makefile (which you may need
|
||||
to edit for your platform) which will build several of the tools which
|
||||
reside in that directory. Some of them are larger packages in their
|
||||
own sub-directories with their own Makefiles.
|
||||
reside in that directory. Most of them are larger packages in their
|
||||
own sub-directories with their own Makefiles and/or README files.
|
||||
|
||||
"amber2lmp"_#amber
|
||||
"binary2txt"_#binary
|
||||
"ch2lmp"_#charmm
|
||||
"chain"_#chain
|
||||
"colvars"_#colvars
|
||||
"createatoms"_#create
|
||||
"data2xmovie"_#data
|
||||
"createatoms"_#createatoms
|
||||
"drude"_#drude
|
||||
"eam database"_#eamdb
|
||||
"eam generate"_#eamgn
|
||||
"eff"_#eff
|
||||
@ -56,20 +59,18 @@ own sub-directories with their own Makefiles.
|
||||
"kate"_#kate
|
||||
"lmp2arc"_#arc
|
||||
"lmp2cfg"_#cfg
|
||||
"lmp2vmd"_#vmd
|
||||
"matlab"_#matlab
|
||||
"micelle2d"_#micelle
|
||||
"moltemplate"_#moltemplate
|
||||
"msi2lmp"_#msi
|
||||
"phonon"_#phonon
|
||||
"polymer bonding"_#polybond
|
||||
"polybond"_#polybond
|
||||
"pymol_asphere"_#pymol
|
||||
"python"_#pythontools
|
||||
"reax"_#reax_tool
|
||||
"restart2data"_#restart
|
||||
"smd"_#smd
|
||||
"vim"_#vim
|
||||
"xmgrace"_#xmgrace
|
||||
"xmovie"_#xmovie :ul
|
||||
|
||||
:line
|
||||
|
||||
@ -158,7 +159,7 @@ gmail.com) at ICTP, Italy.
|
||||
|
||||
:line
|
||||
|
||||
createatoms tool :h4,link(create)
|
||||
createatoms tool :h4,link(createatoms)
|
||||
|
||||
The tools/createatoms directory contains a Fortran program called
|
||||
createAtoms.f which can generate a variety of interesting crystal
|
||||
@ -171,16 +172,16 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
|
||||
|
||||
:line
|
||||
|
||||
data2xmovie tool :h4,link(data)
|
||||
drude tool :h4,link(drude)
|
||||
|
||||
The file data2xmovie.c converts a LAMMPS data file into a snapshot
|
||||
suitable for visualizing with the "xmovie"_#xmovie tool, as if it had
|
||||
been output with a dump command from LAMMPS itself. The syntax for
|
||||
running the tool is
|
||||
The tools/drude directory contains a Python script called
|
||||
polarizer.py which can add Drude oscillators to a LAMMPS
|
||||
data file in the required format.
|
||||
|
||||
data2xmovie \[options\] < infile > outfile :pre
|
||||
See the header of the polarizer.py file for details.
|
||||
|
||||
See the top of the data2xmovie.c file for a discussion of the options.
|
||||
The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua
|
||||
at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
|
||||
|
||||
:line
|
||||
|
||||
@ -317,18 +318,6 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
|
||||
|
||||
:line
|
||||
|
||||
lmp2vmd tool :h4,link(vmd)
|
||||
|
||||
The lmp2vmd sub-directory contains a README.txt file that describes
|
||||
details of scripts and plugin support within the "VMD
|
||||
package"_http://www.ks.uiuc.edu/Research/vmd for visualizing LAMMPS
|
||||
dump files.
|
||||
|
||||
The VMD plugins and other supporting scripts were written by Axel
|
||||
Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.
|
||||
|
||||
:line
|
||||
|
||||
matlab tool :h4,link(matlab)
|
||||
|
||||
The matlab sub-directory contains several "MATLAB"_matlabhome scripts for
|
||||
@ -381,16 +370,14 @@ supports it. It has its own WWW page at
|
||||
msi2lmp tool :h4,link(msi)
|
||||
|
||||
The msi2lmp sub-directory contains a tool for creating LAMMPS input
|
||||
data files from Accelrys' Insight MD code (formerly MSI/Biosym and
|
||||
its Discover MD code). See the README file for more information.
|
||||
data files from BIOVIA's Materias Studio files (formerly Accelrys'
|
||||
Insight MD code, formerly MSI/Biosym and its Discover MD code).
|
||||
|
||||
This tool was written by John Carpenter (Cray), Michael Peachey
|
||||
(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic
|
||||
(jec at mayo.edu), but still fields questions about the tool.
|
||||
(Cray), and Steve Lustig (Dupont). Several people contributed changes
|
||||
to remove bugs and adapt its output to changes in LAMMPS.
|
||||
|
||||
This tool may be out-of-date with respect to the current LAMMPS and
|
||||
Insight versions. Since we don't use it at Sandia, you'll need to
|
||||
experiment with it yourself.
|
||||
See the README file for more information.
|
||||
|
||||
:line
|
||||
|
||||
@ -409,7 +396,7 @@ University.
|
||||
|
||||
:line
|
||||
|
||||
polymer bonding tool :h4,link(polybond)
|
||||
polybond tool :h4,link(polybond)
|
||||
|
||||
The polybond sub-directory contains a Python-based tool useful for
|
||||
performing "programmable polymer bonding". The Python file
|
||||
@ -468,48 +455,19 @@ These tools were written by Aidan Thompson at Sandia.
|
||||
|
||||
:line
|
||||
|
||||
restart2data tool :h4,link(restart)
|
||||
smd tool :h4,link(smd)
|
||||
|
||||
NOTE: This tool is now obsolete and is not included in the current
|
||||
LAMMPS distribution. This is becaues there is now a
|
||||
"write_data"_write_data.html command, which can create a data file
|
||||
from within an input script. Running LAMMPS with the "-r"
|
||||
"command-line switch"_Section_start.html#start_7 as follows:
|
||||
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
|
||||
Makefile which can be compiled and used to convert triangle output
|
||||
files created by the Smooth-Mach Dynamics (USER-SMD) package into a
|
||||
VTK-compatible unstructured grid file. It could then be read in and
|
||||
visualized by VTK.
|
||||
|
||||
lmp_g++ -r restartfile datafile
|
||||
See the header of dump2vtk.cpp for more details.
|
||||
|
||||
is the same as running a 2-line input script:
|
||||
|
||||
read_restart restartfile
|
||||
write_data datafile
|
||||
|
||||
which will produce the same data file that the restart2data tool used
|
||||
to create. The following information is included in case you have an
|
||||
older version of LAMMPS which still includes the restart2data tool.
|
||||
|
||||
The file restart2data.cpp converts a binary LAMMPS restart file into
|
||||
an ASCII data file. The syntax for running the tool is
|
||||
|
||||
restart2data restart-file data-file (input-file) :pre
|
||||
|
||||
Input-file is optional and if specified will contain LAMMPS input
|
||||
commands for the masses and force field parameters, instead of putting
|
||||
those in the data-file. Only a few force field styles currently
|
||||
support this option.
|
||||
|
||||
This tool must be compiled on a platform that can read the binary file
|
||||
created by a LAMMPS run, since binary files are not compatible across
|
||||
all platforms.
|
||||
|
||||
Note that a text data file has less precision than a binary restart
|
||||
file. Hence, continuing a run from a converted data file will
|
||||
typically not conform as closely to a previous run as will restarting
|
||||
from a binary restart file.
|
||||
|
||||
If a "%" appears in the specified restart-file, the tool expects a set
|
||||
of multiple files to exist. See the "restart"_restart.html and
|
||||
"write_restart"_write_restart.html commands for info on how such sets
|
||||
of files are written by LAMMPS, and how the files are named.
|
||||
This tool was written by the USER-SMD package author, Georg
|
||||
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
|
||||
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
|
||||
:line
|
||||
|
||||
@ -537,32 +495,3 @@ See the README file for details.
|
||||
|
||||
These files were provided by Vikas Varshney (vv0210 at gmail.com)
|
||||
|
||||
:line
|
||||
|
||||
xmovie tool :h4,link(xmovie)
|
||||
|
||||
The xmovie tool is an X-based visualization package that can read
|
||||
LAMMPS dump files and animate them. It is in its own sub-directory
|
||||
with the tools directory. You may need to modify its Makefile so that
|
||||
it can find the appropriate X libraries to link against.
|
||||
|
||||
The syntax for running xmovie is
|
||||
|
||||
xmovie \[options\] dump.file1 dump.file2 ... :pre
|
||||
|
||||
If you just type "xmovie" you will see a list of options. Note that
|
||||
by default, LAMMPS dump files are in scaled coordinates, so you
|
||||
typically need to use the -scale option with xmovie. When xmovie runs
|
||||
it opens a visualization window and a control window. The control
|
||||
options are straightforward to use.
|
||||
|
||||
Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he
|
||||
spent a summer at Sandia. It displays 2d projections of a 3d domain.
|
||||
While simple in design, it is an amazingly fast program that can
|
||||
render large numbers of atoms very quickly. It's a useful tool for
|
||||
debugging LAMMPS input and output and making sure your simulation is
|
||||
doing what you think it should. The animations on the Examples page
|
||||
of the "LAMMPS WWW site"_lws were created with xmovie.
|
||||
|
||||
I've lost contact with Mike, so I hope he's comfortable with us
|
||||
distributing his great tool!
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
syntax</a></h2>
|
||||
<p>fix_modify AtC consistent_fe_initialization <on | off></p>
|
||||
<ul>
|
||||
<li><on|off> = switch to activiate/deactiviate the intial setting of FE intrinsic field to match the projected MD field </li>
|
||||
<li><on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
|
||||
@ -20,7 +20,7 @@ coprocessors via offloading neighbor list and non-bonded force
|
||||
calculations to the Phi. The same C++ code is used in both cases.
|
||||
When offloading to a coprocessor from a CPU, the same routine is run
|
||||
twice, once on the CPU and once with an offload flag. This allows
|
||||
LAMMPS to run on the CPU cores and coprocessor cores simulataneously.
|
||||
LAMMPS to run on the CPU cores and coprocessor cores simultaneously.
|
||||
|
||||
[Currently Available USER-INTEL Styles:]
|
||||
|
||||
@ -29,7 +29,7 @@ Bond Styles: fene, harmonic :l
|
||||
Dihedral Styles: charmm, harmonic, opls :l
|
||||
Fixes: nve, npt, nvt, nvt/sllod :l
|
||||
Improper Styles: cvff, harmonic :l
|
||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne,
|
||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, eam, gayberne,
|
||||
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
||||
K-Space Styles: pppm :l
|
||||
:ule
|
||||
@ -115,7 +115,7 @@ coprocessor and an Intel compiler are required. For this, the
|
||||
recommended version of the Intel compiler is 14.0.1.106 or
|
||||
versions 15.0.2.044 and higher.
|
||||
|
||||
Although any compiler can be used with the USER-INTEL pacakge,
|
||||
Although any compiler can be used with the USER-INTEL package,
|
||||
currently, vectorization directives are disabled by default when
|
||||
not using Intel compilers due to lack of standard support and
|
||||
observations of decreased performance. The OpenMP standard now
|
||||
@ -428,7 +428,7 @@ to the card. This allows for overlap of MPI communication of forces
|
||||
with computation on the coprocessor when the "newton"_newton.html
|
||||
setting is "on". The default is dependent on the style being used,
|
||||
however, better performance may be achieved by setting this option
|
||||
explictly.
|
||||
explicitly.
|
||||
|
||||
When using offload with CPU Hyper-Threading disabled, it may help
|
||||
performance to use fewer MPI tasks and OpenMP threads than available
|
||||
@ -464,7 +464,7 @@ supported.
|
||||
|
||||
[References:]
|
||||
|
||||
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., “Optimizing Classical Molecular Dynamics in LAMMPS,” in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
|
||||
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
|
||||
|
||||
Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. 2016 International Conference for High Performance Computing. In press. :l
|
||||
|
||||
|
||||
@ -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:]
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
how to check and do this.
|
||||
|
||||
@ -217,7 +217,7 @@ best performance its CCFLAGS setting should use -O3 and have a
|
||||
KOKKOS_ARCH setting that matches the compute capability of your NVIDIA
|
||||
hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note
|
||||
the minimal required compute capability is 2.0, but this will give
|
||||
signicantly reduced performance compared to Kepler generation GPUs
|
||||
significantly reduced performance compared to Kepler generation GPUs
|
||||
with compute capability 3.x. For the LINK setting, "nvcc" should not
|
||||
be used; instead use g++ or another compiler suitable for linking C++
|
||||
applications. Often you will want to use your MPI compiler wrapper
|
||||
@ -234,7 +234,7 @@ provides alternative methods via environment variables for binding
|
||||
threads to hardware cores. More info on binding threads to cores is
|
||||
given in "Section 5.3"_Section_accelerate.html#acc_3.
|
||||
|
||||
KOKKOS_ARCH=KNC enables compiler switches needed when compling for an
|
||||
KOKKOS_ARCH=KNC enables compiler switches needed when compiling for an
|
||||
Intel Phi processor.
|
||||
|
||||
KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
|
||||
@ -272,7 +272,7 @@ coprocessor support you need to insure there are one or more MPI tasks
|
||||
per coprocessor, and choose the number of coprocessor threads to use
|
||||
per MPI task (via the "-k" command-line switch discussed below). The
|
||||
product of MPI tasks * coprocessor threads/task should not exceed the
|
||||
maximum number of threads the coproprocessor is designed to run,
|
||||
maximum number of threads the coprocessor is designed to run,
|
||||
otherwise performance will suffer. This value is 240 for current
|
||||
generation Xeon Phi(TM) chips, which is 60 physical cores * 4
|
||||
threads/core. Note that with the KOKKOS package you do not need to
|
||||
@ -333,7 +333,7 @@ device=CUDA are the same.
|
||||
|
||||
You must still use the "-k on" "command-line
|
||||
switch"_Section_start.html#start_7 to enable the KOKKOS package, and
|
||||
specify its additional arguments for hardware options appopriate to
|
||||
specify its additional arguments for hardware options appropriate to
|
||||
your system, as documented above.
|
||||
|
||||
Use the "suffix kk"_suffix.html command, or you can explicitly add a
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
angle_style class2 command :h3
|
||||
angle_style class2/omp command :h3
|
||||
angle_style class2/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ angle.
|
||||
|
||||
The torque on the dipole can be obtained by differentiating the
|
||||
potential using the 'chain rule' as in appendix C.3 of
|
||||
"(Allen)"_#Allen:
|
||||
"(Allen)"_#Allen1:
|
||||
|
||||
:c,image(Eqs/angle_dipole_torque.jpg)
|
||||
|
||||
@ -121,6 +121,6 @@ This angle style should not be used with SHAKE.
|
||||
[(Orsi)] Orsi & Essex, The ELBA force field for coarse-grain modeling of
|
||||
lipid membranes, PloS ONE 6(12): e28637, 2011.
|
||||
|
||||
:link(Allen)
|
||||
:link(Allen1)
|
||||
[(Allen)] Allen & Tildesley, Computer Simulation of Liquids,
|
||||
Clarendon Press, Oxford, 1987.
|
||||
|
||||
@ -81,7 +81,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other angle styles, the hybrid angle style does not store angle
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
files"_restart.html. Thus when retarting a simulation from a restart
|
||||
files"_restart.html. Thus when restarting a simulation from a restart
|
||||
file, you need to re-specify angle_coeff commands.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -103,7 +103,7 @@ turns off the {first} option.
|
||||
|
||||
It is OK to use the {first} keyword with a group that has not yet been
|
||||
defined, e.g. to use the atom_modify first command at the beginning of
|
||||
your input script. LAMMPS does not use the group until a simullation
|
||||
your input script. LAMMPS does not use the group until a simulation
|
||||
is run.
|
||||
|
||||
The {sort} keyword turns on a spatial sorting or reordering of atoms
|
||||
@ -116,7 +116,7 @@ various other factors. As a general rule, sorting is typically more
|
||||
effective at speeding up simulations of liquids as opposed to solids.
|
||||
In tests we have done, the speed-up can range from zero to 3-4x.
|
||||
|
||||
Reordering is peformed every {Nfreq} timesteps during a dynamics run
|
||||
Reordering is performed every {Nfreq} timesteps during a dynamics run
|
||||
or iterations during a minimization. More precisely, reordering
|
||||
occurs at the first reneighboring that occurs after the target
|
||||
timestep. The reordering is performed locally by each processor,
|
||||
@ -130,7 +130,7 @@ the processor's 1d list of atoms.
|
||||
The goal of this procedure is for atoms to put atoms close to each
|
||||
other in the processor's one-dimensional list of atoms that are also
|
||||
near to each other spatially. This can improve cache performance when
|
||||
pairwise intereractions and neighbor lists are computed. Note that if
|
||||
pairwise interactions and neighbor lists are computed. Note that if
|
||||
bins are too small, there will be few atoms/bin. Likewise if bins are
|
||||
too large, there will be many atoms/bin. In both cases, the goal of
|
||||
cache locality will be undermined.
|
||||
@ -138,7 +138,7 @@ cache locality will be undermined.
|
||||
NOTE: Running a simulation with sorting on versus off should not
|
||||
change the simulation results in a statistical sense. However, a
|
||||
different ordering will induce round-off differences, which will lead
|
||||
to diverging trajectories over time when comparing two simluations.
|
||||
to diverging trajectories over time when comparing two simulations.
|
||||
Various commands, particularly those which use random numbers
|
||||
(e.g. "velocity create"_velocity.html, and "fix
|
||||
langevin"_fix_langevin.html), may generate (statistically identical)
|
||||
|
||||
@ -110,12 +110,17 @@ basis.
|
||||
For the {sphere} style, the particles are spheres and each stores a
|
||||
per-particle diameter and mass. If the diameter > 0.0, the particle
|
||||
is a finite-size sphere. If the diameter = 0.0, it is a point
|
||||
particle.
|
||||
particle. Note that by use of the {disc} keyword with the "fix
|
||||
nve/sphere"_fix_nve_sphere.html, "fix nvt/sphere"_fix_nvt_sphere.html,
|
||||
"fix nph/sphere"_fix_nph_sphere.html, "fix
|
||||
npt/sphere"_fix_npt_sphere.html commands, spheres can be effectively
|
||||
treated as 2d discs for a 2d simulation if desired. See also the "set
|
||||
density/disc"_set.html command.
|
||||
|
||||
For the {ellipsoid} style, the particles are ellipsoids and each
|
||||
stores a flag which indicates whether it is a finite-size ellipsoid or
|
||||
a point particle. If it is an ellipsoid, it also stores a shape
|
||||
vector with the 3 diamters of the ellipsoid and a quaternion 4-vector
|
||||
vector with the 3 diameters of the ellipsoid and a quaternion 4-vector
|
||||
with its orientation.
|
||||
|
||||
For the {dipole} style, a point dipole is defined for each point
|
||||
@ -149,7 +154,7 @@ Hydrodynamics. Both fluids and solids can be modeled. Particles
|
||||
store the mass and volume of an integration point, a kernel diameter
|
||||
used for calculating the field variables (e.g. stress and deformation)
|
||||
and a contact radius for calculating repulsive forces which prevent
|
||||
individual physical bodies from penetretating each other.
|
||||
individual physical bodies from penetrating each other.
|
||||
|
||||
The {wavepacket} style is similar to {electron}, but the electrons may
|
||||
consist of several Gaussian wave packets, summed up with coefficients
|
||||
@ -165,7 +170,7 @@ For the {tri} style, the particles are planar triangles and each
|
||||
stores a per-particle mass and size and orientation (i.e. the corner
|
||||
points of the triangle).
|
||||
|
||||
The {template} style allows molecular topolgy (bonds,angles,etc) to be
|
||||
The {template} style allows molecular topology (bonds,angles,etc) to be
|
||||
defined via a molecule template using the "molecule"_molecule.html
|
||||
command. The template stores one or more molecules with a single copy
|
||||
of the topology info (bonds,angles,etc) of each. Individual atoms
|
||||
@ -195,7 +200,7 @@ the {bstyle} argument. Body particles can represent complex entities,
|
||||
such as surface meshes of discrete points, collections of
|
||||
sub-particles, deformable objects, etc.
|
||||
|
||||
The "body"_body.html doc page descibes the body styles LAMMPS
|
||||
The "body"_body.html doc page describes the body styles LAMMPS
|
||||
currently supports, and provides more details as to the kind of body
|
||||
particles they represent. For all styles, each body particle stores
|
||||
moments of inertia and a quaternion 4-vector, so that its orientation
|
||||
@ -280,7 +285,7 @@ The {dpd} style is part of the USER-DPD package for dissipative
|
||||
particle dynamics (DPD).
|
||||
|
||||
The {meso} style is part of the USER-SPH package for smoothed particle
|
||||
hydrodyanmics (SPH). See "this PDF
|
||||
hydrodynamics (SPH). See "this PDF
|
||||
guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
|
||||
|
||||
The {wavepacket} style is part of the USER-AWPMD package for the
|
||||
|
||||
@ -12,7 +12,7 @@ balance command :h3
|
||||
|
||||
balance thresh style args ... keyword args ... :pre
|
||||
|
||||
thresh = imbalance threshhold that must be exceeded to perform a re-balance :ulb,l
|
||||
thresh = imbalance threshold that must be exceeded to perform a re-balance :ulb,l
|
||||
one style/arg pair can be used (or multiple for {x},{y},{z}) :l
|
||||
style = {x} or {y} or {z} or {shift} or {rcb} :l
|
||||
{x} args = {uniform} or Px-1 numbers between 0 and 1
|
||||
@ -30,7 +30,7 @@ style = {x} or {y} or {z} or {shift} or {rcb} :l
|
||||
{shift} args = dimstr Niter stopthresh
|
||||
dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
|
||||
Niter = # of times to iterate within each dimension of dimstr sequence
|
||||
stopthresh = stop balancing when this imbalance threshhold is reached
|
||||
stopthresh = stop balancing when this imbalance threshold is reached
|
||||
{rcb} args = none :pre
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {weight} or {out} :l
|
||||
@ -76,13 +76,13 @@ sub-domain sizes and shapes on-the-fly during a "run"_run.html.
|
||||
|
||||
Load-balancing is typically most useful if the particles in the
|
||||
simulation box have a spatially-varying density distribution or when
|
||||
the computational cost varies signficantly between different
|
||||
the computational cost varies significantly between different
|
||||
particles. E.g. a model of a vapor/liquid interface, or a solid with
|
||||
an irregular-shaped geometry containing void regions, or "hybrid pair
|
||||
style simulations"_pair_hybrid.html which combine pair styles with
|
||||
different computational cost. In these cases, the LAMMPS default of
|
||||
dividing the simulation box volume into a regular-spaced grid of 3d
|
||||
bricks, with one equal-volume sub-domain per procesor, may assign
|
||||
bricks, with one equal-volume sub-domain per processor, may assign
|
||||
numbers of particles per processor in a way that the computational
|
||||
effort varies significantly. This can lead to poor performance when
|
||||
the simulation is run in parallel.
|
||||
@ -91,7 +91,7 @@ The balancing can be performed with or without per-particle weighting.
|
||||
With no weighting, the balancing attempts to assign an equal number of
|
||||
particles to each processor. With weighting, the balancing attempts
|
||||
to assign an equal aggregate computational weight to each processor,
|
||||
which typically inducces a diffrent number of atoms assigned to each
|
||||
which typically induces a different number of atoms assigned to each
|
||||
processor. Details on the various weighting options and examples for
|
||||
how they can be used are "given below"_#weighted_balance.
|
||||
|
||||
@ -222,7 +222,7 @@ listed in ascending order. They represent the fractional position of
|
||||
the cutting place. The left (or lower) edge of the box is 0.0, and
|
||||
the right (or upper) edge is 1.0. Neither of these values is
|
||||
specified. Only the interior Ps-1 positions are specified. Thus is
|
||||
there are 2 procesors in the x dimension, you specify a single value
|
||||
there are 2 processors in the x dimension, you specify a single value
|
||||
such as 0.75, which would make the left processor's sub-domain 3x
|
||||
larger than the right processor's sub-domain.
|
||||
|
||||
@ -266,7 +266,7 @@ assigned, particles are migrated to their new owning processor, and
|
||||
the balance procedure ends.
|
||||
|
||||
NOTE: At each rebalance operation, the bisectioning for each cutting
|
||||
plane (line in 2d) typcially starts with low and high bounds separated
|
||||
plane (line in 2d) typically starts with low and high bounds separated
|
||||
by the extent of a processor's sub-domain in one dimension. The size
|
||||
of this bracketing region shrinks by 1/2 every iteration. Thus if
|
||||
{Niter} is specified as 10, the cutting plane will typically be
|
||||
@ -286,24 +286,32 @@ above. It performs a recursive coordinate bisectioning (RCB) of the
|
||||
simulation domain. The basic idea is as follows.
|
||||
|
||||
The simulation domain is cut into 2 boxes by an axis-aligned cut in
|
||||
the longest dimension, leaving one new box on either side of the cut.
|
||||
All the processors are also partitioned into 2 groups, half assigned
|
||||
to the box on the lower side of the cut, and half to the box on the
|
||||
upper side. (If the processor count is odd, one side gets an extra
|
||||
processor.) The cut is positioned so that the number of particles in
|
||||
the lower box is exactly the number that the processors assigned to
|
||||
that box should own for load balance to be perfect. This also makes
|
||||
load balance for the upper box perfect. The positioning is done
|
||||
iteratively, by a bisectioning method. Note that counting particles
|
||||
on either side of the cut requires communication between all
|
||||
processors at each iteration.
|
||||
one of the dimensions, leaving one new sub-box on either side of the
|
||||
cut. Which dimension is chosen for the cut depends on the particle
|
||||
(weight) distribution within the parent box. Normally the longest
|
||||
dimension of the box is cut, but if all (or most) of the particles are
|
||||
at one end of the box, a cut may be performed in another dimension to
|
||||
induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in
|
||||
shape.
|
||||
|
||||
After the cut is made, all the processors are also partitioned into 2
|
||||
groups, half assigned to the box on the lower side of the cut, and
|
||||
half to the box on the upper side. (If the processor count is odd,
|
||||
one side gets an extra processor.) The cut is positioned so that the
|
||||
number of (weighted) particles in the lower box is exactly the number
|
||||
that the processors assigned to that box should own for load balance
|
||||
to be perfect. This also makes load balance for the upper box
|
||||
perfect. The positioning of the cut is done iteratively, by a
|
||||
bisectioning method (median search). Note that counting particles on
|
||||
either side of the cut requires communication between all processors
|
||||
at each iteration.
|
||||
|
||||
That is the procedure for the first cut. Subsequent cuts are made
|
||||
recursively, in exactly the same manner. The subset of processors
|
||||
assigned to each box make a new cut in the longest dimension of that
|
||||
box, splitting the box, the subset of processsors, and the particles
|
||||
in the box in two. The recursion continues until every processor is
|
||||
assigned a sub-box of the entire simulation domain, and owns the
|
||||
assigned to each box make a new cut in one dimension of that box,
|
||||
splitting the box, the subset of processors, and the particles in the
|
||||
box in two. The recursion continues until every processor is assigned
|
||||
a sub-box of the entire simulation domain, and owns the (weighted)
|
||||
particles in that sub-box.
|
||||
|
||||
:line
|
||||
@ -368,7 +376,7 @@ of about 0.8 often results in the best performance, since the number
|
||||
of neighbors is likely to overestimate the ideal weight.
|
||||
|
||||
This weight style is useful for systems where there are different
|
||||
cutoffs used for different pairs of interations, or the density
|
||||
cutoffs used for different pairs of interactions, or the density
|
||||
fluctuates, or a large number of particles are in the vicinity of a
|
||||
wall, or a combination of these effects. If a simulation uses
|
||||
multiple neighbor lists, this weight style will use the first suitable
|
||||
@ -402,7 +410,7 @@ decrease the weights so that the ratio of max weight to min weight
|
||||
decreases by {factor}. In both cases the intermediate weight values
|
||||
increase/decrease proportionally as well. A value = 1.0 has no effect
|
||||
on the {time} weights. As a rule of thumb, effective values to use
|
||||
are typicall between 0.5 and 1.2. Note that the timer quantities
|
||||
are typically between 0.5 and 1.2. Note that the timer quantities
|
||||
mentioned above can be affected by communication which occurs in the
|
||||
middle of the operations, e.g. pair styles with intermediate exchange
|
||||
of data witin the force computation, and likewise for KSpace solves.
|
||||
|
||||
@ -82,7 +82,7 @@ internal stress that induces fragmentation :ul
|
||||
then the interaction between pairs of particles is likely to be more
|
||||
complex than the summation of simple sub-particle interactions. An
|
||||
example is contact or frictional forces between particles with planar
|
||||
sufaces that inter-penetrate.
|
||||
surfaces that inter-penetrate.
|
||||
|
||||
These are additional LAMMPS commands that can be used with body
|
||||
particles of different styles
|
||||
@ -105,7 +105,7 @@ in the sections below.
|
||||
|
||||
The {nparticle} body style represents body particles as a rigid body
|
||||
with a variable number N of sub-particles. It is provided as a
|
||||
vanillia, prototypical example of a body particle, although as
|
||||
vanilla, prototypical example of a body particle, although as
|
||||
mentioned above, the "fix rigid"_fix_rigid.html command already
|
||||
duplicates its functionality.
|
||||
|
||||
@ -140,7 +140,7 @@ for more details.
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
around its center of mass. The values are with respect to the
|
||||
simulation box XYZ axes, not with respect to the prinicpal axes of the
|
||||
simulation box XYZ axes, not with respect to the principal axes of the
|
||||
rigid body itself. LAMMPS performs the latter calculation internally.
|
||||
The coordinates of each sub-particle are specified as its x,y,z
|
||||
displacement from the center-of-mass of the body particle. The
|
||||
@ -218,7 +218,7 @@ wish; see the "read_data"_read_data.html command for more details.
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
around its center of mass. The values are with respect to the
|
||||
simulation box XYZ axes, not with respect to the prinicpal axes of the
|
||||
simulation box XYZ axes, not with respect to the principal axes of the
|
||||
rigid body itself. LAMMPS performs the latter calculation internally.
|
||||
The coordinates of each vertex are specified as its x,y,z displacement
|
||||
from the center-of-mass of the body particle. The center-of-mass
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
bond_style class2 command :h3
|
||||
bond_style class2/omp command :h3
|
||||
bond_style class2/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other bond styles, the hybrid bond style does not store bond
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
files"_restart.html. Thus when retarting a simulation from a restart
|
||||
files"_restart.html. Thus when restarting a simulation from a restart
|
||||
file, you need to re-specify bond_coeff commands.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
81
doc/src/bond_oxdna.txt
Normal file
@ -0,0 +1,81 @@
|
||||
"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
|
||||
bond_style oxdna2/fene command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
bond_style oxdna/fene :pre
|
||||
bond_style oxdna2/fene :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525 :pre
|
||||
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {oxdna/fene} and {oxdna2/fene} bond styles use 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: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
|
||||
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
|
||||
style {oxdna2/dh} have to be defined.
|
||||
|
||||
The coefficients
|
||||
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
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.html, "pair_style oxdna2/excv"_pair_oxdna2.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).
|
||||
|
||||
:link(oxdna2)
|
||||
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).
|
||||
@ -15,6 +15,8 @@ Bond Styles :h1
|
||||
bond_morse
|
||||
bond_none
|
||||
bond_nonlinear
|
||||
bond_oxdna
|
||||
bond_oxdna2
|
||||
bond_quartic
|
||||
bond_table
|
||||
bond_zero
|
||||
|
||||
@ -101,11 +101,11 @@ Instead you could do something like this, assuming the simulation box
|
||||
is non-periodic and atoms extend from 0 to 20 in all dimensions:
|
||||
|
||||
change_box all x final -10 20
|
||||
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
|
||||
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
|
||||
|
||||
change_box all x final -10 20 boundary f s s
|
||||
create_atoms 1 single -5 5 5
|
||||
change_box boundary s s s # this will work :pre
|
||||
change_box all boundary s s s # this will work :pre
|
||||
|
||||
NOTE: Unlike the earlier "displace_box" version of this command, atom
|
||||
remapping is NOT performed by default. This command allows remapping
|
||||
@ -258,8 +258,8 @@ command.
|
||||
:line
|
||||
|
||||
The {ortho} and {triclinic} keywords convert the simulation box to be
|
||||
orthogonal or triclinic (non-orthongonal). See "this
|
||||
section"_Section_howto#howto_13 for a discussion of how non-orthongal
|
||||
orthogonal or triclinic (non-orthogonal). See "this
|
||||
section"_Section_howto#howto_13 for a discussion of how non-orthogonal
|
||||
boxes are represented in LAMMPS.
|
||||
|
||||
The simulation box is defined as either orthogonal or triclinic when
|
||||
@ -289,7 +289,7 @@ the create_box command is encountered in the input script.
|
||||
The {remap} keyword remaps atom coordinates from the last saved box
|
||||
size/shape to the current box state. For example, if you stretch the
|
||||
box in the x dimension or tilt it in the xy plane via the {x} and {xy}
|
||||
keywords, then the {remap} commmand will dilate or tilt the atoms to
|
||||
keywords, then the {remap} command will dilate or tilt the atoms to
|
||||
conform to the new box size/shape, as if the atoms moved with the box
|
||||
as it deformed.
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ sizes and shapes. Again there is one tile per processor. To acquire
|
||||
information for nearby atoms, communication must now be done with a
|
||||
more complex pattern of neighboring processors.
|
||||
|
||||
Note that this command does not actually define a partitoining of the
|
||||
Note that this command does not actually define a partitioning of the
|
||||
simulation box (a domain decomposition), rather it determines what
|
||||
kinds of decompositions are allowed and the pattern of communication
|
||||
used to enable the decomposition. A decomposition is created when the
|
||||
|
||||
@ -91,6 +91,7 @@ Commands :h1
|
||||
suffix
|
||||
tad
|
||||
temper
|
||||
temper_grem
|
||||
thermo
|
||||
thermo_modify
|
||||
thermo_style
|
||||
|
||||
@ -235,7 +235,7 @@ section of "this page"_Section_commands.html#cmd_5.
|
||||
"temp/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component
|
||||
"temp/region"_compute_temp_region.html - temperature of a region of atoms
|
||||
"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles
|
||||
"ti"_compute_ti.html - thermodyanmic integration free energy values
|
||||
"ti"_compute_ti.html - thermodynamic integration free energy values
|
||||
"torque/chunk"_compute_torque_chunk.html - torque applied on each chunk
|
||||
"vacf"_compute_vacf.html - velocity-autocorrelation function of group of atoms
|
||||
"vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk
|
||||
|
||||
@ -22,7 +22,7 @@ compute 1 fluid angmom/chunk molchunk :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the angular momemtum of multiple
|
||||
Define a computation that calculates the angular momentum of multiple
|
||||
chunks of atoms.
|
||||
|
||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||
|
||||
@ -18,8 +18,8 @@ lattice = {fcc} or {bcc} or N = # of neighbors per atom to include :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {axes} :l
|
||||
{axes} value = {no} or {yes}
|
||||
{no} = do not calulate 3 symmetry axes
|
||||
{yes} = calulate 3 symmetry axes :pre
|
||||
{no} = do not calculate 3 symmetry axes
|
||||
{yes} = calculate 3 symmetry axes :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -108,7 +108,7 @@ symmetry axis, followed by the second, and third symmetry axes in
|
||||
columns 5-7 and 8-10.
|
||||
|
||||
The centrosymmetry values are unitless values >= 0.0. Their magnitude
|
||||
depends on the lattice style due to the number of contibuting neighbor
|
||||
depends on the lattice style due to the number of contributing neighbor
|
||||
pairs in the summation in the formula above. And it depends on the
|
||||
local defects surrounding the central atom, as described above. For
|
||||
the {axes yes} case, the vector components are also unitless, since
|
||||
|
||||
@ -148,7 +148,9 @@ described further below where the keywords are discussed.
|
||||
The {binning} styles perform a spatial binning of atoms, and assign an
|
||||
atom the chunk ID corresponding to the bin number it is in. {Nchunk}
|
||||
is set to the number of bins, which can change if the simulation box
|
||||
size changes.
|
||||
size changes. This also depends on the setting of the {units}
|
||||
keyword; e.g. for {reduced} units the number of chunks may not change
|
||||
even if the box size does.
|
||||
|
||||
The {bin/1d}, {bin/2d}, and {bin/3d} styles define bins as 1d layers
|
||||
(slabs), 2d pencils, or 3d boxes. The {dim}, {origin}, and {delta}
|
||||
@ -386,7 +388,7 @@ If {compress yes} is set, and the {compress} keyword comes before the
|
||||
{limit} keyword, the compression operation is performed first, as
|
||||
described below, which resets {Nchunk}. The {limit} keyword is then
|
||||
applied to the new {Nchunk} value, exactly as described in the
|
||||
preceeding paragraph. Note that in this case, all atoms will end up
|
||||
preceding paragraph. Note that in this case, all atoms will end up
|
||||
with chunk IDs <= {Nc}, but their original values (e.g. molecule ID or
|
||||
compute/fix/variable value) may have been > {Nc}, because of the
|
||||
compression operation.
|
||||
@ -459,7 +461,7 @@ The original chunk IDs (before renumbering) can be accessed by the
|
||||
which outputs the original IDs as one of the columns in its global
|
||||
output array. For example, using the "compute cluster/atom" command
|
||||
discussed above, the original 5 unique chunk IDs might be atom IDs
|
||||
(27,4982,58374,857838,1000000). After compresion, these will be
|
||||
(27,4982,58374,857838,1000000). After compression, these will be
|
||||
renumbered to (1,2,3,4,5). The original values (27,...,1000000) can
|
||||
be output to a file by the "fix ave/chunk"_fix_ave_chunk.html command,
|
||||
or by using the "fix ave/time"_fix_ave_time.html command in
|
||||
@ -538,7 +540,7 @@ is set to {yes}, an out-of-domain atom will have its chunk ID set to
|
||||
to the first or last bin in both the radial and axis dimensions. If
|
||||
{discard} is set to {mixed}, which is the default, the radial
|
||||
dimension is treated the same as for {discard} = no. But for the axis
|
||||
dimensinon, it will only have its chunk ID set to the first or last
|
||||
dimension, it will only have its chunk ID set to the first or last
|
||||
bin if bins extend to the simulation box boundary in the axis
|
||||
dimension. This is the case if the {bound} keyword settings are
|
||||
{lower} and {upper}, which is the default. If the {bound} keyword
|
||||
|
||||
@ -42,7 +42,7 @@ performed on mono-component systems.
|
||||
|
||||
The CNA calculation can be sensitive to the specified cutoff value.
|
||||
You should insure the appropriate nearest neighbors of an atom are
|
||||
found within the cutoff distance for the presumed crystal strucure.
|
||||
found within the cutoff distance for the presumed crystal structure.
|
||||
E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest
|
||||
neighbors for perfect BCC crystals. These formulas can be used to
|
||||
obtain a good cutoff distance:
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the center-of-mass of the group
|
||||
of atoms, including all effects due to atoms passing thru periodic
|
||||
boundaries.
|
||||
|
||||
A vector of three quantites is calculated by this compute, which
|
||||
A vector of three quantities is calculated by this compute, which
|
||||
are the x,y,z coordinates of the center of mass.
|
||||
|
||||
NOTE: The coordinates of an atom contribute to the center-of-mass in
|
||||
|
||||
@ -10,34 +10,43 @@ compute coord/atom command :h3
|
||||
|
||||
[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
|
||||
coord/atom = style name of this compute command
|
||||
cutoff = distance within which to count coordination neighbors (distance units)
|
||||
typeN = atom type for Nth coordination count (see asterisk form below) :ul
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
coord/atom = style name of this compute command :l
|
||||
cstyle = {cutoff} or {orientorder} :l
|
||||
{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:]
|
||||
|
||||
compute 1 all coord/atom 2.0
|
||||
compute 1 all coord/atom 6.0 1 2
|
||||
compute 1 all coord/atom 6.0 2*4 5*8 * :pre
|
||||
compute 1 all coord/atom cutoff 2.0
|
||||
compute 1 all coord/atom cutoff 6.0 1 2
|
||||
compute 1 all coord/atom cutoff 6.0 2*4 5*8 *
|
||||
compute 1 all coord/atom orientorder 2 0.5 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates one or more coordination numbers
|
||||
for each atom in a group.
|
||||
This compute performs calculations between neighboring atoms to
|
||||
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
|
||||
specified atom type(s) that are within the specified cutoff distance
|
||||
from the central atom. Atoms not in the group are included in a
|
||||
coordination number of atoms in the group.
|
||||
The {cutoff} cstyle calculates one or more traditional coordination
|
||||
numbers for each atom. A coordination number is defined as the number
|
||||
of neighbor atoms with specified atom type(s) that are within the
|
||||
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
|
||||
to each coordination number. One coordination number is computed for
|
||||
each of the {typeN} keywords listed. If no {typeN} keywords are
|
||||
listed, a single coordination number is calculated, which includes
|
||||
atoms of all types (same as the "*" format, see below).
|
||||
The {typeN} keywords allow specification of which atom types
|
||||
contribute to each coordination number. One coordination number is
|
||||
computed for each of the {typeN} keywords listed. If no {typeN}
|
||||
keywords are listed, a single coordination number is calculated, which
|
||||
includes atoms of all types (same as the "*" format, see below).
|
||||
|
||||
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
|
||||
@ -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).
|
||||
|
||||
The value of all coordination numbers will be 0.0 for atoms not in the
|
||||
specified compute group.
|
||||
The {orientorder} cstyle calculates the number of "connected" neighbor
|
||||
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"_#tenWolde1.
|
||||
|
||||
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 documentation. 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
|
||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||
@ -72,11 +100,16 @@ the neighbor list.
|
||||
|
||||
[Output info:]
|
||||
|
||||
If single {type1} keyword is specified (or if none are specified),
|
||||
this compute calculates a per-atom vector. If multiple {typeN}
|
||||
keywords are specified, this compute calculates a per-atom array, with
|
||||
N columns. These values can be accessed by any command that uses
|
||||
per-atom values from a compute as input. See "Section
|
||||
For {cstyle} cutoff, this compute can calculate a per-atom vector or
|
||||
array. If single {type1} keyword is specified (or if none are
|
||||
specified), this compute calculates a per-atom vector. If multiple
|
||||
{typeN} keywords are specified, this compute calculates a per-atom
|
||||
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
|
||||
options.
|
||||
|
||||
@ -88,5 +121,12 @@ explained above.
|
||||
[Related commands:]
|
||||
|
||||
"compute cluster/atom"_compute_cluster_atom.html
|
||||
"compute orientorder/atom"_compute_orientorder_atom.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(tenWolde1)
|
||||
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||
J. Chem. Phys. 104, 9932 (1996).
|
||||
|
||||
@ -47,7 +47,7 @@ any command that uses per-atom values from a compute as input. See
|
||||
"Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitlesss numbers (damage) >= 0.0.
|
||||
The per-atom vector values are unitless numbers (damage) >= 0.0.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ This compute calculates a per-atom vector, which can be accessed by
|
||||
any command that uses per-atom values from a compute as input. See
|
||||
Section_howto 15 for an overview of LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitlesss numbers (theta) >= 0.0.
|
||||
The per-atom vector values are unitless numbers (theta) >= 0.0.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the current displacement of each
|
||||
atom in the group from its original coordinates, including all effects
|
||||
due to atoms passing thru periodic boundaries.
|
||||
|
||||
A vector of four quantites per atom is calculated by this compute.
|
||||
A vector of four quantities per atom is calculated by this compute.
|
||||
The first 3 elements of the vector are the dx,dy,dz displacements.
|
||||
The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy +
|
||||
dz*dz).
|
||||
|
||||
@ -64,7 +64,7 @@ command.
|
||||
|
||||
:line
|
||||
|
||||
:link(Larentzos)
|
||||
:link(Larentzos1)
|
||||
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
||||
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
||||
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
||||
|
||||
@ -59,7 +59,7 @@ command.
|
||||
|
||||
:line
|
||||
|
||||
:link(Larentzos)
|
||||
:link(Larentzos2)
|
||||
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
||||
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
||||
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
||||
|
||||
@ -14,7 +14,7 @@ compute ID group-ID event/displace threshold :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
event/displace = style name of this compute command
|
||||
threshold = minimum distance anyparticle must move to trigger an event (distance units) :ul
|
||||
threshold = minimum distance any particle must move to trigger an event (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -37,7 +37,7 @@ further than the threshold distance.
|
||||
NOTE: If the system is undergoing significant center-of-mass motion,
|
||||
due to thermal motion, an external force, or an initial net momentum,
|
||||
then this compute will not be able to distinguish that motion from
|
||||
local atom displacements and may generate "false postives."
|
||||
local atom displacements and may generate "false positives."
|
||||
|
||||
[Output info:]
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ M is the actual length of the input vector, then an output value of
|
||||
0.0 is assigned to the atom.
|
||||
|
||||
An example of how this command is useful, is in the context of
|
||||
"chunks" which are static or dyanmic subsets of atoms. The "compute
|
||||
"chunks" which are static or dynamic subsets of atoms. The "compute
|
||||
chunk/atom"_compute_chunk_atom.html command assigns unique chunk IDs
|
||||
to each atom. It's output can be used as the {index} parameter for
|
||||
this command. Various other computes with "chunk" in their style
|
||||
@ -192,7 +192,7 @@ reference thermodynamic keywords and various other attributes of
|
||||
atoms, or invoke other computes, fixes, or variables when they are
|
||||
evaluated, so this is a very general means of generating a vector of
|
||||
global quantities which the {index} parameter will reference for
|
||||
assignement of global values to atoms.
|
||||
assignment of global values to atoms.
|
||||
|
||||
:line
|
||||
|
||||
@ -207,7 +207,7 @@ See "Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-atom vector or array values will be in whatever units the
|
||||
corresponsing input values are in.
|
||||
corresponding input values are in.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
@ -16,10 +16,11 @@ ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
group/group = style name of this compute command :l
|
||||
group2-ID = group ID of second (or same) group :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {pair} or {kspace} or {boundary} :l
|
||||
keyword = {pair} or {kspace} or {boundary} or {molecule} :l
|
||||
{pair} value = {yes} or {no}
|
||||
{kspace} value = {yes} or {no}
|
||||
{boundary} value = {yes} or {no} :pre
|
||||
{boundary} value = {yes} or {no}
|
||||
{molecule} value = {off} or {inter} or {intra} :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -46,6 +47,13 @@ NOTE: The energies computed by the {pair} keyword do not include tail
|
||||
corrections, even if they are enabled via the
|
||||
"pair_modify"_pair_modify.html command.
|
||||
|
||||
If the {molecule} keyword is set to {inter} or {intra} than an
|
||||
additional check is made based on the molecule IDs of the two atoms in
|
||||
each pair before including their pairwise interaction energy and
|
||||
force. For the {inter} setting, the two atoms must be in different
|
||||
molecules. For the {intra} setting, the two atoms must be in the same
|
||||
molecule.
|
||||
|
||||
If the {kspace} keyword is set to {yes}, which is not the default, and
|
||||
if a "kspace_style"_kspace_style.html is defined, then the interaction
|
||||
energy will include a Kspace component which is the long-range
|
||||
@ -66,6 +74,10 @@ affect the force calculation and will be zero if one or both of the
|
||||
groups are charge neutral. This energy correction term is the same as
|
||||
that included in the regular Ewald and PPPM routines.
|
||||
|
||||
NOTE: The {molecule} setting only affects the group/group
|
||||
contributions calculated by the {pair} keyword. It does not affect
|
||||
the group/group contributions calculated by the {kspace} keyword.
|
||||
|
||||
This compute does not calculate any bond or angle or dihedral or
|
||||
improper interactions between atoms in the two groups.
|
||||
|
||||
@ -78,6 +90,22 @@ work (FFTs, Ewald summation) as computing long-range forces for the
|
||||
entire system. Thus it can be costly to invoke this compute too
|
||||
frequently.
|
||||
|
||||
NOTE: If you have a bonded system, then the settings of
|
||||
"special_bonds"_special_bonds.html command can remove pairwise
|
||||
interactions between atoms in the same bond, angle, or dihedral. This
|
||||
is the default setting for the "special_bonds"_special_bonds.html
|
||||
command, and means those pairwise interactions do not appear in the
|
||||
neighbor list. Because this compute uses a neighbor list, it also
|
||||
means those pairs will not be included in the group/group interaction.
|
||||
This does not apply when using long-range coulomb interactions
|
||||
({coul/long}, {coul/msm}, {coul/wolf} or similar. One way to get
|
||||
around this would be to set special_bond scaling factors to very tiny
|
||||
numbers that are not exactly zero (e.g. 1.0e-50). Another workaround
|
||||
is to write a dump file, and use the "rerun"_rerun.html command to
|
||||
compute the group/group interactions for snapshots in the dump file.
|
||||
The rerun script can use a "special_bonds"_special_bonds.html command
|
||||
that includes all pairs in the neighbor list.
|
||||
|
||||
If you desire a breakdown of the interactions into a pairwise and
|
||||
Kspace component, simply invoke the compute twice with the appropriate
|
||||
yes/no settings for the {pair} and {kspace} keywords. This is no more
|
||||
@ -119,7 +147,8 @@ The {ewald} and {pppm} styles do.
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are pair = yes, kspace = no, and boundary = yes.
|
||||
The option defaults are pair = yes, kspace = no, boundary = yes,
|
||||
molecule = off.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ subtracted to a group of atoms.
|
||||
The compute takes three arguments which are IDs of other
|
||||
"computes"_compute.html. One calculates per-atom kinetic energy
|
||||
({ke-ID}), one calculates per-atom potential energy ({pe-ID)}, and the
|
||||
third calcualtes per-atom stress ({stress-ID}).
|
||||
third calculates per-atom stress ({stress-ID}).
|
||||
|
||||
NOTE: These other computes should provide values for all the atoms in
|
||||
the group this compute specifies. That means the other computes could
|
||||
@ -83,7 +83,7 @@ The heat flux can be output every so many timesteps (e.g. via the
|
||||
post-processing operation, an autocorrelation can be performed, its
|
||||
integral estimated, and the Green-Kubo formula above evaluated.
|
||||
|
||||
The "fix ave/correlate"_fix_ave_correlate.html command can calclate
|
||||
The "fix ave/correlate"_fix_ave_correlate.html command can calculate
|
||||
the autocorrelation. The trap() function in the
|
||||
"variable"_variable.html command can calculate the integral.
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ chunk/atom"_compute_chunk_atom.html doc page and "Section
|
||||
defined and examples of how they can be used to measure properties of
|
||||
a system.
|
||||
|
||||
This compute calculates the 6 components of the symmetric intertia
|
||||
This compute calculates the 6 components of the symmetric inertia
|
||||
tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The
|
||||
calculation includes all effects due to atoms passing thru periodic
|
||||
boundaries.
|
||||
|
||||
@ -14,27 +14,29 @@ compute_modify compute-ID keyword value ... :pre
|
||||
|
||||
compute-ID = ID of the compute to modify :ulb,l
|
||||
one or more keyword/value pairs may be listed :l
|
||||
keyword = {extra} or {dynamic} :l
|
||||
{extra} value = N
|
||||
keyword = {extra/dof} or {extra} or {dynamic/dof} or {dynamic} :l
|
||||
{extra/dof} value = N
|
||||
N = # of extra degrees of freedom to subtract
|
||||
{dynamic} value = {yes} or {no}
|
||||
yes/no = do or do not recompute the number of atoms contributing to the temperature :pre
|
||||
{extra} syntax is identical to {extra/dof}, will be disabled at some point
|
||||
{dynamic/dof} value = {yes} or {no}
|
||||
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature
|
||||
{dynamic} syntax is identical to {dynamic/dof}, will be disabled at some point :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute_modify myTemp extra 0
|
||||
compute_modify newtemp dynamic yes extra 600 :pre
|
||||
compute_modify myTemp extra/dof 0
|
||||
compute_modify newtemp dynamic/dof yes extra/dof 600 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Modify one or more parameters of a previously defined compute. Not
|
||||
all compute styles support all parameters.
|
||||
|
||||
The {extra} keyword refers to how many degrees-of-freedom are
|
||||
subtracted (typically from 3N) as a normalizing factor in a
|
||||
temperature computation. Only computes that compute a temperature use
|
||||
this option. The default is 2 or 3 for "2d or 3d
|
||||
The {extra/dof} or {extra} keyword refers to how many
|
||||
degrees-of-freedom are subtracted (typically from 3N) as a normalizing
|
||||
factor in a temperature computation. Only computes that compute a
|
||||
temperature use this option. The default is 2 or 3 for "2d or 3d
|
||||
systems"_dimension.html which is a correction factor for an ensemble
|
||||
of velocities with zero total linear momentum. For compute
|
||||
temp/partial, if one or more velocity components are excluded, the
|
||||
@ -43,14 +45,21 @@ number for the {extra} parameter if you need to add
|
||||
degrees-of-freedom. See the "compute
|
||||
temp/asphere"_compute_temp_asphere.html command for an example.
|
||||
|
||||
The {dynamic} keyword determines whether the number of atoms N in the
|
||||
compute group is re-computed each time a temperature is computed.
|
||||
Only compute styles that calculate a temperature use this option. By
|
||||
default, N is assumed to be constant. If you are adding atoms to the
|
||||
system (see the "fix pour"_fix_pour.html or "fix
|
||||
deposit"_fix_deposit.html commands) or expect atoms to be lost
|
||||
(e.g. due to evaporation), then this option should be used to insure
|
||||
the temperature is correctly normalized.
|
||||
The {dynamic/dof} or {dynamic} keyword determines whether the number
|
||||
of atoms N in the compute group and their associated degrees of
|
||||
freedom are re-computed each time a temperature is computed. Only
|
||||
compute styles that calculate a temperature use this option. By
|
||||
default, N and their DOF are assumed to be constant. If you are
|
||||
adding atoms or molecules to the system (see the "fix
|
||||
pour"_fix_pour.html, "fix deposit"_fix_deposit.html, and "fix
|
||||
gcmc"_fix_gcmc.html commands) or expect atoms or molecules to be lost
|
||||
(e.g. due to exiting the simulation box or via "fix
|
||||
evaporate"_fix_evaporate.html), then this option should be used to
|
||||
insure the temperature is correctly normalized.
|
||||
|
||||
NOTE: The {extra} and {dynamic} keywords should not be used as they
|
||||
are deprecated (March 2017) and will eventually be disabled. Instead,
|
||||
use the equivalent {extra/dof} and {dynamic/dof} keywords.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
@ -60,5 +69,5 @@ the temperature is correctly normalized.
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are extra = 2 or 3 for 2d or 3d systems and
|
||||
dynamic = no.
|
||||
The option defaults are extra/dof = 2 or 3 for 2d or 3d systems and
|
||||
dynamic/dof = no.
|
||||
|
||||
@ -33,7 +33,7 @@ passing thru periodic boundaries. For computation of the non-Gaussian
|
||||
parameter of mean-squared displacement, see the "compute
|
||||
msd/nongauss"_compute_msd_nongauss.html command.
|
||||
|
||||
A vector of four quantites is calculated by this compute. The first 3
|
||||
A vector of four quantities is calculated by this compute. The first 3
|
||||
elements of the vector are the squared dx,dy,dz displacements, summed
|
||||
and averaged over atoms in the group. The 4th element is the total
|
||||
squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and
|
||||
|
||||
@ -35,7 +35,7 @@ chunk/atom"_compute_chunk_atom.html doc page and "Section
|
||||
defined and examples of how they can be used to measure properties of
|
||||
a system.
|
||||
|
||||
Four quantites are calculated by this compute for each chunk. The
|
||||
Four quantities are calculated by this compute for each chunk. The
|
||||
first 3 quantities are the squared dx,dy,dz displacements of the
|
||||
center-of-mass. The 4th component is the total squared displacement,
|
||||
i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These
|
||||
|
||||
@ -30,12 +30,12 @@ Define a computation that calculates the mean-squared displacement
|
||||
(MSD) and non-Gaussian parameter (NGP) of the group of atoms,
|
||||
including all effects due to atoms passing thru periodic boundaries.
|
||||
|
||||
A vector of three quantites is calculated by this compute. The first
|
||||
A vector of three quantities is calculated by this compute. The first
|
||||
element of the vector is the total squared dx,dy,dz displacements
|
||||
drsquared = (dx*dx + dy*dy + dz*dz) of atoms, and the second is the
|
||||
fourth power of these displacements drfourth = (dx*dx + dy*dy +
|
||||
dz*dz)*(dx*dx + dy*dy + dz*dz), summed and averaged over atoms in the
|
||||
group. The 3rd component is the nonGaussian diffusion paramter NGP =
|
||||
group. The 3rd component is the nonGaussian diffusion parameter NGP =
|
||||
3*drfourth/(5*drsquared*drsquared), i.e.
|
||||
|
||||
:c,image(Eqs/compute_msd_nongauss.jpg)
|
||||
@ -48,7 +48,7 @@ others.
|
||||
|
||||
If the {com} option is set to {yes} then the effect of any drift in
|
||||
the center-of-mass of the group of atoms is subtracted out before the
|
||||
displacment of each atom is calcluated.
|
||||
displacment of each atom is calculated.
|
||||
|
||||
See the "compute msd"_compute_msd.html doc page for further important
|
||||
NOTEs, which also apply to this compute.
|
||||
|
||||
@ -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
|
||||
orientorder/atom = style name of this compute command :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
|
||||
{nnn} value = number of nearest neighbors
|
||||
{degrees} values = nlvalues, l1, l2,... :pre
|
||||
{degrees} values = nlvalues, l1, l2,...
|
||||
{components} value = ldegree :pre
|
||||
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
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:]
|
||||
|
||||
@ -62,14 +64,21 @@ specified distance cutoff are used.
|
||||
The optional keyword {degrees} defines the list of order parameters to
|
||||
be computed. The first argument {nlvalues} is the number of order
|
||||
parameters. This is followed by that number of integers giving the
|
||||
degree of each order parameter. Because {Q}2 and all odd-degree
|
||||
order parameters are zero for atoms in cubic crystals
|
||||
(see "Steinhardt"_#Steinhardt), the default order parameters
|
||||
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the
|
||||
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094....
|
||||
The numerical values of all order parameters up to {Q}12
|
||||
for a range of commonly encountered high-symmetry structures are given
|
||||
in Table I of "Mickel et al."_#Mickel.
|
||||
degree of each order parameter. Because {Q}2 and all odd-degree order
|
||||
parameters are zero for atoms in cubic crystals (see
|
||||
"Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
|
||||
{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn}=12, {Q}4
|
||||
= sqrt(7/3)/8 = 0.19094.... The numerical values of all order
|
||||
parameters up to {Q}12 for a range of commonly encountered
|
||||
high-symmetry structures are given in Table I of "Mickel et
|
||||
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"_#tenWolde2.
|
||||
|
||||
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
|
||||
@ -95,8 +104,16 @@ the neighbor list.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a per-atom array with {nlvalues} columns, giving the
|
||||
{Ql} values for each atom, which are real numbers on the range 0 <= {Ql} <= 1.
|
||||
This compute calculates a per-atom array with {nlvalues} columns,
|
||||
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
|
||||
per-atom values from a compute as input. See "Section
|
||||
@ -107,15 +124,25 @@ options.
|
||||
|
||||
[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:]
|
||||
|
||||
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
|
||||
|
||||
: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)
|
||||
[(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(tenWolde2)
|
||||
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||
J. Chem. Phys. 104, 9932 (1996).
|
||||
|
||||
@ -43,7 +43,7 @@ style van der Waals interaction or not) is tallied in {evdwl}. If
|
||||
as a global scalar by this compute. This is useful when using
|
||||
"pair_style hybrid"_pair_hybrid.html if you want to know the portion
|
||||
of the total energy contributed by one sub-style. If {evalue} is
|
||||
specfied as {evdwl} or {ecoul}, then just that portion of the energy
|
||||
specified as {evdwl} or {ecoul}, then just that portion of the energy
|
||||
is stored as a global scalar.
|
||||
|
||||
NOTE: The energy returned by the {evdwl} keyword does not include tail
|
||||
@ -52,7 +52,7 @@ corrections, even if they are enabled via the
|
||||
|
||||
Some pair styles tally additional quantities, e.g. a breakdown of
|
||||
potential energy into a dozen or so components is tallied by the
|
||||
"pair_style reax"_pair_reax.html commmand. These values (1 or more)
|
||||
"pair_style reax"_pair_reax.html command. These values (1 or more)
|
||||
are stored as a global vector by this compute. See the doc page for
|
||||
"individual pair styles"_pair_style.html for info on these values.
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ force cutoff distance for that interaction, as defined by the
|
||||
"pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html
|
||||
commands.
|
||||
|
||||
The value {dist} is the distance bewteen the pair of atoms.
|
||||
The value {dist} is the distance between the pair of atoms.
|
||||
|
||||
The value {eng} is the interaction energy for the pair of atoms.
|
||||
|
||||
|
||||
@ -49,9 +49,9 @@ pairwise interactions between 1-4 atoms. The energy contribution of
|
||||
these terms is included in the pair energy, not the dihedral energy.
|
||||
|
||||
The KSpace contribution is calculated using the method in
|
||||
"(Heyes)"_#Heyes for the Ewald method and a related method for PPPM,
|
||||
"(Heyes)"_#Heyes1 for the Ewald method and a related method for PPPM,
|
||||
as specified by the "kspace_style pppm"_kspace_style.html command.
|
||||
For PPPM, the calcluation requires 1 extra FFT each timestep that
|
||||
For PPPM, the calculation requires 1 extra FFT each timestep that
|
||||
per-atom energy is calculated. This "document"_PDF/kspace.pdf
|
||||
describes how the long-range per-atom energy calculation is performed.
|
||||
|
||||
@ -97,5 +97,5 @@ stress/atom"_compute_stress_atom.html
|
||||
|
||||
:line
|
||||
|
||||
:link(Heyes)
|
||||
:link(Heyes1)
|
||||
[(Heyes)] Heyes, Phys Rev B 49, 755 (1994),
|
||||
|
||||
@ -44,7 +44,7 @@ This compute calculates a per-atom vector, which can be accessed by
|
||||
any command that uses per-atom values from a compute as input. See
|
||||
Section_howto 15 for an overview of LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitlesss numbers (lambda) >= 0.0.
|
||||
The per-atom vector values are unitless numbers (lambda) >= 0.0.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ means include all terms except the kinetic energy {ke}.
|
||||
Details of how LAMMPS computes the virial efficiently for the entire
|
||||
system, including for manybody potentials and accounting for the
|
||||
effects of periodic boundary conditions are discussed in
|
||||
"(Thompson)"_#Thompson.
|
||||
"(Thompson)"_#Thompson1.
|
||||
|
||||
The temperature and kinetic energy tensor is not calculated by this
|
||||
compute, but rather by the temperature compute specified with the
|
||||
@ -89,7 +89,7 @@ commands"_compute.html to determine which ones include a bias.
|
||||
|
||||
Also note that the N in the first formula above is really
|
||||
degrees-of-freedom divided by d = dimensionality, where the DOF value
|
||||
is calcluated by the temperature compute. See the various "compute
|
||||
is calculated by the temperature compute. See the various "compute
|
||||
temperature"_compute.html styles for details.
|
||||
|
||||
A compute of this style with the ID of "thermo_press" is created when
|
||||
@ -150,5 +150,5 @@ stress/atom"_compute_stress_atom.html,
|
||||
|
||||
:line
|
||||
|
||||
:link(Thompson)
|
||||
:link(Thompson1)
|
||||
[(Thompson)] Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009).
|
||||
|
||||
@ -64,7 +64,7 @@ can only be used if the {compress} keyword was set to {yes} for the
|
||||
"compute chunk/atom"_compute_chunk_atom.html command referenced by
|
||||
chunkID. This means that the original chunk IDs (e.g. molecule IDs)
|
||||
will have been compressed to remove chunk IDs with no atoms assigned
|
||||
to them. Thus a compresed chunk ID of 3 may correspond to an original
|
||||
to them. Thus a compressed chunk ID of 3 may correspond to an original
|
||||
chunk ID (molecule ID in this case) of 415. The {id} attribute will
|
||||
then be 415 for the 3rd chunk.
|
||||
|
||||
|
||||
@ -10,21 +10,27 @@ compute rdf command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... :pre
|
||||
compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... keyword/value ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
rdf = style name of this compute command
|
||||
Nbin = number of RDF bins
|
||||
itypeN = central atom type for Nth RDF histogram (see asterisk form below)
|
||||
jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) :ul
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
rdf = style name of this compute command :l
|
||||
Nbin = number of RDF bins :l
|
||||
itypeN = central atom type for Nth RDF histogram (see asterisk form below) :l
|
||||
jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {cutoff} :l
|
||||
{cutoff} value = Rcut
|
||||
Rcut = cutoff distance for RDF computation (distance units) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all rdf 100
|
||||
compute 1 all rdf 100 1 1
|
||||
compute 1 all rdf 100 * 3
|
||||
compute 1 all rdf 100 * 3 cutoff 5.0
|
||||
compute 1 fluid rdf 500 1 1 1 2 2 1 2 2
|
||||
compute 1 fluid rdf 500 1*3 2 5 *10 :pre
|
||||
compute 1 fluid rdf 500 1*3 2 5 *10 cutoff 3.5 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -32,7 +38,8 @@ Define a computation that calculates the radial distribution function
|
||||
(RDF), also called g(r), and the coordination number for a group of
|
||||
particles. Both are calculated in histogram form by binning pairwise
|
||||
distances into {Nbin} bins from 0.0 to the maximum force cutoff
|
||||
defined by the "pair_style"_pair_style.html command. The bins are of
|
||||
defined by the "pair_style"_pair_style.html command or the cutoff
|
||||
distance {Rcut} specified via the {cutoff} keyword. The bins are of
|
||||
uniform size in radial distance. Thus a single bin encompasses a thin
|
||||
shell of distances in 3d and a thin ring of distances in 2d.
|
||||
|
||||
@ -41,17 +48,41 @@ NOTE: If you have a bonded system, then the settings of
|
||||
interactions between atoms in the same bond, angle, or dihedral. This
|
||||
is the default setting for the "special_bonds"_special_bonds.html
|
||||
command, and means those pairwise interactions do not appear in the
|
||||
neighbor list. Because this fix uses the neighbor list, it also means
|
||||
neighbor list. Because this fix uses a neighbor list, it also means
|
||||
those pairs will not be included in the RDF. This does not apply when
|
||||
using long-range coulomb ({coul/long}, {coul/msm}, {coul/wolf} or
|
||||
similar. One way to get around this would be to set special_bond
|
||||
scaling factors to very tiny numbers that are not exactly zero
|
||||
(e.g. 1.0e-50). Another workaround is to write a dump file, and use
|
||||
the "rerun"_rerun.html command to compute the RDF for snapshots in the
|
||||
dump file. The rerun script can use a
|
||||
using long-range coulomb interactions ({coul/long}, {coul/msm},
|
||||
{coul/wolf} or similar. One way to get around this would be to set
|
||||
special_bond scaling factors to very tiny numbers that are not exactly
|
||||
zero (e.g. 1.0e-50). Another workaround is to write a dump file, and
|
||||
use the "rerun"_rerun.html command to compute the RDF for snapshots in
|
||||
the dump file. The rerun script can use a
|
||||
"special_bonds"_special_bonds.html command that includes all pairs in
|
||||
the neighbor list.
|
||||
|
||||
By default the RDF is computed out to the maximum force cutoff defined
|
||||
by the "pair_style"_pair_style.html command. If the {cutoff} keyword
|
||||
is used, then the RDF is computed accurately out to the {Rcut} > 0.0
|
||||
distance specified.
|
||||
|
||||
NOTE: Normally, you should only use the {cutoff} keyword if no pair
|
||||
style is defined, e.g. the "rerun"_rerun.html command is being used to
|
||||
post-process a dump file of snapshots. Or if you really want the RDF
|
||||
for distances beyond the pair_style force cutoff and cannot easily
|
||||
post-process a dump file to calculate it. This is because using the
|
||||
{cutoff} keyword incurs extra computation and possibly communication,
|
||||
which may slow down your simulation. If you specify a {Rcut} <= force
|
||||
cutoff, you will force an additional neighbor list to be built at
|
||||
every timestep this command is invoked (or every reneighboring
|
||||
timestep, whichever is less frequent), which is inefficient. LAMMPS
|
||||
will warn you if this is the case. If you specify a {Rcut} > force
|
||||
cutoff, you must insure ghost atom information out to {Rcut} + {skin}
|
||||
is communicated, via the "comm_modify cutoff"_comm_modify.html
|
||||
command, else the RDF computation cannot be performed, and LAMMPS will
|
||||
give an error message. The {skin} value is what is specified with the
|
||||
"neighbor"_neighbor.html command. In this case, you are forcing a
|
||||
large neighbor list to be built just for the RDF computation, and
|
||||
extra communication to be performed every timestep.
|
||||
|
||||
The {itypeN} and {jtypeN} arguments are optional. These arguments
|
||||
must come in pairs. If no pairs are listed, then a single histogram
|
||||
is computed for g(r) between all atom types. If one or more pairs are
|
||||
@ -153,4 +184,6 @@ change from zero to one at the location of the spike in g(r).
|
||||
|
||||
"fix ave/time"_fix_ave_time.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
|
||||
The keyword defaults are cutoff = 0.0 (use the pairwise force cutoff).
|
||||
|
||||
@ -123,7 +123,7 @@ The {vx}, {vy}, {vz}, {fx}, {fy}, {fz} attributes are components of
|
||||
the COM velocity and force on the COM of the body.
|
||||
|
||||
The {omegax}, {omegay}, and {omegaz} attributes are the angular
|
||||
velocity componennts of the body around its COM.
|
||||
velocity components of the body around its COM.
|
||||
|
||||
The {angmomx}, {angmomy}, and {angmomz} attributes are the angular
|
||||
momentum components of the body around its COM.
|
||||
|
||||
@ -93,7 +93,7 @@ parameters will denote the z1=h, z2=k, and z3=l (in a global since)
|
||||
zone axis of an intersecting Ewald sphere. Diffraction intensities
|
||||
will only be computed at the intersection of the reciprocal lattice
|
||||
mesh and a {dR_Ewald} thick surface of the Ewald sphere. See the
|
||||
example 3D intestiety data and the intersection of a \[010\] zone axis
|
||||
example 3D intensity data and the intersection of a \[010\] zone axis
|
||||
in the below image.
|
||||
|
||||
:c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg)
|
||||
|
||||
@ -35,7 +35,7 @@ any command that uses per-particle values from a compute as input.
|
||||
See "Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-particle values will be given dimentionless, see "units"_units.html.
|
||||
The per-particle values will be given dimensionless, see "units"_units.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ twojmax = band limit for bispectrum components (non-negative integer) :l
|
||||
R_1, R_2,... = list of cutoff radii, one for each type (distance units) :l
|
||||
w_1, w_2,... = list of neighbor weights, one for each type :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {diagonal} or {rmin0} or {switchflag} :l
|
||||
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} :l
|
||||
{diagonal} value = {0} or {1} or {2} or {3}
|
||||
{0} = all j1, j2, j <= twojmax, j2 <= j1
|
||||
{1} = subset satisfying j1 == j2
|
||||
@ -33,7 +33,10 @@ keyword = {diagonal} or {rmin0} or {switchflag} :l
|
||||
{rmin0} value = parameter in distance to angle conversion (distance units)
|
||||
{switchflag} value = {0} or {1}
|
||||
{0} = do not use switching function
|
||||
{1} = use switching function :pre
|
||||
{1} = use switching function
|
||||
{bzeroflag} value = {0} or {1}
|
||||
{0} = do not subtract B0
|
||||
{1} = subtract B0 :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -50,12 +53,12 @@ for each atom in a group.
|
||||
Bispectrum components of an atom are order parameters characterizing
|
||||
the radial and angular distribution of neighbor atoms. The detailed
|
||||
mathematical definition is given in the paper by Thompson et
|
||||
al. "(Thompson)"_#Thompson2014
|
||||
al. "(Thompson)"_#Thompson20141
|
||||
|
||||
The position of a neighbor atom {i'} relative to a central atom {i} is
|
||||
a point within the 3D ball of radius {R_ii' = rcutfac*(R_i + R_i')}
|
||||
|
||||
Bartok et al. "(Bartok)"_#Bartok2010, proposed mapping this 3D ball
|
||||
Bartok et al. "(Bartok)"_#Bartok20101, proposed mapping this 3D ball
|
||||
onto the 3-sphere, the surface of the unit ball in a four-dimensional
|
||||
space. The radial distance {r} within {R_ii'} is mapped on to a third
|
||||
polar angle {theta0} defined by,
|
||||
@ -92,7 +95,7 @@ The expansion coefficients {u^j_m,m'} are complex-valued and they are
|
||||
not directly useful as descriptors, because they are not invariant
|
||||
under rotation of the polar coordinate frame. However, the following
|
||||
scalar triple products of expansion coefficients can be shown to be
|
||||
real-valued and invariant under rotation "(Bartok)"_#Bartok2010.
|
||||
real-valued and invariant under rotation "(Bartok)"_#Bartok20101.
|
||||
|
||||
:c,image(Eqs/compute_sna_atom3.jpg)
|
||||
|
||||
@ -153,6 +156,12 @@ ordered in which they are listed
|
||||
The keyword {switchflag} can be used to turn off the switching
|
||||
function.
|
||||
|
||||
The keyword {bzeroflag} determines whether or not {B0}, the bispectrum
|
||||
components of an atom with no neighbors, are subtracted from
|
||||
the calculated bispectrum components. This optional keyword is only
|
||||
available for compute {sna/atom}, as {snad/atom} and {snav/atom}
|
||||
are unaffected by the removal of constant terms.
|
||||
|
||||
NOTE: If you have a bonded system, then the settings of
|
||||
"special_bonds"_special_bonds.html command can remove pairwise
|
||||
interactions between atoms in the same bond, angle, or dihedral. This
|
||||
@ -222,15 +231,15 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
[Default:]
|
||||
|
||||
The optional keyword defaults are {diagonal} = 0, {rmin0} = 0,
|
||||
{switchflag} = 1.
|
||||
{switchflag} = 1, {bzeroflag} = 0.
|
||||
|
||||
:line
|
||||
|
||||
:link(Thompson2014)
|
||||
:link(Thompson20141)
|
||||
[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint
|
||||
available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880
|
||||
|
||||
:link(Bartok2010)
|
||||
:link(Bartok20101)
|
||||
[(Bartok)] Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).
|
||||
|
||||
:link(Meremianin2006)
|
||||
|
||||
@ -74,7 +74,7 @@ other atoms in the simulation, not just with other atoms in the group.
|
||||
|
||||
Details of how LAMMPS computes the virial for individual atoms for
|
||||
either pairwise or manybody potentials, and including the effects of
|
||||
periodic boundary conditions is discussed in "(Thompson)"_#Thompson.
|
||||
periodic boundary conditions is discussed in "(Thompson)"_#Thompson2.
|
||||
The basic idea for manybody potentials is to treat each component of
|
||||
the force computation between a small cluster of atoms in the same
|
||||
manner as in the formula above for bond, angle, dihedral, etc
|
||||
@ -89,10 +89,10 @@ pairwise interactions between 1-4 atoms. The virial contribution of
|
||||
these terms is included in the pair virial, not the dihedral virial.
|
||||
|
||||
The KSpace contribution is calculated using the method in
|
||||
"(Heyes)"_#Heyes for the Ewald method and by the methodology described
|
||||
in "(Sirk)"_#Sirk for PPPM. The choice of KSpace solver is specified
|
||||
"(Heyes)"_#Heyes2 for the Ewald method and by the methodology described
|
||||
in "(Sirk)"_#Sirk1 for PPPM. The choice of KSpace solver is specified
|
||||
by the "kspace_style pppm"_kspace_style.html command. Note that for
|
||||
PPPM, the calcluation requires 6 extra FFTs each timestep that
|
||||
PPPM, the calculation requires 6 extra FFTs each timestep that
|
||||
per-atom stress is calculated. Thus it can significantly increase the
|
||||
cost of the PPPM calculation if it is needed on a large fraction of
|
||||
the simulation timesteps.
|
||||
@ -159,11 +159,11 @@ The per-atom array values will be in pressure*volume
|
||||
|
||||
:line
|
||||
|
||||
:link(Heyes)
|
||||
:link(Heyes2)
|
||||
[(Heyes)] Heyes, Phys Rev B 49, 755 (1994),
|
||||
|
||||
:link(Sirk)
|
||||
:link(Sirk1)
|
||||
[(Sirk)] Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013).
|
||||
|
||||
:link(Thompson)
|
||||
:link(Thompson2)
|
||||
[(Thompson)] Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009).
|
||||
|
||||
@ -138,7 +138,7 @@ This compute is part of the ASPHERE package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
This compute requires that atoms store angular momementum and a
|
||||
This compute requires that atoms store angular momentum and a
|
||||
quaternion as defined by the "atom_style ellipsoid"_atom_style.html
|
||||
command.
|
||||
|
||||
|
||||
@ -120,7 +120,7 @@ This compute is part of the BODY package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
This compute requires that atoms store angular momementum and a
|
||||
This compute requires that atoms store angular momentum and a
|
||||
quaternion as defined by the "atom_style body"_atom_style.html
|
||||
command.
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 :pre
|
||||
Define a computation that calculates the temperature of a group of
|
||||
atoms that are also in chunks, after optionally subtracting out the
|
||||
center-of-mass velocity of each chunk. By specifying optional values,
|
||||
it can also calulate the per-chunk temperature or energies of the
|
||||
it can also calculate the per-chunk temperature or energies of the
|
||||
multiple chunks of atoms.
|
||||
|
||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||
@ -122,7 +122,7 @@ concept is somewhat ill-defined. In some cases, you can use the
|
||||
{adof} and {cdof} keywords to adjust the calculated degress of freedom
|
||||
appropriately, as explained below.
|
||||
|
||||
Note that the per-chunk temperature calulated by this compute and the
|
||||
Note that the per-chunk temperature calculated by this compute and the
|
||||
"fix ave/chunk temp"_fix_ave_chunk.html command can be different.
|
||||
This compute calculates the temperature for each chunk for a single
|
||||
snapshot. Fix ave/chunk can do that but can also time average those
|
||||
@ -208,7 +208,7 @@ This compute also optionally calculates a global array, if one or more
|
||||
of the optional values are specified. The number of rows in the array
|
||||
= the number of chunks {Nchunk} as calculated by the specified
|
||||
"compute chunk/atom"_compute_chunk_atom.html command. The number of
|
||||
columns is the number of specifed values (1 or more). These values
|
||||
columns is the number of specified values (1 or more). These values
|
||||
can be accessed by any command that uses global array values from a
|
||||
compute as input. Again, see "Section
|
||||
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||
|
||||
@ -27,7 +27,7 @@ compute core_shells all temp/cs cores shells :pre
|
||||
Define a computation that calculates the temperature of a system based
|
||||
on the center-of-mass velocity of atom pairs that are bonded to each
|
||||
other. This compute is designed to be used with the adiabatic
|
||||
core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham. See
|
||||
core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1. See
|
||||
"Section 6.25"_Section_howto.html#howto_25 of the manual for an
|
||||
overview of the model as implemented in LAMMPS. Specifically, this
|
||||
compute enables correct temperature calculation and thermostatting of
|
||||
@ -114,6 +114,6 @@ temp/chunk"_compute_temp_chunk.html
|
||||
|
||||
:line
|
||||
|
||||
:link(MitchellFinchham)
|
||||
:link(MitchellFinchham1)
|
||||
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
@ -43,7 +43,7 @@ atoms, after subtracting out a spatially-averaged center-of-mass
|
||||
velocity field, before computing the kinetic energy. This can be
|
||||
useful for thermostatting a collection of atoms undergoing a complex
|
||||
flow, e.g. via a profile-unbiased thermostat (PUT) as described in
|
||||
"(Evans)"_#Evans. A compute of this style can be used by any command
|
||||
"(Evans)"_#Evans1. A compute of this style can be used by any command
|
||||
that computes a temperature, e.g. "thermo_modify"_thermo_modify.html,
|
||||
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
|
||||
|
||||
@ -75,7 +75,7 @@ atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the
|
||||
simulation, N = number of atoms in the group, k = Boltzmann constant,
|
||||
and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom
|
||||
subtracted to adjust for the removal of the center-of-mass velocity in
|
||||
each of Nx*Ny*Nz bins, as discussed in the "(Evans)"_#Evans paper.
|
||||
each of Nx*Ny*Nz bins, as discussed in the "(Evans)"_#Evans1 paper.
|
||||
|
||||
If the {out} keyword is used with a {tensor} value, which is the
|
||||
default, a kinetic energy tensor, stored as a 6-element vector, is
|
||||
@ -118,7 +118,7 @@ needed, the subtracted degrees-of-freedom can be altered using the
|
||||
|
||||
NOTE: When using the {out} keyword with a value of {bin}, the
|
||||
calculated temperature for each bin does not include the
|
||||
degrees-of-freedom adjustment described in the preceeding paragraph,
|
||||
degrees-of-freedom adjustment described in the preceding paragraph,
|
||||
for fixes that constrain molecular motion. It does include the
|
||||
adjustment due to the {extra} option, which is applied to each bin.
|
||||
|
||||
@ -126,7 +126,7 @@ See "this howto section"_Section_howto.html#howto_16 of the manual for
|
||||
a discussion of different ways to compute temperature and perform
|
||||
thermostatting. Using this compute in conjunction with a
|
||||
thermostatting fix, as explained there, will effectively implement a
|
||||
profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans.
|
||||
profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1.
|
||||
|
||||
[Output info:]
|
||||
|
||||
@ -178,5 +178,5 @@ The option default is out = tensor.
|
||||
|
||||
:line
|
||||
|
||||
:link(Evans)
|
||||
:link(Evans1)
|
||||
[(Evans)] Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986).
|
||||
|
||||
@ -27,7 +27,7 @@ function (VACF), averaged over a group of atoms. Each atom's
|
||||
contribution to the VACF is its current velocity vector dotted into
|
||||
its initial velocity vector at the time the compute was specified.
|
||||
|
||||
A vector of four quantites is calculated by this compute. The first 3
|
||||
A vector of four quantities is calculated by this compute. The first 3
|
||||
elements of the vector are vx * vx0 (and similarly for the y and z
|
||||
components), summed and averaged over atoms in the group. Vx is the
|
||||
current x-component of velocity for the atom, vx0 is the initial
|
||||
|
||||
@ -217,6 +217,10 @@ This compute is part of the VORONOI 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.
|
||||
|
||||
It also requiers you have a copy of the Voro++ library built and
|
||||
installed on your system. See instructions on obtaining and
|
||||
installing the Voro++ software in the src/VORONOI/README file.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dump custom"_dump.html, "dump local"_dump.html
|
||||
|
||||
@ -35,6 +35,7 @@ Computes :h1
|
||||
compute_erotate_sphere_atom
|
||||
compute_event_displace
|
||||
compute_fep
|
||||
compute_global_atom
|
||||
compute_group_group
|
||||
compute_gyration
|
||||
compute_gyration_chunk
|
||||
|
||||
@ -101,7 +101,7 @@ positions.
|
||||
For the {random} style, N particles are added to the system at
|
||||
randomly generated coordinates, which can be useful for generating an
|
||||
amorphous system. The particles are created one by one using the
|
||||
speficied random number {seed}, resulting in the same set of particles
|
||||
specified random number {seed}, resulting in the same set of particles
|
||||
coordinates, independent of how many processors are being used in the
|
||||
simulation. If the {region-ID} argument is specified as NULL, then
|
||||
the created particles will be anywhere in the simulation box. If a
|
||||
@ -134,6 +134,17 @@ not overlap existing atoms inappropriately, especially if molecules
|
||||
are being added. The "delete_atoms"_delete_atoms.html command can be
|
||||
used to remove overlapping atoms or molecules.
|
||||
|
||||
NOTE: You cannot use any of the styles explained above to create atoms
|
||||
that are outside the simulation box; they will just be ignored by
|
||||
LAMMPS. This is true even if you are using shrink-wrapped box
|
||||
boundaries, as specified by the "boundary"_boundary.html command.
|
||||
However, you can first use the "change_box"_change_box.html command to
|
||||
temporarily expand the box, then add atoms via create_atoms, then
|
||||
finally use change_box command again if needed to re-shrink-wrap the
|
||||
new atoms. See the "change_box"_change_box.html doc page for an
|
||||
example of how to do this, using the create_atoms {single} style to
|
||||
insert a new atom outside the current simulation box.
|
||||
|
||||
:line
|
||||
|
||||
Individual atoms are inserted by this command, unless the {mol}
|
||||
|
||||
@ -10,21 +10,25 @@ dihedral_style charmm command :h3
|
||||
dihedral_style charmm/intel command :h3
|
||||
dihedral_style charmm/kk command :h3
|
||||
dihedral_style charmm/omp command :h3
|
||||
dihedral_style charmmfsh command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
dihedral_style charmm :pre
|
||||
dihedral_style style :pre
|
||||
|
||||
style = {charmm} or {charmmfsh} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
dihedral_style charmm
|
||||
dihedral_style charmmfsh
|
||||
dihedral_coeff 1 0.2 1 180 1.0
|
||||
dihedral_coeff 2 1.8 1 0 1.0
|
||||
dihedral_coeff 1 3.1 2 180 0.5 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {charmm} dihedral style uses the potential
|
||||
The {charmm} and {charmmfsh} dihedral styles use the potential
|
||||
|
||||
:c,image(Eqs/dihedral_charmm.jpg)
|
||||
|
||||
@ -34,6 +38,14 @@ field (see comment on weighting factors below). See
|
||||
"(Cornell)"_#dihedral-Cornell for a description of the AMBER force
|
||||
field.
|
||||
|
||||
NOTE: The newer {charmmfsh} style was released in March 2017. We
|
||||
recommend it be used instead of the older {charmm} style when running
|
||||
a simulation with the CHARMM force field and Coulomb cutoffs, via the
|
||||
"pair_style lj/charmmfsw/coul/charmmfsh"_pair_charmm.html command.
|
||||
Otherwise the older {charmm} style is fine to use. See the discussion
|
||||
below and more details on the "pair_style charmm"_pair_charmm.html doc
|
||||
page.
|
||||
|
||||
The following coefficients must be defined for each dihedral type via the
|
||||
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
@ -73,13 +85,28 @@ special_bonds 1-4 scaling factor to 0.0 (which is the
|
||||
default). Otherwise 1-4 non-bonded interactions in dihedrals will be
|
||||
computed twice.
|
||||
|
||||
Also note that for AMBER force fields, which use pair styles with
|
||||
"lj/cut", the special_bonds 1-4 scaling factor should be set to the
|
||||
AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors
|
||||
(4th coeff above) must be set to 0.0. In this case, you can use any
|
||||
pair style you wish, since the dihedral does not need any
|
||||
Lennard-Jones parameter information and will not compute any 1-4
|
||||
non-bonded interactions.
|
||||
For simulations using the CHARMM force field with a Coulomb cutoff,
|
||||
the difference between the {charmm} and {charmmfsh} styles is in the
|
||||
computation of the 1-4 non-bond interactions, though only if the
|
||||
distance between the two atoms is within the switching region of the
|
||||
pairwise potential defined by the corresponding CHARMM pair style,
|
||||
i.e. within the outer cutoff specified for the pair style. The
|
||||
{charmmfsh} style should only be used when using the "pair_style
|
||||
lj/charmmfsw/coul/charmmfsh"_pair_charmm.html to make the Coulombic
|
||||
pairwise calculations consistent. Use the {charmm} style with
|
||||
long-range Coulombics or the older "pair_style
|
||||
lj/charmm/coul/charmm"_pair_charmm.html command. See the discussion
|
||||
on the "CHARMM pair_style"_pair_charmm.html doc page for details.
|
||||
|
||||
Note that for AMBER force fields, which use pair styles with "lj/cut",
|
||||
the special_bonds 1-4 scaling factor should be set to the AMBER
|
||||
defaults (1/2 and 5/6) and all the dihedral weighting factors (4th
|
||||
coeff above) must be set to 0.0. In this case, you can use any pair
|
||||
style you wish, since the dihedral does not need any Lennard-Jones
|
||||
parameter information and will not compute any 1-4 non-bonded
|
||||
interactions. Likewise the {charmm} or {charmmfsh} styles are
|
||||
identical in this case since no 1-4 non-bonded interactions are
|
||||
computed.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
dihedral_style class2 command :h3
|
||||
dihedral_style class2/omp command :h3
|
||||
dihedral_style class2/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other dihedral styles, the hybrid dihedral style does not store
|
||||
dihedral coefficient info for individual sub-styles in a "binary
|
||||
restart files"_restart.html. Thus when retarting a simulation from a
|
||||
restart files"_restart.html. Thus when restarting a simulation from a
|
||||
restart file, you need to re-specify dihedral_coeff commands.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -225,7 +225,7 @@ This bounding box is convenient for many visualization programs. The
|
||||
meaning of the 6 character flags for "xx yy zz" is the same as above.
|
||||
|
||||
Note that the first two numbers on each line are now xlo_bound instead
|
||||
of xlo, etc, since they repesent a bounding box. See "this
|
||||
of xlo, etc, since they represent a bounding box. See "this
|
||||
section"_Section_howto.html#howto_12 of the doc pages for a geometric
|
||||
description of triclinic boxes, as defined by LAMMPS, simple formulas
|
||||
for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are
|
||||
@ -331,10 +331,7 @@ bonds and colors.
|
||||
|
||||
Note that {atom}, {custom}, {dcd}, {xtc}, and {xyz} style dump files
|
||||
can be read directly by "VMD"_http://www.ks.uiuc.edu/Research/vmd, a
|
||||
popular molecular viewing program. See
|
||||
"Section 9"_Section_tools.html#vmd of the manual and the
|
||||
tools/lmp2vmd/README.txt file for more information about support in
|
||||
VMD for reading and visualizing LAMMPS dump files.
|
||||
popular molecular viewing program.
|
||||
|
||||
:line
|
||||
|
||||
@ -545,7 +542,7 @@ that the coordinate values may be far outside the box bounds printed
|
||||
with the snapshot. Using {xsu}, {ysu}, {zsu} is similar to using
|
||||
{xu}, {yu}, {zu}, except that the unwrapped coordinates are scaled by
|
||||
the box size. Atoms that have passed through a periodic boundary will
|
||||
have the corresponding cooordinate increased or decreased by 1.0.
|
||||
have the corresponding coordinate increased or decreased by 1.0.
|
||||
|
||||
The image flags can be printed directly using the {ix}, {iy}, {iz}
|
||||
attributes. For periodic dimensions, they specify which image of the
|
||||
|
||||