Compare commits

..

474 Commits

Author SHA1 Message Date
4a90bca7a3 patch 17Mar17 2017-03-17 11:29:23 -06:00
9f35b764f8 Merge pull request #424 from timattox/dpd_restart_fix
Remove unneeded restart_peratom flags in USER-DPD package
2017-03-17 11:19:04 -06:00
7ca5dce2f5 Merge pull request #423 from timattox/master_bugfix_irregular
bugfix for irregular::create_atom and create_data
2017-03-17 11:18:52 -06:00
fcc3b3bd36 Merge pull request #421 from akohlmey/memory-output
improve memory usage reporting in info and output class
2017-03-17 11:18:08 -06:00
53a3877c3d Merge pull request #420 from rbberger/doc_anchor_check
Add utility to detect duplicate anchors in docs
2017-03-17 11:17:28 -06:00
a936b7b2ab Merge pull request #419 from rbberger/python_fixes
Library interface fixes, Python example fixes and better Python 3 compatibility
2017-03-17 11:16:58 -06:00
a91b851f3d Merge pull request #416 from lukin17/filter_corotate
Added fix filter/corotate.
2017-03-17 11:14:59 -06:00
d31c591b60 Remove unneeded restart_peratom flags 2017-03-17 09:40:39 -06:00
ae5ebf6001 add support for MPI_Request_free() to MPI STUBS library 2017-03-17 11:40:09 -04:00
7fb741d53d Revert "In irregular.cpp use simpler and slightly faster MPI_Reduce_scatter_block()"
This reverts commit 8e75616c14.
2017-03-17 11:35:59 -04:00
8e75616c14 In irregular.cpp use simpler and slightly faster MPI_Reduce_scatter_block() 2017-03-17 03:02:42 -04:00
411c069ba6 BUGFIX: Prevent possible deadlock in Irregular::create_atom and create_data 2017-03-17 03:02:19 -04:00
ac82d041cc ignore package pair style 2017-03-16 23:12:49 -04:00
621d7d5ce0 Correct off-by-one error in line number reported 2017-03-16 23:05:03 -04:00
1bb9c7da42 Remove some duplicate anchors in documentation 2017-03-16 22:36:13 -04:00
f893104b18 Add anchor_check to doc Makefile 2017-03-16 22:21:55 -04:00
efb2a942e0 Add utility to detect duplicate anchors in documentation files 2017-03-16 22:21:12 -04:00
070ce33a13 improve memory usage reporting in info and output class 2017-03-16 18:35:04 -04:00
f604f86cfc add fix filter/corotate to some administrative files 2017-03-16 15:08:17 -04:00
bed288339e simplify and shorten examples for fix filter/corotate and combine into a single folder 2017-03-16 15:02:50 -04:00
1995f434f3 fix some more code formatting issues, add newline at EOF 2017-03-16 14:24:28 -04:00
db0281b4df Merge branch 'filter_corotate' of https://github.com/lukin17/lammps into pull-416 2017-03-16 12:14:09 -04:00
2f5e711acd Merge remote-tracking branch 'upstream/master' into filter_corotate 2017-03-16 10:00:12 +01:00
bdb7669e27 Fixed coding style. 2017-03-16 09:44:07 +01:00
cda8213892 Added Python matplotlib plot example 2017-03-16 01:41:28 -04:00
ef940d226c Improve Python 3 compatibility of pizza tools and simplify read_snapshot code 2017-03-16 01:38:05 -04:00
36da9223ec Fix dump cfg in vizplotgui_atomeye.py example 2017-03-15 22:55:51 -04:00
eb29ef32b1 Fix space/tab error in pizza/gl.py 2017-03-15 22:43:00 -04:00
29550d472d Fix dump cfg in viz_atomeye.py example 2017-03-15 22:31:14 -04:00
79cae51156 Document property 'uses_exceptions' of Python interface 2017-03-15 22:20:30 -04:00
a210867025 Fixes lammps_create_atoms library function and its Python interface variant
The interface of that function has changed and includes two additional
parameters, which haven't been added to the Python interface either.
This showed up by trying to run the simple.py example.
2017-03-15 22:13:06 -04:00
0262a54ecf Fix Python 3 compatibility by encoding strings passed as c_char_p 2017-03-15 22:00:43 -04:00
0d8f74f0c5 Merge branch 'filter_corotate' of https://github.com/lukin17/lammps into pull-416 2017-03-15 18:54:41 -04:00
3a2da51a82 Merge pull request #413 from ohenrich/user-cgdna
User cgdna
2017-03-15 13:12:43 -06:00
b1c59126f7 Merge pull request #415 from stanmoore1/kk_qeq
Add neigh/qeq option to Kokkos package
2017-03-15 13:12:08 -06:00
4c77838514 Merge pull request #414 from sstrong99/flow-gauss-doc-addition
flow/gauss documentation update
2017-03-15 13:11:26 -06:00
f9468f46f5 Merge pull request #412 from timattox/master_typofix
Correct a typo in the fix_halt.txt documentation.
2017-03-15 13:10:58 -06:00
c3ce3747e0 Added fix filter/corotate. 2017-03-15 11:34:01 +01:00
fdc390ad05 Tweaking docs for Kokkos package 2017-03-14 14:08:14 -06:00
580f6b567b Add neigh/qeq option to Kokkos 2017-03-14 10:44:31 -06:00
27b1c33a16 updated the NEMD discussion in the how-to documentation about flow/gauss 2017-03-14 10:39:06 -06:00
7a75cd111c Minor updates in documentation and setup tool, merge before upgrade to oxDNA2 2017-03-14 11:39:09 +00:00
23b8287933 Updated documentation and simple setup tool 2017-03-14 11:36:44 +00:00
4cfe623bc1 Correct a typo in the fix_halt.txt documentation. 2017-03-10 21:30:03 -05:00
f871ecdc67 change to RCB cuts in load-balancing commands, also a new option for fix halt 2017-03-10 15:55:07 -07:00
470353e320 Merge pull request #408 from giacomofiorin/colvars-update-2017-03-10
Colvars update 2017-03-10
2017-03-10 14:51:16 -07:00
ffe02d20ca Merge pull request #406 from stanmoore1/kokkos_bugfix
Fix Kokkos issues
2017-03-10 14:51:04 -07:00
f70752c18f Include PDF of Colvars doc missing in previous commit 2017-03-10 15:58:35 -05:00
07fcfd6d54 Merge pull request #405 from stanmoore1/ev_setup_kk
Add alloc flag to ev_setup
2017-03-10 11:01:51 -07:00
c97feafca6 Merge pull request #407 from frobnitzem/master
Add error check to lammps_gather_atoms/lammps_scatter_atoms in library.cpp
2017-03-10 11:00:30 -07:00
b20d95d495 Merge pull request #402 from timattox/USER-DPD_spelling
Fix spelling "correction" from 3a054d1a: iterations not interactions and imd_writen not imd_written
2017-03-10 10:59:43 -07:00
0b4adaa9e6 Backport typo fixes that were not previously pushed to the Colvars repository 2017-03-10 09:24:46 -05:00
5fe6206638 Update Colvars module to version 2017-03-10 2017-03-10 09:16:58 -05:00
65964f3b31 Add error check to lammps_gather_atoms/lammps_scatter_atoms in library.cpp 2017-03-09 16:49:07 -05:00
b28b84d444 Fix half from full nlist issue with Kokkos 2017-03-09 14:00:27 -07:00
a001a5ceb0 Fixing memory overflow issue in comm_kokkos 2017-03-09 12:20:49 -07:00
2ef713ea1b restore incorrect change due to spell checking in fix imd 2017-03-08 16:40:16 -05:00
1f6c1942b3 Disable allocation of per-atom arrays in ev_setup for Kokkos styles 2017-03-08 12:42:44 -07:00
683023d820 Adding alloc flag to ev_setup 2017-03-08 12:36:23 -07:00
42d3a8f498 Fix spelling "correction" from 3a054d1a: iterations not interactions. :-) 2017-03-07 15:41:06 -05:00
79b005dc3d patch 7Mar17 2017-03-07 11:40:07 -07:00
a2fa6ef452 Merge pull request #393 from akohlmey/small-bugfixes
Small bugfixes
2017-03-07 09:56:03 -07:00
920641bbff Merge pull request #399 from rbberger/docs_spelling_fixes
Correct spelling errors in documentation
2017-03-07 09:47:22 -07:00
c2aabdec22 Merge pull request #398 from stanmoore1/kokkos_changes
Kokkos changes
2017-03-07 09:46:54 -07:00
e4aa735a68 Merge pull request #395 from timattox/USER-DPD_bugfix
USER-DPD: a variety of small but important bugfixes
2017-03-07 09:46:40 -07:00
4af6557568 Merge pull request #394 from jaapkroe/kolmogorov-crespi
Added Kolmogorov-Crespi potential
2017-03-07 09:46:08 -07:00
0798885bdb Merge pull request #389 from akohlmey/update-agni-potential
update AGNI potential for Al, reference runs and output and citation
2017-03-07 09:35:31 -07:00
020e75e7ef Merge pull request #386 from akohlmey/doc-consistentcy
improve consistency of manual
2017-03-07 09:33:14 -07:00
d6866f1cfd Merge pull request #376 from v0i0/airebo-bondorderLJ-fixes
Fixes for PairAIREBO::bondorderLJ
2017-03-07 09:32:30 -07:00
efaa4c6710 new neigh_modify exclude option, other SNAP changes 2017-03-07 09:31:12 -07:00
08baaa9d8e Fix more typos in tools 2017-03-07 01:00:25 -05:00
359af419a7 Fix typo in python README 2017-03-07 00:58:35 -05:00
21be86c423 Fix typos in txt2html 2017-03-07 00:58:03 -05:00
d6800405a5 Fix more typos in examples 2017-03-07 00:57:23 -05:00
3a054d1a82 Fix more typos in src files 2017-03-07 00:55:01 -05:00
007f3c66a0 Third batch of spelling fixes in manual 2017-03-07 00:51:31 -05:00
32708860a9 Add remaining false positives 2017-03-07 00:27:35 -05:00
fc9eebb936 Added spellcheck utility to documentation build
Uses the sphinxcontrib-spelling extension and requires PyEnchant and
aspell-en to be installed.

Adds the optional make target 'spelling' which produces the file
spelling/output.txt. It contains all words it detects.

Due to the large number of false positives, words in
utils/sphinx-config/false_positives.txt are ignored.
2017-03-05 21:23:41 -05:00
dd76ac5010 Fix typos in tools folder 2017-03-05 21:18:01 -05:00
17486a9319 Convert USER/lb/polymer files to UNIX line endings and remove trailing whitespace 2017-03-05 21:16:21 -05:00
778a79b8ee Fix typos in examples folder 2017-03-05 21:10:33 -05:00
7dd60f9737 Fix typos in src files 2017-03-05 21:03:40 -05:00
084d831bce Second batch of spelling fixes in manual 2017-03-05 21:02:51 -05:00
e261bef7bb Spelling fixes in source files 2017-03-05 18:30:39 -05:00
fd78486086 First batch of spelling fixes in manual 2017-03-05 18:27:38 -05:00
6382d3c89a Improving memory access in comm_kokkos 2017-03-03 09:14:47 -07:00
763a00e8b0 USER-DPD: pair_multi_lucy_rx bugfix for systems with multiple atom types 2017-03-03 09:29:17 -05:00
ce1a3f25e1 Merge branch 'pair_write_fix' of https://github.com/andeplane/lammps into small-bugfixes 2017-03-03 08:11:55 -05:00
eaf7ed7707 Print error if pair_write does not get correct number of arguments 2017-03-02 21:25:27 -08:00
9a560b9091 USER-DPD bugfix: make atom_vec_dpd work properly with atom_vec_hybrid.
We were sending too much data during pack_comm_hybrid/unpack_comm_hybrid.
2017-03-01 15:22:28 -05:00
8a0e44db83 updated documentation and ev_tally 2017-03-01 16:13:44 +01:00
1dc78a7e58 USER-DPD: correct off-by-one errors in PairMultiLucyRX::coeff() 2017-02-28 17:45:21 -05:00
7a593c2fc8 USER-DPD: correct off-by-one errors in PairTableRX::coeff() 2017-02-28 14:25:03 -05:00
3ac74a1d69 update lammps.book file for latest doc changes 2017-02-28 11:21:18 -05:00
3605208a45 add a few more missing details for integrating pair style kolmogorov/crespi/z 2017-02-28 11:16:27 -05:00
9b01949cac make the introduction of the command-by-category list less confusing 2017-02-28 11:05:40 -05:00
323570c920 added jpg for kolmogorov-crespi-z equations and fixed hybrid/overlay check in source 2017-02-28 15:39:01 +01:00
df13a7a003 email added 2017-02-28 15:12:35 +01:00
a1b40b902d Added Kolmogorov-Crespi potential 2017-02-28 14:59:13 +01:00
b921b69f47 implement bugfix from issue #388
this closes #388
2017-02-27 18:22:21 -05:00
c0cf50bce5 trigger recomputing ichunk between runs unless requested otherwise
this fixes #390
2017-02-27 18:19:59 -05:00
2708c86836 fix typos: moleclue -> molecule
this closes #386
2017-02-27 18:03:18 -05:00
9999f363a1 remove outdated log files, too. 2017-02-24 15:34:59 -05:00
a18b4ef4b0 update AGNI potential for Al, reference runs and output and citation 2017-02-24 15:33:13 -05:00
3626496c7c Corrected comment in 3' to 5' directionality check 2017-02-22 20:06:49 +00:00
458b6749e7 Corrected comment in 3' to 5' directionality check. 2017-02-22 20:03:41 +00:00
20a9ffe69d improve consistency and resolve dead links for USER-CGDNA related doc files 2017-02-21 21:27:34 -05:00
49e83b4348 patch 21Feb17 sync with GHub 2017-02-21 16:07:26 -07:00
6e89ccd522 Merge pull request #385 from akohlmey/collected-small-bugfixes
collected small bugfixes and updates
2017-02-21 15:59:06 -07:00
53f3df5bfc Merge pull request #384 from lammps/another_neigh_refactor
more neighbor list changes, some new options
2017-02-21 15:57:23 -07:00
3dbbea342a remove a debug print line 2017-02-21 15:57:03 -07:00
b70c670aac Merge pull request #383 from stanmoore1/rshan_class2_kk
Kokkos version of class2 bond, angle, dihedral, and improper from Ray Shan
2017-02-21 15:52:10 -07:00
1d17cae407 Merge pull request #382 from timattox/master_kokkos_neigh_bugfix
neighbor_kokkos.cpp: Don't call grow() on neighbor lists that are copies
2017-02-21 15:51:35 -07:00
429264a12b Merge pull request #380 from hheenen/core_shell_documentation
updated documentation and examples for coreshell
2017-02-21 15:50:53 -07:00
d001a09345 Merge pull request #379 from ndtrung81/pppm-gpu-compute-group-group
Fixed bugs with pppm/gpu when used with compute group/group
2017-02-21 15:50:28 -07:00
cb9d42da08 Merge pull request #378 from timattox/USER-DPD_ssa_update
USER-DPD: performance optimizations to ssa_update() in fix_shardlow
2017-02-21 15:50:07 -07:00
7185ec92b3 Merge pull request #377 from stanmoore1/kokkos_update
Kokkos library update
2017-02-21 15:49:50 -07:00
1cd4c48ccc new SNAP potential for W 2017-02-21 15:49:21 -07:00
a88136c3f5 correct a logic bug in fix wall/gran/region 2017-02-17 17:58:24 -05:00
ce20c7ffe9 remove debug code 2017-02-17 12:42:07 -05:00
4a80df3a99 more neighbor list changes, some new options 2017-02-15 16:45:33 -07:00
5f93fad012 Add copymode protection to class2 styles 2017-02-15 13:56:16 -07:00
ccaec315db Updating docs for Kokkos class2 2017-02-15 13:00:33 -07:00
c6c1852b3b Fix a few issues with Kokkos class2 files 2017-02-15 12:44:54 -07:00
69a8e19dc5 Add files from Ray Shan for Kokkos version of class2 angle, bond, etc. 2017-02-15 12:29:52 -07:00
928947dcea neighbor_kokkos.cpp: Don't call grow() on neighbor lists that are copies.
This corresponds to a bugfix from commit 9161bd98 on neighbor.cpp
2017-02-15 11:49:34 -05:00
904609a7a3 Fixed issue with switching function derivative in PairAIREBO::FLJ
Since we compute dvdw as d vdw / d rij, we have to also compute
dslw as d slw / d rij. Currently, we compute -1/r d slw/d rij,
which leads to incorrect results when the two are later combined.
Alternatively, one could also modify dvdw to be -1/r d vdw/d rij,
which would be a more standard way to do LJ calculations, but this
way seems more consistent.
2017-02-15 16:38:13 +01:00
fc3505fac4 Fixed a number of issues after verifying against the KIM version 2017-02-15 16:37:29 +01:00
48070011d9 update names in example, too 2017-02-14 07:42:36 -05:00
0fb8dacc00 one more Finchham to Fincham change 2017-02-14 07:41:05 -05:00
6b923476b9 updated documentation and examples for coreshell 2017-02-14 13:14:22 +01:00
20806dd86a Fixed bugs with pppm/gpu when used with compute group/group 2017-02-14 00:26:55 -06:00
90e5ae965d Add missing flags to Kokkos Makefile 2017-02-13 11:19:46 -07:00
15008c9d18 USER-DPD: performance optimizations to ssa_update() in fix_shardlow
Overall improvements range from 2% to 18% on our benchmarks
1) Newton has to be turned on for SSA, so remove those conditionals
2) Rework the math in ssa_update() to eliminate many ops and temporaries
3) Split ssa_update() into two versions, based on DPD vs. DPDE
4) Reorder code in ssa_update_*() to reduce register pressure
2017-02-13 13:11:19 -05:00
33af7ab248 Remove merge line 2017-02-13 10:59:22 -07:00
8f9b2aca06 Removing unused files in Kokkos lib 2017-02-13 10:53:51 -07:00
383da816c2 Updating Kokkos lib 2017-02-13 10:50:34 -07:00
a323ca1edd Moved variable declarations to front for consistency 2017-02-13 18:11:09 +01:00
de4af6f15d In PairAIREBO::bondorderLJ correct omega sum d/drij.
The code tries to make this distinction between the real distance (r23) and the facticious one (rij), but does not do so very well.
It is better if those two variables have the same value everywhere, and apply the correction where necessary.
The current way to use the values is incorrrect.

Remove those calculations that effectively are derivatives w.r.t. |rij| (the facticious distance), is constant and thus the chained derivative (d|rij|/dRij) is always zero.

Apply the corrections due to drij/dRij in the sum omega term.
2017-02-13 18:11:09 +01:00
0e16dc3ead In PairAIREBO::bondorderLJ: p^sigma pi account for d/drij derivatives.
The bonderorderLJ function operates on a facticious distance |rij|, i.e. everything gets calculated "as if" atoms i and j were a given distance alpha apart.
Mathematically, bondorderLJ is a function of rij (a vector), that is (in terms of the real distance Rij) rij = alpha * Rij/|Rij|.
When we calculate the forces in bondorderLJ, we have to make sure to chain in this derivative whenever we calculate derivatives w.r.t. rij.
The right correction, as it turns our, is Fij = alpha / |Rij| * (Identity(3,3) - Rij * Rij^T / |Rij|^2) * fij.
This commit only fixes this for the p_ij^sigma pi terms, which were modified to separate out the d/drij derivative in the cosine calculation.
Now, derivatives are taken w.r.t. the connecting edges instead of the edge points.
2017-02-13 18:11:01 +01:00
1b3f6e257a In PairAIREBO::bondorderLJ only compute torsion term once.
Since Etmp (representing sum_kijl omega_kijl * w_ik * w_jl) is not reset between the forward and reverse pass, the value used by later calculation will be twice the expected values.
One could instead reset Etmp between these passes, but there really is no reason to calculate it twice.
2017-02-13 17:14:52 +01:00
cb982f2f28 sync 13Feb17 patch back to GH 2017-02-13 09:05:03 -07:00
4843296d4e Merge pull request #372 from akohlmey/fft-cleanup
simplify FFT3d code by removing support for outdated FFT libraries
2017-02-13 08:53:13 -07:00
2bdda8f6c0 patch 12Feb17 - change int to tagint for compute group/group 2017-02-13 08:40:54 -07:00
0068ef5616 added molecule option to compute group/group command 2017-02-10 09:25:32 -07:00
02b0e6cc55 Merge pull request #375 from akohlmey/small-updates-and-fixes
Small updates and fixes
2017-02-10 09:23:51 -07:00
fbb24c2406 Merge pull request #374 from agiliopadua/master
Updated polarizer.py in USER-DRUDE to use coul/long/cs
2017-02-10 09:22:22 -07:00
0efd209480 Merge branch 'master' into user-cgdna 2017-02-09 11:50:03 +00:00
a5f830c40c fix typo
(cherry picked from commit 6410797697)
2017-02-08 14:33:45 -05:00
8c074a363a Merge branch 'master' into small-updates-and-fixes 2017-02-08 14:32:44 -05:00
27aca14094 Updated polarizer.py to use coul/long/cs 2017-02-04 15:02:08 +01:00
191453e1c7 Merge branch 'master' into fft-cleanup 2017-02-03 16:53:10 -05:00
207adc3968 Merge pull request #373 from stanmoore1/kk_more_bugfixes
Fixing Kokkos per-atom energy/virial issues
2017-02-03 14:45:31 -07:00
84c517159d Merge pull request #368 from Pakketeretet2/kokkos_morse
Kokkos morse
2017-02-03 14:45:07 -07:00
6ca377436f Merge pull request #366 from rbberger/kokkos_lammps_bigbig_fix
Fix data type of molecule array in npair_kokkos.h
2017-02-03 14:43:33 -07:00
dc34a32602 Merge pull request #362 from ibaned/warnings2
fix Kokkos+kspace warnings
2017-02-03 14:43:12 -07:00
067119f6c6 Adding missing friend statement to pair_lj_class2_coul_cut_kokkos 2017-02-02 15:21:30 -07:00
1834a5e46c Fixing more Kokkos per-atom and fdotr issues 2017-02-02 15:21:21 -07:00
6a4918b39a Fixing typo in pair_buck_coul_cut_kokkos 2017-02-02 15:21:05 -07:00
5da0d39392 Fixing fdotr in pair_buck_coul_cut_kokkos 2017-02-02 13:35:51 -07:00
6f92429602 Fixing per-atom ev issue 2017-02-02 13:34:27 -07:00
38e0e4bb69 Add missing typedef in Kokkos pair styles 2017-02-02 13:24:05 -07:00
daf9f95381 Fixing Kokkos per-atom e/v issue 2017-02-02 13:09:52 -07:00
6595fde0a1 explain in more detail the handling of error checking for numerical inputs 2017-02-02 11:58:12 -05:00
6bcec9c61d Merge pull request #2 from stanmoore1/kk_tag_bugfixes
Fixing tagint and imageint issues in Kokkos package
2017-02-02 08:57:21 -05:00
9d1991bf84 remove support for obsolete legacy FFT libraries and point -DFFT_FFTW to FFTW3 2017-02-02 08:10:23 -05:00
0a87b7443a Updated contributing authors and docs 2017-02-02 13:42:47 +01:00
7ee45ec5f3 Fixing tagint and imageint issues in Kokkos package 2017-02-01 11:52:27 -07:00
d4c9e2500b Ported Morse to KOKKOS 2017-02-01 17:45:21 +01:00
6232073d3b Removed traces of pair morse/kk 2017-02-01 17:39:37 +01:00
ed59193d13 Removed traces of pair morse/kk 2017-02-01 17:39:06 +01:00
67bed8e853 Merge pull request #1 from akohlmey/tagint-issue
Fix additional tagint issue in fix qeq/reax/kk
2017-01-31 18:34:35 -05:00
bcb1d94b9a silence compiler warning about dead code 2017-01-31 18:28:04 -05:00
fbe30b5683 correct issue with compiling for -DLAMMPS_BIGBIG in fix qeq/reax/kk 2017-01-31 18:13:44 -05:00
9ef55fedf7 Merge branch 'kokkos_lammps_bigbig_fix' of https://github.com/rbberger/lammps into tagint-issue 2017-01-31 17:23:51 -05:00
997142a4c1 Merge pull request #364 from stanmoore1/kk_triclinic_neighlist
Add triclinic neighbor list support to Kokkos
2017-01-30 07:27:02 -07:00
033b07fdb7 Merge pull request #363 from ibaned/obey-datamask
Fix GPU sync bugs
2017-01-30 07:26:49 -07:00
ed0a347fbf Merge branch 'master' into user-cgdna 2017-01-30 10:31:50 +00:00
51a0b6b445 Fix data type of molecule array in npair_kokkos.h
This showed up when trying to compile with -DLAMMPS_BIGBIG.
Fixes issue #365
2017-01-28 07:49:08 -05:00
59f4a77dd5 Whitespace change to npair_kokkos 2017-01-27 15:17:39 -07:00
579cc6d7aa More tweaks to npair_kokkos for triclinic 2017-01-27 15:13:37 -07:00
5afd3e995b Adding support to npair_kokkos for triclinic-newton-on neighborlists 2017-01-27 14:18:01 -07:00
2a6f5e651c more preference of datamask over custom sync
see commit 09fc8b0 for details on why
2017-01-27 09:35:55 -07:00
09fc8b0bd7 kspace & dihedral can't do their own sync/modify
because the verlet_kokkos system has
a "clever" optimization which will
alter the datamasks before calling sync/modify,
so the datamask framework must be
strictly obeyed for GPU correctness.
(the optimization is to concurrently
compute forces on the host and GPU,
and add them up at the end of an iteration.
calling your own sync will overwrite
the partial GPU forces with the
partial host forces).
2017-01-27 08:39:55 -07:00
e5d0bde783 pppm_kokkos: remove useless statement 2017-01-27 08:35:37 -07:00
9daf7fb650 pppm_kokkos: don't shadow member variables 2017-01-27 08:35:37 -07:00
b5d622c6a3 pppm_kokkos: remove unused variables 2017-01-27 08:35:37 -07:00
2023fa28e0 consistent #ifdefs for fft3d variable (2)
this variable is only used when FFTW3
is enabled, so its declaration and
initialization should be protected
under the same conditions to avoid
compiler warnings
2017-01-27 08:35:37 -07:00
5b29515849 fft3d: use C++ loop declarations
the variable (offset) is only
used in a subset of numerous
scenarios with #ifdef, it seems
better just to have each loop
declare it as needed.
(avoids compiler warnings)
2017-01-27 08:35:37 -07:00
5b18421dd2 fft3d : remove unused variables 2017-01-27 08:35:37 -07:00
cf95ea0709 fft3d: only declare variables when used
avoids compiler warnings
2017-01-27 08:35:36 -07:00
6a74a81da0 consistent #ifdefs for fft3d variable
this variable is only used when FFTW3
is enabled, so its declaration and
initialization should be protected
under the same conditions to avoid
compiler warnings
2017-01-27 08:35:36 -07:00
f0a4ed615d add missing KOKKOS_INLINE_FUNCTION for params 2017-01-27 08:35:36 -07:00
cfe818a175 remove unused variables from fix_cmap 2017-01-27 08:35:36 -07:00
f8506fee23 sync GHub with SVN 2017-01-26 14:06:43 -07:00
18e5584311 Merge pull request #354 from stanmoore1/kokkos_bugfixes
Kokkos bugfixes
2017-01-26 13:51:47 -07:00
851f80464f Merge pull request #361 from akohlmey/user-omp-fix-per-atom-data
fix USER-OMP bug on per-atom data with hybrid styles
2017-01-26 13:50:13 -07:00
5971d4c994 Merge pull request #358 from ibaned/warnings
warning fixes (Kokkos+CUDA)
2017-01-26 13:49:56 -07:00
868d95f0a5 Merge pull request #352 from akohlmey/fix-skip-with-ghost-issue
Fix skip with ghost issue
2017-01-26 13:47:12 -07:00
a5ff35435a Merge pull request #351 from timattox/USER-DPD_pair_exp6_bugfix
USER-DPD: Possible uninitialized variable in pair_exp6_rx.cpp bugfix.
2017-01-26 13:45:45 -07:00
8b7bd9d88e fix bug where per atom data for USER-OMP was reducing the wrong arrays with hybrid styles 2017-01-26 14:59:10 -05:00
149f37e764 Corrected reference to Fig.1 2017-01-26 19:08:59 +00:00
672bbbe494 add more missing KOKKOS_INLINE_FUNCTION attributes 2017-01-25 16:03:11 -07:00
03c9c46533 add missing KOKKOS_INLINE_FUNCTION attributes 2017-01-25 15:49:05 -07:00
e992bfe510 remove unused variable 2017-01-25 15:40:52 -07:00
053ee54a27 remove unused variable 2017-01-25 15:38:41 -07:00
1074c6734b add missing return keywords 2017-01-25 15:37:27 -07:00
60b48c9d66 add missing KOKKOS_INLINE_FUNCTION attributes
this structure gets put inside a DualView,
so these members need to be able to execute
on the GPU
2017-01-25 15:36:24 -07:00
3d40b51708 remove unused variable 2017-01-25 15:24:52 -07:00
effbe18c46 fix domain boundary indexing
the compiler pointed out that
boundary[2][2] doesn't exist.
If I understand this correctly,
those checks should be against
boundary[*][0].
2017-01-25 15:24:01 -07:00
6328beb7d7 fix double-return warning
this #ifdef adds a return statement
for little endian machines, but leaves
the old one, which the compiler comlains
is unreachable. this commit combines
the conditionals so we can use #else
2017-01-25 15:22:42 -07:00
26c8d3d98f Fixing GPU memory issue in fix_langevin_kokkos 2017-01-25 12:53:55 -07:00
73177d650d Fixing GPU memory issue in domain_kokkos 2017-01-25 11:18:03 -07:00
b5cb74bd33 skip list build is compatible with NP_GHOST 2017-01-23 19:21:48 -05:00
31976d1dee skip list definition was missing NP_HALFFULL flag 2017-01-23 19:20:05 -05:00
c8260af37c Possible uninitialized variable in USER-DPD/pair_exp6_rx.cpp bugfix.
Added explicit initialization (to zero) for several variables inside the
inner j-loop to avoid using them uninitialized or from prior iterations
within rmOldij_12 == 0.
2017-01-23 13:34:51 -05:00
caea8973a3 add neighbor list kind output to screen 2017-01-20 13:24:09 -07:00
aa0ad9b483 Merge pull request #349 from akohlmey/collected-small-fixes
collected fixes and improvements
2017-01-20 13:19:43 -07:00
5d0e4e1ba9 Merge pull request #346 from stanmoore1/kokkos_fixes
Kokkos fixes
2017-01-20 13:15:16 -07:00
f8d3c4c740 Merge pull request #345 from timattox/USER-DPD_another_zero_compute
USER-DPD another zero compute optimization
2017-01-20 13:14:59 -07:00
e6996121d1 remove dead code 2017-01-20 14:30:46 -05:00
fbfb1df5eb fix typo causing wrong neighbor list copy selections 2017-01-19 20:47:10 -05:00
9a299875da simplified neighbor list copying to avoid possible same-timestep re-build issues 2017-01-19 17:01:15 -07:00
fc94f1bd18 Fixing GPU memory issues in Kokkos 2017-01-19 12:14:25 -07:00
5ce8e2fbae Fixing GPU memory issue in modify_kokkos, need to cherry pick back to Master 2017-01-19 12:13:48 -07:00
f6cd98636b USER-DPD: Also apply "check if a0 is zero" optimization to pair_dpd_fdt
This relates to commit 4eb08a5822 that was applied to pair_dpd_fdt_energy
2017-01-18 16:17:11 -05:00
05cafb716f USER-DPD: cleanup initialization of splitFDT_flag in pair_dpd_fdt.cpp 2017-01-18 15:51:50 -05:00
3af4b3c28c Merge pull request #337 from ohenrich/user-cgdna
Added source code and documentation for USER-CGDNA
2017-01-18 11:31:35 -07:00
7fc0970587 Merge pull request #344 from timattox/USER-DPD_zero_compute
USER-DPD: Skip a0*stuff computations, if a0 was set to zero in pair_coeff
2017-01-18 11:31:14 -07:00
93262b52b4 Merge pull request #343 from timattox/USER-DPD_bugfix_molecule
USER-DPD: bugfix for a segfault when using MOLECULE and DPD together.
2017-01-18 11:30:58 -07:00
4eb08a5822 USER-DPD: Skip a0*stuff computations, if a0 was set to zero in pair_coeff.
This saves around 10% of the runtime for many of our tests using SSA.
2017-01-17 15:55:39 -05:00
01609f55e2 USER-DPD: bugfix for a segfault when using MOLECULE and DPD together. 2017-01-17 12:47:59 -05:00
d2fc88a626 patch 17Jan17 2017-01-17 10:14:53 -07:00
c52a26382f Merge pull request #339 from akohlmey/fixes-for-srp-example
Fixes for srp example
2017-01-17 09:36:28 -07:00
ad4d299975 Merge pull request #335 from stanmoore1/neighbor_fixes
Neighbor fixes
2017-01-17 09:33:25 -07:00
83408b195f Merge pull request #342 from epfl-cosmo/ipi-multiinit-bug
Bugfix in the fix_ipi initialization - prevents multiple open_socket calls
2017-01-17 09:14:03 -07:00
cd7bdf9251 Merge pull request #341 from stanmoore1/qeq_kk_neighlist
Make fix_qeq_reax_kokkos request its own neighbor list
2017-01-17 09:13:47 -07:00
8c5b108900 Merge pull request #340 from stanmoore1/fix_rx_neighborlist
Make fix_rx request its own neighbor list
2017-01-17 09:13:27 -07:00
c19d2011bb Merge pull request #334 from sstrong99/flow_gauss_changeRef
Updated the reference for the flow/gauss method
2017-01-17 09:12:22 -07:00
973bef4d45 Merge pull request #332 from akohlmey/coord-atom-orientorder-atom-enhancements
Coord atom orientorder atom enhancements
2017-01-17 09:11:45 -07:00
1b9e50c8cb Merge pull request #331 from timattox/USER-DPD_fix_example_typo
USER-DPD: fix a typo in the DPD-H example input; update reference output.
2017-01-17 09:08:14 -07:00
252e07e083 Merge pull request #330 from akohlmey/collected-small-bugfixes
Collected small bugfixes
2017-01-17 09:08:00 -07:00
74a661ae26 Merge pull request #328 from akohlmey/print-last-command-on-error
print the last input line, when error->all() is called
2017-01-17 09:05:19 -07:00
d8bc590aaf Merge pull request #327 from stanmoore1/kokkos_lib_update
Updating Kokkos lib
2017-01-17 09:04:12 -07:00
c9bea60710 Merge pull request #326 from Pakketeretet2/github-tutorial-update
Updated images of succesful merge.
2017-01-17 09:03:46 -07:00
5cd856c97f fix spring doc page update 2017-01-17 09:02:56 -07:00
2f13365cf5 avoid spurious error message, when no storage fix is active/used 2017-01-16 17:08:00 -05:00
0a2b78acb8 rather than adjusting the communication cutoff, we just print out the minimum value needed and error out
i suspect, this communication cutoff adjustment was included into the code before it was possible to separately set it via comm_modify. stopping with an error message printing the needed/current value is cleaner, in keeping with other modules in LAMMPS and much less problematic.
2017-01-16 15:47:02 -05:00
3f46b6d782 fix bugs from incorrect code synchronization 2017-01-16 11:15:54 -05:00
5abd6e5122 reordering operations in Pair::init_style() to avoid segfaults w/o a kspace style 2017-01-16 11:08:48 -05:00
f3a82f454e Included a flag to prevent multiple open_socket calls if run is included multiple times in the LAMMPS input 2017-01-16 08:42:23 +01:00
473a3ebeef fix for bug with compute rdf with pair reax/c. we must not copy a neighbor list, if newton settings are not compatible
an alternate route to address this issue would be to allow an "ANY" setting for neighbor list requests and then query the neighbor list for newton setting instead of the force class.
2017-01-15 12:05:19 -05:00
b220850377 Removing neighbor list hack in fix_qeq_reax_kokkos 2017-01-14 16:16:02 -07:00
fa00e0593f Make fix_rx request its own neighbor list 2017-01-14 15:39:37 -07:00
4a09399dc6 during setup, checking timestep doesn't seem to be sufficient. comparing bins and stencil point, too.
in addition, relevant pointers were not properly initialized to NULL
2017-01-14 17:13:22 -05:00
5821fe8dd5 correct out-of-bounds accesses 2017-01-14 17:06:23 -05:00
8360e70f4e update USER-CGDNA examples to follow LAMMPS style 2017-01-13 18:56:45 -05:00
b988b29413 remove dead code 2017-01-13 18:43:35 -05:00
5d48bfdcab USER-CGDNA whitespace cleanup: expand tabs and remove trailing whitespace 2017-01-13 18:40:34 -05:00
fe8caa8a56 apply some LAMMPS formatting style conventions for include files 2017-01-13 18:33:32 -05:00
afaacc6173 add USER-CGDNA package with dependencies into the build system 2017-01-13 18:32:32 -05:00
98ceb6feb1 add missing html files to lammps.book 2017-01-13 18:11:23 -05:00
374abea0f0 some minor documentation integration tweaks for USER-CGDNA package 2017-01-13 18:09:45 -05:00
61cff85435 avoid not only division by zero, but also computing variance for short runs with insufficient resolution 2017-01-13 14:35:35 -05:00
aa0b327f7e Merge branch 'bugfix_dividebyzero' of https://github.com/timattox/lammps_USER-DPD into collected-small-bugfixes 2017-01-13 14:26:10 -05:00
04fe071968 Merge pull request #6 from ibaned/cuda-lj-ctor-warning
fix a CUDA constructor warning
2017-01-13 12:13:43 -07:00
78498715b4 Protect from divide by zero in mpi_timings() when printing results.
e.g. If neighbor list(s) are never rebuilt, the Neigh time will be zero.
2017-01-13 13:32:15 -05:00
96259ea2d2 Added source code and documentation for USER-CGDNA 2017-01-13 13:36:54 +00:00
b2f67fea30 Merge branch 'collected-small-bugfixes' of github.com:akohlmey/lammps into collected-small-bugfixes 2017-01-13 08:12:10 -05:00
c59bcf31d1 change $MKLROOT to $(MKLROOT) as reported by @WeiLiPenguin
This closes #336
2017-01-13 08:10:51 -05:00
2540fc281c Merge branch 'flow_gauss_changeRef' of github.com:sstrong99/lammps into pull-334 2017-01-12 23:54:52 -05:00
e8e03dd440 Updated the reference for the flow/gauss method, the new reference is much more comprehensive 2017-01-12 23:44:33 -05:00
daf766d4f8 Fixing Kokkos neighbor bug 2017-01-12 16:22:38 -07:00
630783c8e8 Fixing neighbor bug 2017-01-12 16:22:24 -07:00
c94030d966 put pair_lj_coul in kokkos_type.h
also rename pair_lj_coul_gromacs
so it doesn't conflict with the
one now in kokkos_type.h
2017-01-12 13:37:53 -07:00
1229f6f60b Updated the reference for the flow/gauss method, the new reference is much more comprehensive 2017-01-12 10:15:18 -07:00
0b081b0086 whitespace cleanup 2017-01-11 21:05:32 -05:00
8e1cf6643c apply bugfix to fix wall/gran by eric_lyster@agilent.com on lammps-users 2017-01-11 20:59:40 -05:00
6950a99162 Revert "remove obsolete warning about fix rigid image flag restrictions"
This reverts commit 51e52b477a.
2017-01-11 19:49:58 -05:00
9f4e5e0661 fix a CUDA constructor warning
The class params_lj_coul was copy-pasted
into many different pair styles, and only
one of them had the proper KOKKOS_INLINE_FUNCTION
annotations for CUDA.
created a header file for this class that
most of the pair styles now include.
One pair style did add extra members,
so it keeps a local copy of the class.
2017-01-11 09:11:35 -07:00
34cb4027df make formatting comment consistent 2017-01-11 07:46:07 -05:00
1d0e600ab7 formatting improvements and small corrections for timer settings and output discussions 2017-01-10 23:47:14 -05:00
7162cafdf5 Squelching output from Makefile 2017-01-10 14:46:30 -07:00
ee9e7cfbd5 Fixing Kokkos CUDA Makefile issue 2017-01-10 13:22:36 -07:00
7839c335da Fixing compile error with Kokkos CUDA Makefiles 2017-01-10 13:05:00 -07:00
622d926849 adapt example inputs for TAD and PRD to the change in compute coord/atom 2017-01-10 13:41:35 -05:00
92d15d4a89 replace string compare with enums, fix memory leak, formatting cleanup 2017-01-10 12:52:37 -05:00
95706ac846 import contributed code for computes coord/atom and orientorder/atom 2017-01-10 12:29:22 -05:00
d06688bb91 USER-DPD: fix a typo in the DPD-H example input; update reference output. 2017-01-10 12:11:20 -05:00
d014e00e53 ignore some newly added styles from packages. 2017-01-09 17:51:38 -05:00
0db2a07993 another workaround for duplicate labels (which sphinx does not like) 2017-01-09 17:51:19 -05:00
33412c76ed correct some formatting issues with USER-NC-DUMP 2017-01-09 17:50:49 -05:00
e5ac49d1de Merge branch 'master' into collected-small-bugfixes 2017-01-09 17:13:46 -05:00
1a81da0f73 print the last input line, when error->all() is called
this should help tracking down input file errors for many
common cases without having to repeat the run with -echo screen
and avoid having to explain how to use that feature all the time
2017-01-09 17:03:06 -05:00
c31f1e9f22 add fix mscg command, example, lib 2017-01-09 13:36:40 -07:00
ebd25cc078 Updating docs for Kokkos package 2017-01-09 12:40:33 -07:00
9250a55923 Adding enable_lambda to KOKKOS_CUDA_OPTIONS 2017-01-09 12:24:30 -07:00
a9f0b7d523 Updating Kokkos lib 2017-01-09 10:39:46 -07:00
20f8a8c219 Merge branch 'master' into github-tutorial-update 2017-01-09 14:38:09 +01:00
09af780aa8 remove misleading comments 2017-01-06 21:31:39 -05:00
51e52b477a remove obsolete warning about fix rigid image flag restrictions 2017-01-06 21:30:33 -05:00
20a4e365b7 reduce warning when processing manual with sphinx 2017-01-06 21:30:13 -05:00
51fa33a407 patch 6Jan17 2017-01-06 11:14:48 -07:00
ccd09e3967 Updated images of succesful merge. 2017-01-06 19:04:26 +01:00
142770cb2a enable pppm/tip4p to work with triclinic 2017-01-06 10:38:32 -07:00
63f202501b Merge pull request #324 from ibaned/pair-table-kokkos-inherit
get PairTableKokkos to inherit from PairTable (also fix GPU)
2017-01-06 10:10:59 -07:00
83da5d3b5d Merge pull request #323 from akohlmey/pppm-cg-triclinic
synchronize pppm/cg with changes in pppm and remove block on triclinic
2017-01-06 10:10:09 -07:00
ebbf60b112 Merge pull request #319 from andeplane/domain_bug
Fixed bug in lamda_box_corners function
2017-01-06 10:03:32 -07:00
12c4fa25e8 Merge pull request #318 from andeplane/initialize_pointers
Initializing pointers in neighbor.cpp
2017-01-06 10:03:05 -07:00
3ac58452de Merge pull request #310 from EfremBraun/master
Fix nvk implemented
2017-01-06 10:02:22 -07:00
9b348d567b Merge pull request #315 from Pakketeretet2/github-tutorial-update
GitHub tutorial update
2017-01-06 10:01:57 -07:00
467377094a Merge pull request #314 from stanmoore1/fix-momentum-kokkos
Fix momentum kokkos
2017-01-06 10:01:17 -07:00
5656e90b78 Merge pull request #313 from stanmoore1/kokkos_bugfixes
Kokkos bugfixes
2017-01-06 10:00:33 -07:00
41a6a3076e Merge pull request #309 from giacomofiorin/colvars-2016-12-22
Update Colvars library to version 2016-12-22
2017-01-06 09:58:20 -07:00
d4e8d47387 Merge pull request #306 from timattox/USER-DPD_updates
USER-DPD updates
2017-01-06 09:58:01 -07:00
f6a819580c pair TIP4P bug fix for cutoffs >> box size 2017-01-06 09:57:27 -07:00
6af56e686d polish the introduction, some more clarifications, corrections and formatting improvements 2017-01-06 08:31:02 -05:00
eb1c6a225c typo fixed 2017-01-06 11:54:30 +01:00
4d0a6d83bd Merged Axel's suggestions and updated text 2017-01-06 11:51:42 +01:00
958722573f Merge branch 'github-tutorial-update' of https://github.com/Pakketeretet2/lammps into github-tutorial-update 2017-01-06 11:44:16 +01:00
9d46670972 Updated text and images on reverse pull requests 2017-01-06 11:44:14 +01:00
1a9f2df3d0 Updated text and images on reverse pull requests 2017-01-06 11:44:00 +01:00
1310438c8b Merge pull request #1 from akohlmey/pull-315
some formatting updates and text rewrites for your pull request
2017-01-06 11:40:32 +01:00
9bf771207d make PairTable::allocate() virtual
forgot to extract this change when
separating the commits for PairTableRX
and PairTableKokkos.
2017-01-05 20:46:05 -07:00
b9144d6332 Revert "move enum to pair.h"
This reverts commit aebc8ea826.
2017-01-05 20:22:15 -07:00
267f05e5ca protect PairTable dtor with copymode 2017-01-05 15:38:45 -07:00
aebc8ea826 move enum to pair.h
to avoid having it be replicated
in several different locations
2017-01-05 15:38:45 -07:00
53a1de1d40 fix several GPU memory bugs in pair_table_kokkos 2017-01-05 15:38:45 -07:00
d059b5d334 fix crash in create_kokkos_tables
the code was crashing when trying to
deep_copy or assign views that had
not been allocated
2017-01-05 15:38:45 -07:00
7cff343680 fix allocation regressions in PairTableKokkos 2017-01-05 15:38:45 -07:00
a1ac861084 PairTableKokkos : public PairTable 2017-01-05 15:38:45 -07:00
17bdb57bb4 try PairTableKokkos : public PairTable
realize that there is a lot of copy-paste
in this codebase.
2017-01-05 15:38:45 -07:00
fe14158c10 some formatting updates and text rewrites in the "do not use git add -a" section 2017-01-04 13:13:56 -05:00
0bcbcca140 Highlighted the assignee, maintainer changes, and mentioned LAMMPS collaborator 2017-01-04 17:28:22 +01:00
4cfe122ac6 fix warning about enum comparisons 2017-01-04 08:10:08 -07:00
b46629ee39 Merge pull request #5 from ibaned/kokkos-fixes
prevent implicit dereference of s_CTEMP
2017-01-04 08:06:55 -07:00
42bbeb3f16 NULLing pointers after delete 2017-01-04 16:04:05 +01:00
933b288ce9 Added explaination for assignee, changes pushed by others and collaborator. 2017-01-04 14:31:23 +01:00
a7c5905ca4 prevent implicit dereference of s_CTEMP 2017-01-03 15:17:33 -07:00
37d5567f6d Fixed bug in lamda_box_corners function 2017-01-03 11:54:14 +01:00
b10d0c17ec Initializing pointers in neighbor.cpp 2017-01-03 11:24:48 +01:00
4f45d39ac7 Add warning formatting
Any paragraph starting with IMPORTANT NOTE: is transformed into a warning.
2017-01-03 02:34:11 +01:00
7d057d4c83 make it more explicit, that master needs to be updated and feature branches should be created from master 2017-01-02 13:02:48 -05:00
4f096dbad5 Updated some inconsistent text. 2017-01-02 18:53:28 +01:00
18b12efc9f Small changes to tutorial text. 2017-01-02 18:25:36 +01:00
2c7fea1e0d Second update round to text and images, a third will follow after succesful merge. 2017-01-02 18:15:08 +01:00
4d98bbdfa5 Almost done with the tutorial now 2017-01-02 18:08:14 +01:00
391ab761a4 Finally updated the github tutorial. 2017-01-02 17:55:02 +01:00
b0ebd3ef4e Merge pull request #1 from akohlmey/pull-310
add authorship attribution to lammps PR #310
2016-12-28 23:12:16 +01:00
94c4f8fe5f add authorship attribution 2016-12-28 17:03:37 -05:00
aa146e9b38 Moved fix_nvk to USER-MISC, updated documentation to reflect move 2016-12-28 19:06:35 +01:00
eca9539f84 Disallowing full neighborlist for pair_tersoff_kokkos styles until a bugfix is released 2016-12-28 10:59:53 -07:00
27172c4a55 Fixing Kokkos bug when many atom types 2016-12-28 10:59:42 -07:00
4f195254af Fixing bug with Kokkos and reading restart files 2016-12-28 10:59:30 -07:00
9a0007a13f rename region_block_kokkos inside()
this prevents compiler confusion with
the inside() function provided by
the normal region_block, as the two
should be completely separate.
2016-12-28 10:56:16 -07:00
994f36bc6f silence "implicit dereference" warning
see kokkos/kokkos#177 for detailed
discussion of the issue and fix
2016-12-28 10:56:06 -07:00
b3557bfbf5 add missing return in comm_tiled_kokkos 2016-12-28 10:55:51 -07:00
371df8ea72 repair sync bugs in fix_momentum_kokkos
Since the Group class is completely
unaware of Kokkos, the direct calls from
FixMomentumKokkos to Group methods
need to be preceded by atomKK->sync calls
for every atom variable that Group intends
to use.
fix_momentum_kokkos definitely does not
work on GPUs prior to this commit.
2016-12-28 10:51:59 -07:00
06ae2804f6 ensure velocity is marked as modified before syncing
it worked before, but this seems more reliable
2016-12-28 10:51:20 -07:00
68814d4fc8 Made documentation changes to fix nvk 2016-12-28 16:26:05 +01:00
616ca1de03 Fix nvk implemented. 2016-12-28 16:17:07 +01:00
b0263e87bb Fix missing force with extended-Lagrangian mass 2016-12-27 17:16:32 -05:00
925f42727f Fix typo 2016-12-27 14:26:43 -05:00
f553e230db Update Colvars library to version 2016-12-22
Significant code cleanup and several fixes (walls + extended Lagrangian)

New harmonicWalls bias to apply confining boundaries with time-dependent force
constant & integration
2016-12-27 13:17:34 -05:00
6ab716164b Fix seg fault for gyration collective variable 2016-12-27 13:17:02 -05:00
7a45c72b97 Allow extended Lagrangian on non-scalar collective variables 2016-12-27 12:35:30 -05:00
634eb357d2 synchronize pppm/cg with pppm and remove block on triclinic 2016-12-24 16:09:18 -05:00
a1036f2d74 USER-DPD: bugfix for new PairExp6rx::polynomialScaling() function. 2016-12-23 11:36:59 -05:00
c301d70333 USER-DPD: update example input and output (see commits 3faa57 and eff7238) 2016-12-22 17:32:41 -05:00
781daad2a0 USER-DPD: update documentation for changes in commit 3faa57 2016-12-22 17:31:17 -05:00
3faa57a413 USER-DPD: Several updates to *_rx files:
1) Added MY_EPSILON to handle machine precision checks
2) Removed error checks for DPD-RX; enabled use with DPD-E simulations
3) Expanded the EOS functional form to allow corrections
   in the thermo file or on the command line
4) Updated naming convention from fraction to mixWtSite*
5) Changed the name of getParams() method to getMixingWeights()
6) getMixingWeights() now handles fractional and molecular weighting
7) Added optional argument (fractional or molecular) to pair_style command
8) Added argument to specify the exp6 parameter scaling method
   NOTE: Requires additional arguments in the pair coefficients,
   thus command line areguments are NOT backward-compatible.
2016-12-22 17:15:09 -05:00
fa435fb514 USER-DPD: remove unused variable, and convert some constants to MY_EPSILON 2016-12-22 17:05:49 -05:00
ba96fcc15a USER-DPD: update reference output to reflect changes from commit eff7238 2016-12-22 16:21:05 -05:00
304f65b164 Merge pull request #2 from ibaned/fix-momentum-kokkos
Fix momentum kokkos from Dan Ibanez
2016-12-21 12:23:32 -07:00
4c33f31265 Merge branch 'debug-cuda' into fix-momentum-kokkos 2016-12-21 10:57:44 -07:00
ae8d882b03 need to sync new velocities back to host 2016-12-21 10:57:18 -07:00
7559bc9c5f workaround CUDA View::reference_type
it is not an lvalue reference in CUDA.
also, the previous code assumed contiguous
entries for one atom; now it should be
robust in the case of LayoutLeft.
2016-12-21 10:21:55 -07:00
62dea1bb63 21Dec16 patch 2016-12-21 09:53:32 -07:00
800ff43413 Merge pull request #304 from timattox/USER-DPD_whitespace
USER-DPD: Whitespace cleanup to pair_dpd_fdt_energy.cpp
2016-12-21 09:51:10 -07:00
9161bd98bf fixed bug with pair hybrid/overaly and manybody potentials finding the right skip neighbor method 2016-12-21 09:50:29 -07:00
f3327ca214 allow constructing Few from array on device 2016-12-21 09:21:11 -07:00
54963ba7da allow fix momentum angular with CUDA 2016-12-21 08:55:33 -07:00
ea76041803 CUDA-friendly fix_momentum_kokkos angular 2016-12-21 08:54:40 -07:00
7fb4faa439 draft CUDA-callable version of Domain::unmap 2016-12-21 08:53:57 -07:00
41c9357dde allow constructing Few from C array 2016-12-21 08:53:27 -07:00
d1a55ad2e0 add kokkos_few.h to .gitignore for /src 2016-12-21 08:07:19 -07:00
d9a0f575f6 get fix_momentum_kokkos to compile on White 2016-12-21 08:01:19 -07:00
01e3a31639 put Few in the global namespace... 2016-12-21 08:01:06 -07:00
992becc75f silence warning about partial x2lamda overload 2016-12-21 08:00:42 -07:00
8b5e15e979 add a Makefile for the White testbed 2016-12-20 16:30:50 -07:00
b2b33cca16 start working on fix_momentum Kokkos+CUDA
it doesn't compile anymore,
all in good time...
2016-12-20 16:30:21 -07:00
2ceee6b9be install kokkos_few, and remove Int 2016-12-20 16:19:17 -07:00
386c12c970 start porting my Few class into this code 2016-12-20 16:09:29 -07:00
590f317550 fix_momentum_kokkos: don't override init() 2016-12-20 11:03:16 -07:00
c4e02a5d2b USER-DPD: more whitespace fixes 2016-12-20 11:17:11 -05:00
c7ac9e79cb preemptive changes for Kokkos+CUDA
I haven't compiled in that mode yet
(don't know how), but these are some
changes I suspect the compiler
will require.
2016-12-19 13:17:22 -07:00
2ba424e1a3 USER-DPD: Whitespace cleanup to pair_dpd_fdt_energy.cpp 2016-12-19 15:11:52 -05:00
ca30c1ec88 got fix_momentum_kokkos to compile
there are likely still some compile
errors for Kokkos+CUDA...
2016-12-19 13:08:09 -07:00
a1b441a71f draft the parallel_* constructs based on lambdas
LAMMPS_LAMBDA was added to kokkos_type.h to
facilitate this.

some member variables will likely need local copies
in the fix_momentum code.
2016-12-19 12:02:12 -07:00
f6f2170369 first draft
copied fix_momentum, work on the Kokkos
View types for the arrays.
the next step is parallel_for and parallel_reduce
transformations.
2016-12-19 11:28:24 -07:00
81a2db8a0c 17Dec16 patch 2016-12-16 11:36:54 -07:00
0a176841e7 extra python_wrapper change needed for last patch 2016-12-16 11:35:42 -07:00
3027ac9250 patch 16Dec16 2016-12-16 10:30:57 -07:00
fc54ab5cea Merge pull request #301 from akohlmey/corrections-and-bugfixes
Collected corrections and bugfixes
2016-12-16 10:25:29 -07:00
e364b80724 added length keyword to python command 2016-12-16 10:24:25 -07:00
830c9e8661 Merge branch 'USER-DPD_internal_energy' of https://github.com/timattox/lammps_USER-DPD into corrections-and-bugfixes
This closes #303
2016-12-16 11:22:25 -05:00
4907b29ad2 Merge branch 'USER-DPD_bugfixes' of https://github.com/timattox/lammps_USER-DPD into corrections-and-bugfixes
This closes #302
2016-12-16 11:21:15 -05:00
eff7238ff2 USER-DPD: fix_eos*: partition all internal energy into the uMech term only
This makes our results more closely match a vetted serial implementation.
NOTE: This does make the output different from any previous versions.
Patch by Jim Larentzos.  Applied by Tim Mattox.
2016-12-16 10:25:12 -05:00
126fb22e93 USER-DPD: Fix #define typo in pair_multi_lucy.h and pair_multi_lucy_rx.h 2016-12-16 10:08:30 -05:00
0a90492c44 USER-DPD: Update the header files to properly document all error statements
Patch by Jim Larentzos.  Applied by Tim Mattox.
2016-12-15 17:39:15 -05:00
fed629c23e USER-DPD: Bugfix for fix_rx and fix_eos_table_rx to handle restart files.
Patch by Jim Larentzos.  Applied by Tim Mattox.
2016-12-15 17:10:13 -05:00
925481c3f4 USER-DPD: Fix hard-wall force interaction bug, and ensure fraction is >= 0
pair_exp6_rx.cpp patch by Jim Larentzos.  Applied by Tim Mattox.
2016-12-15 16:46:25 -05:00
da2ad5b6e0 update FixIntel code for new neighbor list code 2016-12-14 15:51:12 -05:00
bfcab72268 restore change to make -DLAMMPS_MEMALIGN=64 default when USER-INTEL package is installed (which requires it) 2016-12-14 15:24:55 -05:00
f509f133af patch 13Dec16: neighbor refactor, Stan pppm/disp bug fix, M Brown INTEL package updates 2016-12-13 17:14:28 -07:00
624c57e9da Merge pull request #185 from akohlmey/new-neighbor
New neighbor list code with updates for USER-OMP and USER-DPD
2016-12-13 16:24:41 -07:00
f3b355bcbe Merge pull request #298 from akohlmey/collected-small-fixes
Collected small fixes
2016-12-13 16:23:23 -07:00
ae5764beac added functionity to lib interface 2016-12-13 16:22:17 -07:00
fda43c00fd add deleted file in package to purge list 2016-12-12 13:22:54 -05:00
b34be30be6 Merge pull request #53 from stanmoore1/new-neighbor
New neighbor Kokkos
2016-12-12 13:18:03 -05:00
13b6196b82 Fixing Kokkos compile error 2016-12-12 10:47:39 -07:00
baf55c90f4 Whitespace change 2016-12-12 09:25:41 -07:00
770f5d0bf7 Whitespace change 2016-12-12 09:24:37 -07:00
a31b00965a Updating to master 2016-12-12 09:18:20 -07:00
a5e46e3e6a Merging 2016-12-09 16:20:42 -07:00
31be0da590 Merging pull request 2016-12-09 16:17:35 -07:00
0f3b2544a1 Merge pull request #1 from timattox/new-neighbor
USER-DPD workaround for neighbor list issues
2016-12-09 16:08:31 -07:00
586514e05c Merge branch 'new-neighbor' into new-neighbor 2016-12-09 16:08:08 -07:00
43c459ba56 More changes for Kokkos neighbor 2016-12-09 15:56:55 -07:00
b5c3d2f66c Merge pull request #52 from timattox/new-neighbor
USER-DPD workaround for neighbor list issues
2016-12-09 17:51:35 -05:00
5187cb97e5 USER-DPD: Make fix_shardlow request its own SSA-specific neighbor list,
instead of having pair_dpd_fdt* make the SSA-neighbor list request for it.
Forces an "extra" list to be built, but now skip lists work properly.
Maybe we can detect if skip lists won't be used, and squash the extra list.
2016-12-09 15:42:27 -06:00
eff503e56c Prevent neighbor list copies between SSA and non-SSA neighbor list requests. 2016-12-09 15:39:46 -06:00
cdcebab3bd make the output of the %CPU/OpenMP threads line consistent with compiling in OpenMP support, not having USER-OMP installed 2016-12-09 14:43:56 -05:00
ddf678da51 make fix gcmc command overview consistent
this closes #296
2016-12-09 14:30:27 -05:00
435421301b Small tweaks to Kokkos neighbor 2016-12-09 08:37:01 -07:00
9b48c49f83 Removing used Kokkos file 2016-12-08 09:18:55 -07:00
d3d5ac17bf Fixed small typos in doc 2016-12-07 19:37:51 -08:00
8318c67816 Kokkos neighbor refactor 2016-12-07 13:00:27 -07:00
7c61dbf5e2 Merge branch 'new-neighbor' of github.com:akohlmey/lammps into new-neighbor 2016-12-07 13:43:04 -05:00
39a12b15d7 Merge branch 'master' into new-neighbor
Resolved Conflicts:
	src/Purge.list
	src/neigh_derive.cpp
2016-12-07 13:40:14 -05:00
fb3f597f41 30Nov16 patch 2016-11-30 14:04:41 -07:00
d14814ae2e Merge pull request #289 from akohlmey/collected-updates-and-bugfixes
Collected updates and bugfixes
2016-11-30 14:02:41 -07:00
beb5a30f67 new compute global/atom command, also bug fix for descending dump sorts 2016-11-30 14:01:27 -07:00
7ddb6670c0 fix typo 2016-11-30 00:12:35 -05:00
789e62388f simplify code 2016-11-29 09:03:53 -05:00
7d098bff90 update format
(cherry picked from commit 2597185afb)
2016-11-29 09:01:36 -05:00
1d970d3cdf dihedral_nharmonic: added writing coefficient by write_data
(cherry picked from commit 618f5c6aa5)
2016-11-29 09:01:36 -05:00
42d430168b fix typo in compute cluster/atom docs
this closes #292
2016-11-29 07:24:09 -05:00
5ff5bc2a6c avoid issues detected by coverity scan 2016-11-28 21:34:35 -05:00
02ae2d218a correct broken link to USER-SMD docs PDF 2016-11-28 11:34:22 -05:00
470908fc93 explicitly disallow dynamic groups with compute rdf 2016-11-24 05:46:15 -05:00
6759630c16 bug fix for dump sort in descending order 2016-11-23 17:08:36 -07:00
87781771ba fix typo and USER-OMP support omission 2016-11-23 09:02:32 -05:00
df46b9aa38 rename compute pressure/grem to compute PRESSURE/GREM 2016-11-22 15:25:59 -05:00
647c6f00ce Merge branch 'grem-feature' of https://github.com/dstelter92/lammps into collected-updates-and-bugfixes 2016-11-22 14:51:19 -05:00
237307eda2 small typo and changes 2016-11-22 12:16:00 -05:00
d58dd4f159 bugfix when parsing mpirun 2016-11-22 12:13:20 -05:00
ae70f1090f added readme for grem examples 2016-11-22 12:05:14 -05:00
114926a488 Merge branch 'master' into new-neighbor 2016-10-02 00:26:56 -04:00
5eb9dd0c5d Merge branch 'master' into new-neighbor 2016-09-29 23:14:28 -04:00
ebabc8f0bc Merge remote-tracking branch 'lammps-rw/integration' into update-neighbor 2016-09-09 15:46:20 -04:00
232abf8534 restore locale and enforce grep option squashing 2016-09-09 15:42:14 -04:00
d22caf2658 Merge pull request #29 from timattox/new-neighbor
USER-DPD: remove several files from src that came from src/USER-DPD/
2016-09-09 15:28:56 -04:00
3842aa6095 forward skip lists /omp neighbor list builds to non-omp implementations 2016-09-09 15:23:40 -04:00
32c240978a USER-DPD: remove several files from src that came from src/USER-DPD/
These were accidentally added to git in c9c2ae6.
2016-09-09 15:17:42 -04:00
212c2617f6 delete a couple more files, that don't belong into src/ 2016-09-09 14:56:23 -04:00
40f85c93ba corrected mismatched free() vs. delete[] 2016-09-09 14:10:42 -04:00
2f02d98469 remove USER-DPD files that should not be where they are 2016-09-09 13:53:07 -04:00
4553881fc2 Merge pull request #28 from timattox/new-neighbor
New neighbor, USER-DPD updates
2016-09-09 13:11:55 -04:00
81fcbcd99c USER-DPD: move nstencil_ssa out of core LAMMPS into USER-DPD 2016-09-09 12:19:54 -04:00
82c6eb4675 USER-DPD: Set missing NP_HALF flag in npair_half_bin_newton_ssa.h 2016-09-09 12:19:36 -04:00
8ed3f4226e USER-DPD: move custom binning stuff to a NBinSSA child class.
Removes most SSA specific fields from class NeighList.
2016-09-09 12:19:06 -04:00
9b7a0d7e1c Update gitignore for the new USER-DPD source files. 2016-09-09 12:18:51 -04:00
c9c2ae6c61 new neighbor list changes 2016-09-07 13:42:58 -06:00
1729 changed files with 143123 additions and 85281 deletions

View File

@ -14,7 +14,7 @@ lmp_linux_mixed
lmp_linux_double lmp_linux_double
The precision (single, mixed, double) refers to the GPU and USER-CUDA 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 directories for instructions on how to build the packages with
different precisions. The GPU and USER-CUDA sub-sections of the different precisions. The GPU and USER-CUDA sub-sections of the
doc/Section_accelerate.html file also describes this process. doc/Section_accelerate.html file also describes this process.

1
doc/.gitignore vendored
View File

@ -1,4 +1,5 @@
/html /html
/spelling
/LAMMPS.epub /LAMMPS.epub
/LAMMPS.mobi /LAMMPS.mobi
/Manual.pdf /Manual.pdf

View File

@ -22,7 +22,7 @@ endif
SOURCES=$(wildcard src/*.txt) SOURCES=$(wildcard src/*.txt)
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst) 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 +36,7 @@ help:
@echo " clean remove all intermediate RST files" @echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment" @echo " clean-all reset the entire build environment"
@echo " txt2html build txt2html tool" @echo " txt2html build txt2html tool"
@echo " anchor_check scan for duplicate anchor labels"
# ------------------------------------------ # ------------------------------------------
@ -44,12 +45,19 @@ clean-all:
clean: clean:
rm -rf $(RSTDIR) html rm -rf $(RSTDIR) html
rm -rf spelling
clean-spelling:
rm -rf spelling
html: $(OBJECTS) html: $(OBJECTS)
@(\ @(\
. $(VENV)/bin/activate ;\ . $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\ cp -r src/* $(RSTDIR)/ ;\
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
echo "############################################" ;\
doc_anchor_check src/*.txt ;\
echo "############################################" ;\
deactivate ;\ deactivate ;\
) )
-rm html/searchindex.js -rm html/searchindex.js
@ -64,6 +72,17 @@ html: $(OBJECTS)
@rm -rf html/USER/*/*.[sg]* @rm -rf html/USER/*/*.[sg]*
@echo "Build finished. The HTML pages are in doc/html." @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) epub: $(OBJECTS)
@mkdir -p epub @mkdir -p epub
@rm -f LAMMPS.epub @rm -f LAMMPS.epub
@ -112,6 +131,13 @@ fetch:
txt2html: utils/txt2html/txt2html.exe txt2html: utils/txt2html/txt2html.exe
anchor_check : $(TXT2RST)
@(\
. $(VENV)/bin/activate ;\
doc_anchor_check src/*.txt ;\
deactivate ;\
)
# ------------------------------------------ # ------------------------------------------
utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp

View File

@ -464,7 +464,7 @@ the angletype option can only be assigned to a "fix style" of "shake",
entirely rigid (e.g. water) entirely rigid (e.g. water)
the angletype option enables an additional check when SHAKE constraints the angletype option enables an additional check when SHAKE constraints
are computed: if a cluster is of size 3 and both bonds in 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 angletype, then the cluster is SHAKEn with an additional angle
constraint that makes it rigid, using the equilibrium angle appropriate constraint that makes it rigid, using the equilibrium angle appropriate
to the specified angletype 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 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 for style region, a coeff of INF means + or - infinity (all the way
to the boundary) 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 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 (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) to it first, then the next-to-last applied second, etc)
@ -689,7 +689,7 @@ coeffs: types
remainder remainder
no other parameters required 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, by default, the "create temp" command initializes the velocities of all atoms,
this command limits the initialization to a group of atoms this command limits the initialization to a group of atoms
this command is only in force for the next "create temp" command, any 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 applied when atoms move except for the following
fixes associated with temperature control are not allowed fixes associated with temperature control are not allowed
(rescale, hoover/drag, langevin) (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 bond lengths
the minimizer does not invoke pressure control or volume control settings the minimizer does not invoke pressure control or volume control settings
for good convergence, should specify use of smooth nonbond force fields 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 can be used that are supported by native machine libraries
this command is optional - if not used, a default this command is optional - if not used, a default
mesh size will be chosen to satisfy accuracy criterion - if used, the 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> </PRE>
<HR> <HR>
<H3> <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 when the minimizer is invoked this command means create a restart file
at the end of the minimization with the filename filename.timestep.min at the end of the minimization with the filename filename.timestep.min
a restart file stores atom and force-field information in binary form a restart file stores atom and force-field information in binary form
allows program to restart from where it left off (see &quot;read restart&quot; commmand) allows program to restart from where it left off (see &quot;read restart&quot; command)
Default = 0 Default = 0
</PRE> </PRE>

View File

@ -167,7 +167,7 @@ tool on the small-system data file.</P>
<P> <P>
(6) flow</P> (6) flow</P>
<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> options.</P>
<P> <P>
(7) polymer</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 (compile and link with print.c) which can be used to generate random
initial polymer configurations for bead-spring models like those used initial polymer configurations for bead-spring models like those used
in examples/polymer. It uses an input polymer definition file (see 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> chains of what length, a random number seed, etc.</P>
</BODY> </BODY>
</HTML> </HTML>

View File

@ -40,7 +40,7 @@ Note: this file is somewhat out-of-date for LAMMPS 99.</P>
<LI> <LI>
maxtype = max # of atom types maxtype = max # of atom types
<LI> <LI>
maxbond = max # of bonds to compute on one procesor maxbond = max # of bonds to compute on one processor
<LI> <LI>
maxangle = max # of angles to compute on one processor maxangle = max # of angles to compute on one processor
<LI> <LI>

View File

@ -294,7 +294,7 @@ assign a group of atoms to a particular constraint
use appropriate number of coeffs for a particular style use appropriate number of coeffs for a particular style
the constraint itself is defined by the &quot;fix style&quot; command the constraint itself is defined by the &quot;fix style&quot; command
multiple groups of atoms can be assigned to the same constraint 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 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 (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) to it first, then the next-to-last applied second, etc)
@ -477,7 +477,7 @@ coeffs: types
remainder remainder
no other parameters required no other parameters required
used with &quot;create temp&quot; commmand to initialize velocities of atoms used with &quot;create temp&quot; command to initialize velocities of atoms
by default, the &quot;create temp&quot; command initializes the velocities of all atoms, by default, the &quot;create temp&quot; command initializes the velocities of all atoms,
this command limits the initialization to a group of atoms this command limits the initialization to a group of atoms
this command is only in force for the next &quot;create temp&quot; command, any this command is only in force for the next &quot;create temp&quot; 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 can be used that are supported by native machine libraries
this command is optional - if not used, a default this command is optional - if not used, a default
mesh size will be chosen to satisfy accuracy criterion - if used, the 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 Default = none
</PRE> </PRE>
@ -1343,7 +1343,7 @@ value of 0 means never create one
program will toggle between 2 filenames as the run progresses 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 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 restart file stores atom positions and velocities in binary form
allows program to restart from where it left off (see &quot;read restart&quot; commmand) allows program to restart from where it left off (see &quot;read restart&quot; command)
Default = 0 Default = 0
</PRE> </PRE>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View 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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View 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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY --> <!-- HTML_ONLY -->
<HEAD> <HEAD>
<TITLE>LAMMPS Users Manual</TITLE> <TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="22 Nov 2016 version"> <META NAME="docnumber" CONTENT="17 Mar 2017 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories"> <META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License."> <META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD> </HEAD>
@ -21,7 +21,7 @@
<H1></H1> <H1></H1>
LAMMPS Documentation :c,h3 LAMMPS Documentation :c,h3
22 Nov 2016 version :c,h4 17 Mar 2017 version :c,h4
Version info: :h4 Version info: :h4

Binary file not shown.

View File

@ -281,12 +281,12 @@ the "minimize"_minimize.html command. A parallel tempering
3.4 Commands listed by category :link(cmd_4),h4 3.4 Commands listed by category :link(cmd_4),h4
This section lists all LAMMPS commands, grouped by category. The This section lists core LAMMPS commands, grouped by category.
"next section"_#cmd_5 lists the same commands alphabetically. The The "next section"_#cmd_5 lists all commands alphabetically. The
next section also includes (long) lists of style options for entries next section also includes (long) lists of style options for entries
that appear in the following categories as a single command (fix, that appear in the following categories as a single command (fix,
compute, pair, etc). Commands that are added by user packages are not 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: Initialization:
@ -361,7 +361,7 @@ Settings:
"timer"_timer.html, "timer"_timer.html,
"timestep"_timestep.html "timestep"_timestep.html
Operations within timestepping (fixes) and diagnositics (computes): Operations within timestepping (fixes) and diagnostics (computes):
"compute"_compute.html, "compute"_compute.html,
"compute_modify"_compute_modify.html, "compute_modify"_compute_modify.html,
@ -581,8 +581,9 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"indent"_fix_indent.html, "indent"_fix_indent.html,
"langevin (k)"_fix_langevin.html, "langevin (k)"_fix_langevin.html,
"lineforce"_fix_lineforce.html, "lineforce"_fix_lineforce.html,
"momentum"_fix_momentum.html, "momentum (k)"_fix_momentum.html,
"move"_fix_move.html, "move"_fix_move.html,
"mscg"_fix_mscg.html,
"msst"_fix_msst.html, "msst"_fix_msst.html,
"neb"_fix_neb.html, "neb"_fix_neb.html,
"nph (ko)"_fix_nh.html, "nph (ko)"_fix_nh.html,
@ -632,11 +633,11 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"rigid/npt (o)"_fix_rigid.html, "rigid/npt (o)"_fix_rigid.html,
"rigid/nve (o)"_fix_rigid.html, "rigid/nve (o)"_fix_rigid.html,
"rigid/nvt (o)"_fix_rigid.html, "rigid/nvt (o)"_fix_rigid.html,
<"rigid/small (o)"_fix_rigid.html, "rigid/small (o)"_fix_rigid.html,
"rigid/small/nph"_fix_rigid.html, "rigid/small/nph (o)"_fix_rigid.html,
"rigid/small/npt"_fix_rigid.html, "rigid/small/npt (o)"_fix_rigid.html,
"rigid/small/nve"_fix_rigid.html, "rigid/small/nve (o)"_fix_rigid.html,
"rigid/small/nvt"_fix_rigid.html, "rigid/small/nvt (o)"_fix_rigid.html,
"setforce (k)"_fix_setforce.html, "setforce (k)"_fix_setforce.html,
"shake"_fix_shake.html, "shake"_fix_shake.html,
"spring"_fix_spring.html, "spring"_fix_spring.html,
@ -686,6 +687,7 @@ package"_Section_start.html#start_3.
"eos/cv"_fix_eos_cv.html, "eos/cv"_fix_eos_cv.html,
"eos/table"_fix_eos_table.html, "eos/table"_fix_eos_table.html,
"eos/table/rx"_fix_eos_table_rx.html, "eos/table/rx"_fix_eos_table_rx.html,
"filter/corotate"_fix_filter_corotate.html,
"flow/gauss"_fix_flow_gauss.html, "flow/gauss"_fix_flow_gauss.html,
"gle"_fix_gle.html, "gle"_fix_gle.html,
"grem"_fix_grem.html, "grem"_fix_grem.html,
@ -701,7 +703,10 @@ package"_Section_start.html#start_3.
"meso"_fix_meso.html, "meso"_fix_meso.html,
"manifoldforce"_fix_manifoldforce.html, "manifoldforce"_fix_manifoldforce.html,
"meso/stationary"_fix_meso_stationary.html, "meso/stationary"_fix_meso_stationary.html,
"nve/dot"_fix_nve_dot.html,
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
"nve/manifold/rattle"_fix_nve_manifold_rattle.html, "nve/manifold/rattle"_fix_nve_manifold_rattle.html,
"nvk"_fix_nvk.html,
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, "nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
"nph/eff"_fix_nh_eff.html, "nph/eff"_fix_nh_eff.html,
"npt/eff"_fix_nh_eff.html, "npt/eff"_fix_nh_eff.html,
@ -767,6 +772,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"erotate/sphere"_compute_erotate_sphere.html, "erotate/sphere"_compute_erotate_sphere.html,
"erotate/sphere/atom"_compute_erotate_sphere_atom.html, "erotate/sphere/atom"_compute_erotate_sphere_atom.html,
"event/displace"_compute_event_displace.html, "event/displace"_compute_event_displace.html,
"global/atom"_compute_global_atom.html,
"group/group"_compute_group_group.html, "group/group"_compute_group_group.html,
"gyration"_compute_gyration.html, "gyration"_compute_gyration.html,
"gyration/chunk"_compute_gyration_chunk.html, "gyration/chunk"_compute_gyration_chunk.html,
@ -916,7 +922,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"dpd (go)"_pair_dpd.html, "dpd (go)"_pair_dpd.html,
"dpd/tstat (go)"_pair_dpd.html, "dpd/tstat (go)"_pair_dpd.html,
"dsmc"_pair_dsmc.html, "dsmc"_pair_dsmc.html,
"eam (gkot)"_pair_eam.html, "eam (gkiot)"_pair_eam.html,
"eam/alloy (gkot)"_pair_eam.html, "eam/alloy (gkot)"_pair_eam.html,
"eam/fs (gkot)"_pair_eam.html, "eam/fs (gkot)"_pair_eam.html,
"eim (o)"_pair_eim.html, "eim (o)"_pair_eim.html,
@ -964,7 +970,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"lubricateU/poly"_pair_lubricateU.html, "lubricateU/poly"_pair_lubricateU.html,
"meam"_pair_meam.html, "meam"_pair_meam.html,
"mie/cut (o)"_pair_mie.html, "mie/cut (o)"_pair_mie.html,
"morse (got)"_pair_morse.html, "morse (gkot)"_pair_morse.html,
"nb3b/harmonic (o)"_pair_nb3b_harmonic.html, "nb3b/harmonic (o)"_pair_nb3b_harmonic.html,
"nm/cut (o)"_pair_nm.html, "nm/cut (o)"_pair_nm.html,
"nm/cut/coul/cut (o)"_pair_nm.html, "nm/cut/coul/cut (o)"_pair_nm.html,
@ -1011,6 +1017,7 @@ package"_Section_start.html#start_3.
"eff/cut"_pair_eff.html, "eff/cut"_pair_eff.html,
"exp6/rx"_pair_exp6_rx.html, "exp6/rx"_pair_exp6_rx.html,
"gauss/cut"_pair_gauss.html, "gauss/cut"_pair_gauss.html,
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
"lennard/mdf"_pair_mdf.html, "lennard/mdf"_pair_mdf.html,
"list"_pair_list.html, "list"_pair_list.html,
"lj/charmm/coul/long/soft (o)"_pair_charmm.html, "lj/charmm/coul/long/soft (o)"_pair_charmm.html,
@ -1032,6 +1039,11 @@ package"_Section_start.html#start_3.
"morse/soft"_pair_morse.html, "morse/soft"_pair_morse.html,
"multi/lucy"_pair_multi_lucy.html, "multi/lucy"_pair_multi_lucy.html,
"multi/lucy/rx"_pair_multi_lucy_rx.html, "multi/lucy/rx"_pair_multi_lucy_rx.html,
"oxdna/coaxstk"_pair_oxdna.html,
"oxdna/excv"_pair_oxdna.html,
"oxdna/hbond"_pair_oxdna.html,
"oxdna/stk"_pair_oxdna.html,
"oxdna/xstk"_pair_oxdna.html,
"quip"_pair_quip.html, "quip"_pair_quip.html,
"reax/c (k)"_pair_reax_c.html, "reax/c (k)"_pair_reax_c.html,
"smd/hertz"_pair_smd_hertz.html, "smd/hertz"_pair_smd_hertz.html,
@ -1066,7 +1078,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"none"_bond_none.html, "none"_bond_none.html,
"zero"_bond_zero.html, "zero"_bond_zero.html,
"hybrid"_bond_hybrid.html, "hybrid"_bond_hybrid.html,
"class2 (o)"_bond_class2.html, "class2 (ko)"_bond_class2.html,
"fene (iko)"_bond_fene.html, "fene (iko)"_bond_fene.html,
"fene/expand (o)"_bond_fene_expand.html, "fene/expand (o)"_bond_fene_expand.html,
"harmonic (ko)"_bond_harmonic.html, "harmonic (ko)"_bond_harmonic.html,
@ -1080,7 +1092,8 @@ if "LAMMPS is built with the appropriate
package"_Section_start.html#start_3. package"_Section_start.html#start_3.
"harmonic/shift (o)"_bond_harmonic_shift.html, "harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html :tb(c=4,ea=c) "harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"oxdna/fene"_bond_oxdna.html :tb(c=4,ea=c)
:line :line
@ -1098,7 +1111,7 @@ USER-OMP, t = OPT.
"zero"_angle_zero.html, "zero"_angle_zero.html,
"hybrid"_angle_hybrid.html, "hybrid"_angle_hybrid.html,
"charmm (ko)"_angle_charmm.html, "charmm (ko)"_angle_charmm.html,
"class2 (o)"_angle_class2.html, "class2 (ko)"_angle_class2.html,
"cosine (o)"_angle_cosine.html, "cosine (o)"_angle_cosine.html,
"cosine/delta (o)"_angle_cosine_delta.html, "cosine/delta (o)"_angle_cosine_delta.html,
"cosine/periodic (o)"_angle_cosine_periodic.html, "cosine/periodic (o)"_angle_cosine_periodic.html,
@ -1134,7 +1147,7 @@ USER-OMP, t = OPT.
"zero"_dihedral_zero.html, "zero"_dihedral_zero.html,
"hybrid"_dihedral_hybrid.html, "hybrid"_dihedral_hybrid.html,
"charmm (ko)"_dihedral_charmm.html, "charmm (ko)"_dihedral_charmm.html,
"class2 (o)"_dihedral_class2.html, "class2 (ko)"_dihedral_class2.html,
"harmonic (io)"_dihedral_harmonic.html, "harmonic (io)"_dihedral_harmonic.html,
"helix (o)"_dihedral_helix.html, "helix (o)"_dihedral_helix.html,
"multi/harmonic (o)"_dihedral_multi_harmonic.html, "multi/harmonic (o)"_dihedral_multi_harmonic.html,
@ -1166,7 +1179,7 @@ USER-OMP, t = OPT.
"none"_improper_none.html, "none"_improper_none.html,
"zero"_improper_zero.html, "zero"_improper_zero.html,
"hybrid"_improper_hybrid.html, "hybrid"_improper_hybrid.html,
"class2 (o)"_improper_class2.html, "class2 (ko)"_improper_class2.html,
"cvff (io)"_improper_cvff.html, "cvff (io)"_improper_cvff.html,
"harmonic (ko)"_improper_harmonic.html, "harmonic (ko)"_improper_harmonic.html,
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c) "umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)

View File

@ -22,7 +22,7 @@ either conceptually, or as printed out by the program.
12.1 Common problems :link(err_1),h4 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 machines or different numbers of processors, this is typically not a
bug. In theory you should get identical answers on any number of bug. In theory you should get identical answers on any number of
processors and on any machine. In practice, numerical round-off can 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. stretching too far may not occur until the middle of a run.
LAMMPS tries to flag errors and print informative error messages so LAMMPS tries to flag errors and print informative error messages so
you can fix the problem. Of course, LAMMPS cannot figure out your you can fix the problem. For most errors it will also print the last
physics or numerical mistakes, like choosing too big a timestep, input script command that it was processing. Of course, LAMMPS cannot
specifying erroneous force field coefficients, or putting 2 atoms on figure out your physics or numerical mistakes, like choosing too big a
top of each other! If you run into errors that LAMMPS doesn't catch timestep, specifying erroneous force field coefficients, or putting 2
that you think it should flag, please send an email to the atoms on top of each other! If you run into errors that LAMMPS
"developers"_http://lammps.sandia.gov/authors.html. doesn't catch that you think it should flag, please send an email to
the "developers"_http://lammps.sandia.gov/authors.html.
If you get an error message about an invalid command in your input If you get an error message about an invalid command in your input
script, you can determine what command is causing the problem by script, you can determine what command is causing the problem by
@ -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 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" 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 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 for the command should allow you to fix these problems. In most cases,
some commands allow for variables to be specified in place of numeric where LAMMPS expects to read a number, either integer or floating point,
constants so that the value can be evaluated and change over the it performs a stringent test on whether the provided input actually
course of a run. This is typically done with the syntax {v_name} for is an integer or floating-point number, respectively, and reject the
a parameter, where name is the name of the variable. This is only input with an error message (for instance, when an integer is required,
allowed if the command documentation says it is. 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 Generally, LAMMPS will print a message to the screen and logfile and
exit gracefully when it encounters a fatal error. Sometimes it will 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 {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 {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 {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 {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 Cartesian axes. :dd
{Cannot balance in z dimension for 2d simulation} :dt {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 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 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 {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 This file is created when you use some LAMMPS features, to indicate
what paper you should cite on behalf of those who implemented 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 you are running in. :dd
{Cannot open log.lammps for writing} :dt {Cannot open log.lammps for writing} :dt
@ -1992,7 +2005,7 @@ Self-explanatory. :dd
{Cannot use fix reax/bonds without pair_style reax} :dt {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {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 {Compute contact/atom requires a pair style be defined} :dt
Self-explantory. :dd Self-explanatory. :dd
{Compute contact/atom requires atom style sphere} :dt {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 {Compute coord/atom requires a pair style be defined} :dt
Self-explantory. :dd Self-explanatory. :dd
{Compute damage/atom requires peridynamic potential} :dt {Compute damage/atom requires peridynamic potential} :dt
@ -2777,7 +2790,7 @@ Self-explanatory. :dd
{Compute erotate/asphere requires extended particles} :dt {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 {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 {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 {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 {Compute orientorder/atom requires a pair style be defined} :dt
Self-explantory. :dd Self-explanatory. :dd
{Compute pair must use group all} :dt {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 {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 {Compute property/local cannot use these inputs together} :dt
Only inputs that generate the same number of datums can be used 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 {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 {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 {Compute temp/body requires atom style body} :dt
@ -3511,12 +3524,12 @@ path and name are correct. :dd
{Could not process Python file} :dt {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 Python, probably due to errors in the Python code. :dd
{Could not process Python string} :dt {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 probably due to errors in the Python code. :dd
{Coulomb PPPMDisp order has been reduced below minorder} :dt {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 {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 {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 {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 {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 {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 {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 {Fix ave/time compute does not calculate an array} :dt
@ -4957,7 +4970,7 @@ Self-explanatory. :dd
{Fix langevin angmom requires extended particles} :dt {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 {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 {Initial temperatures not all set in fix ttm} :dt
Self-explantory. :dd Self-explanatory. :dd
{Input line quote not followed by whitespace} :dt {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 {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 should not happen if it is a reasonably shaped triangle. :dd
{Insufficient memory on accelerator} :dt {Insufficient memory on accelerator} :dt
@ -6450,15 +6463,15 @@ Self-explanatory. :dd
{Invalid attribute in dump custom command} :dt {Invalid attribute in dump custom command} :dt
Self-explantory. :dd Self-explanatory. :dd
{Invalid attribute in dump local command} :dt {Invalid attribute in dump local command} :dt
Self-explantory. :dd Self-explanatory. :dd
{Invalid attribute in dump modify command} :dt {Invalid attribute in dump modify command} :dt
Self-explantory. :dd Self-explanatory. :dd
{Invalid basis setting in create_atoms command} :dt {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 Filenames used with the dump xyz style cannot be binary or cause files
to be written by each processor. :dd 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 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 {Invalid fix ave/time off column} :dt
Self-explantory. :dd Self-explanatory. :dd
{Invalid fix box/relax command for a 2d simulation} :dt {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 {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 {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 Lost atoms are checked for each time thermo output is done. See the
thermo_modify lost command for options. Lost atoms usually indicate thermo_modify lost command for options. Lost atoms usually indicate
bad dynamics, e.g. atoms have been blown far out of the simulation 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 reneighboring. :dd
{MEAM library error %d} :dt {MEAM library error %d} :dt
@ -7513,7 +7526,7 @@ Self-explanatory. :dd
{Molecule template ID for create_atoms does not exist} :dt {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 {Molecule template ID for fix deposit does not exist} :dt
@ -7539,7 +7552,7 @@ Self-explanatory. :dd
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 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 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 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 force during minimization. :dd
{Must use variable energy with fix efield} :dt {Must use variable energy with fix efield} :dt
@ -8029,7 +8042,7 @@ Self-explanatory. :dd
{Non digit character between brackets in variable} :dt {Non digit character between brackets in variable} :dt
Self-explantory. :dd Self-explanatory. :dd
{Non integer # of swaps in temper command} :dt {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 {Pair style does not support compute group/group} :dt
The pair_style does not have a single() function, so it cannot be 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 {Pair style does not support compute pair/local} :dt
@ -8935,11 +8948,11 @@ Self-explanatory. :dd
{Pair yukawa/colloid requires atom style sphere} :dt {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 {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 {Pair yukawa/colloid/gpu requires atom style sphere} :dt
@ -9153,7 +9166,7 @@ Self-explanatory. :dd
{Python function evaluation failed} :dt {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 value (if it is supposed to return a value). This is probably due to
some error condition in the function. :dd 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 {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 not defined by the atom style used in this simulation. :dd
{Timestep must be >= 0} :dt {Timestep must be >= 0} :dt
@ -10074,7 +10087,7 @@ to a large size. :dd
{Too many atom triplets for pair bop} :dt {Too many atom triplets for pair bop} :dt
The number of three atom groups for angle determinations exceeds the 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 realistic. :dd
{Too many atoms for dump dcd} :dt {Too many atoms for dump dcd} :dt
@ -10142,7 +10155,7 @@ to a large size. :dd
{Too many timesteps} :dt {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 {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 {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 {Variable for region is invalid style} :dt
@ -10653,7 +10666,7 @@ Self-explanatory. :dd
{Variable for region sphere is invalid style} :dt {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 {Variable for restart is invalid style} :dt
@ -10694,7 +10707,7 @@ Self-explanatory. :dd
{Variable has circular dependency} :dt {Variable has circular dependency} :dt
A circular dependency is when variable "a" in used by variable "b" and 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 longer chains of dependence are also not allowed. :dd
{Variable name between brackets must be alphanumeric or underscore characters} :dt {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 {Variable name for fix deform does not exist} :dt
Self-explantory. :dd Self-explanatory. :dd
{Variable name for fix efield does not exist} :dt {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 {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 {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 Lost atoms are checked for each time thermo output is done. See the
thermo_modify lost command for options. Lost atoms usually indicate thermo_modify lost command for options. Lost atoms usually indicate
bad dynamics, e.g. atoms have been blown far out of the simulation 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 reneighboring. :dd
{MSM mesh too small, increasing to 2 points in each direction} :dt {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 {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 type, i.e. the first molecule in the template. :dd
{More than one compute centro/atom} :dt {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 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 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 the currently defined thermo style, and a thermo_style command creates
a new style. :dd 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 {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 of time integration within a timestep (i.e. after atoms move), then
the command that sets up the dynamic group should appear after those the command that sets up the dynamic group should appear after those
fixes. This will insure that dynamic group assignments are made 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 {Using largest cutoff for buck/long/coul/long} :dt
Self-exlanatory. :dd Self-explanatory. :dd
{Using largest cutoff for lj/long/coul/long} :dt {Using largest cutoff for lj/long/coul/long} :dt

View File

@ -37,7 +37,7 @@ pitfalls or alternatives.
Please see some of the closed issues for examples of how to Please see some of the closed issues for examples of how to
suggest code enhancements, submit proposed changes, or report 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 As an alternative to using GitHub, you may e-mail the
"core developers"_http://lammps.sandia.gov/authors.html or send "core developers"_http://lammps.sandia.gov/authors.html or send

View File

@ -573,7 +573,7 @@ LJ epsilon of O-O = 0.16275
LJ sigma of O-O = 3.16435 LJ sigma of O-O = 3.16435
LJ epsilon, sigma of OH, HH = 0.0 :all(b),p 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 cutoff for Coulomb interactions is effectively extended by a distance
2 * (OM distance), to account for the offset distance of the 2 * (OM distance), to account for the offset distance of the
fictitious charges on O atoms in water molecules. Thus it is fictitious charges on O atoms in water molecules. Thus it is
@ -618,7 +618,7 @@ any of the parameters above, though it becomes a different model in
that mode of usage. that mode of usage.
The SPC/E (extended) water model is the same, except The SPC/E (extended) water model is the same, except
the partial charge assignemnts change: the partial charge assignments change:
O charge = -0.8476 O charge = -0.8476
H charge = 0.4238 :all(b),p H charge = 0.4238 :all(b),p
@ -863,7 +863,7 @@ boundary conditions in specific dimensions. See the command doc pages
for details. for details.
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the 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 If the "create_box"_create_box.html command is used with a region of
style {prism}, then a triclinic box is setup. See the style {prism}, then a triclinic box is setup. See the
"region"_region.html command for details. If the "region"_region.html command for details. If the
@ -982,10 +982,10 @@ used with non-orthogonal basis vectors to define a lattice that will
tile a triclinic simulation box via the tile a triclinic simulation box via the
"create_atoms"_create_atoms.html command. "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 npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt
factors to compensate for off-diagonal components of the pressure 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. the "fix box/relax"_fix_box_relax.html command.
A third use is to shear a bulk solid to study the response of the A third use is to shear a bulk solid to study the response of the
@ -1032,6 +1032,10 @@ profile consistent with the applied shear strain rate.
An alternative method for calculating viscosities is provided via the An alternative method for calculating viscosities is provided via the
"fix viscosity"_fix_viscosity.html command. "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 :line
6.14 Finite-size spherical and aspherical particles :link(howto_14),h4 6.14 Finite-size spherical and aspherical particles :link(howto_14),h4
@ -1392,7 +1396,7 @@ custom"_dump.html command.
There is also a "dump local"_dump.html format where the user specifies 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 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 keywords can also be specified (c_ID, f_ID), where a
"compute"_compute.html or "fix"_fix.html or "variable"_variable.html "compute"_compute.html or "fix"_fix.html or "variable"_variable.html
provides the values to be output. In each case, the compute or fix provides the values to be output. In each case, the compute or fix
@ -1525,7 +1529,7 @@ Variables that generate values to output :h5,link(variable)
"Variables"_variable.html defined in an input script can store one or "Variables"_variable.html defined in an input script can store one or
more strings. But equal-style, vector-style, and atom-style or more strings. But equal-style, vector-style, and atom-style or
atomfile-style variables generate a global scalar value, global vector 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 formulas used to define these variables can contain references to the
thermodynamic keywords and to global and per-atom data generated by thermodynamic keywords and to global and per-atom data generated by
computes, fixes, and other variables. The values generated by computes, fixes, and other variables. The values generated by
@ -1585,7 +1589,7 @@ Temperature is computed as kinetic energy divided by some number of
degrees of freedom (and the Boltzmann constant). Since kinetic energy degrees of freedom (and the Boltzmann constant). Since kinetic energy
is a function of particle velocity, there is often a need to is a function of particle velocity, there is often a need to
distinguish between a particle's advection velocity (due to some 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 the two is the particle's total velocity, but the latter is often what
is wanted to compute a temperature. is wanted to compute a temperature.
@ -1640,14 +1644,14 @@ nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
velocities but also rotational velocities for spherical and aspherical velocities but also rotational velocities for spherical and aspherical
particles. 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 to the per-particle thermostatting of "fix
langevin"_fix_langevin.html. langevin"_fix_langevin.html.
Any of the thermostatting fixes can use temperature computes that Any of the thermostatting fixes can use temperature computes that
remove bias which has two effects. First, the current calculated remove bias which has two effects. First, the current calculated
temperature, which is compared to the requested target temperature, is 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 adjusts only the thermal temperature component of the particle's
velocities, which are the velocities with the bias removed. The velocities, which are the velocities with the bias removed. The
removed bias is then added back to the adjusted velocities. See the removed bias is then added back to the adjusted velocities. See the
@ -1888,7 +1892,7 @@ instances of LAMMPS to perform different calculations.
The lammps_open_no_mpi() function is similar except that no MPI The lammps_open_no_mpi() function is similar except that no MPI
communicator is passed from the caller. Instead, MPI_COMM_WORLD is 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 The lammps_close() function is used to shut down an instance of LAMMPS
and free all its memory. and free all its memory.
@ -1936,18 +1940,22 @@ documentation in the src/library.cpp file for details, including
which quantities can be queried by name: which quantities can be queried by name:
void *lammps_extract_global(void *, char *) void *lammps_extract_global(void *, char *)
void lammps_extract_box(void *, double *, double *,
double *, double *, double *, int *, int *)
void *lammps_extract_atom(void *, char *) void *lammps_extract_atom(void *, char *)
void *lammps_extract_compute(void *, char *, int, int) void *lammps_extract_compute(void *, char *, int, int)
void *lammps_extract_fix(void *, char *, int, int, int, int) void *lammps_extract_fix(void *, char *, int, int, int, int)
void *lammps_extract_variable(void *, char *, char *) :pre void *lammps_extract_variable(void *, char *, char *) :pre
int lammps_set_variable(void *, char *, char *) void lammps_reset_box(void *, double *, double *, double, double, double)
double lammps_get_thermo(void *, char *) :pre int lammps_set_variable(void *, char *, char *) :pre
double lammps_get_thermo(void *, char *)
int lammps_get_natoms(void *) int lammps_get_natoms(void *)
void lammps_gather_atoms(void *, double *) void lammps_gather_atoms(void *, double *)
void lammps_scatter_atoms(void *, double *) :pre void lammps_scatter_atoms(void *, double *) :pre
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *) :pre void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
imageint *, int) :pre
The extract functions return a pointer to various global or per-atom The extract functions return a pointer to various global or per-atom
quantities stored in LAMMPS or to values calculated by a compute, fix, quantities stored in LAMMPS or to values calculated by a compute, fix,
@ -1957,26 +1965,35 @@ the other extract functions, the underlying storage may be reallocated
as LAMMPS runs, so you need to re-call the function to assure a as LAMMPS runs, so you need to re-call the function to assure a
current pointer or returned value(s). current pointer or returned value(s).
The lammps_reset_box() function resets the size and shape of the
simulation box, e.g. as part of restoring a previously extracted and
saved state of a simulation.
The lammps_set_variable() function can set an existing string-style The lammps_set_variable() function can set an existing string-style
variable to a new string value, so that subsequent LAMMPS commands can variable to a new string value, so that subsequent LAMMPS commands can
access the variable. The lammps_get_thermo() function returns the access the variable.
current value of a thermo keyword as a double.
The lammps_get_thermo() function returns the current value of a thermo
keyword as a double precision value.
The lammps_get_natoms() function returns the total number of atoms in The 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 the system and can be used by the caller to allocate space for the
lammps_gather_atoms() and lammps_scatter_atoms() functions. The lammps_gather_atoms() and lammps_scatter_atoms() functions. The
gather function collects atom info of the requested type (atom coords, gather function collects atom info of the requested type (atom coords,
types, forces, etc) from all procsesors, orders them by atom ID, and types, forces, etc) from all processors, orders them by atom ID, and
returns a full list to each calling processor. The scatter function returns a full list to each calling processor. The scatter function
does the inverse. It distributes the same kinds of values, does the inverse. It distributes the same kinds of values,
passed by the caller, to each atom owned by individual processors. passed by the caller, to each atom owned by individual processors.
The lammps_create_atoms() function takes a list of N atoms as input The lammps_create_atoms() function takes a list of N atoms as input
with atom types and coords (required), an optionally atom IDs and with atom types and coords (required), an optionally atom IDs and
velocities. It uses the coords of each atom to assign it as a new velocities and image flags. It uses the coords of each atom to assign
atom to the processor that owns it. Additional properties for the new it as a new atom to the processor that owns it. This function is
atoms can be assigned via the lammps_scatter_atoms() or useful to add atoms to a simulation or (in tandem with
lammps_extract_atom() functions. lammps_reset_box()) to restore a previously extracted and saved state
of a simulation. Additional properties for the new atoms can then be
assigned via the lammps_scatter_atoms() or lammps_extract_atom()
functions.
The examples/COUPLE and python directories have example C++ and C and The examples/COUPLE and python directories have example C++ and C and
Python codes which show how a driver code can link to LAMMPS as a Python codes which show how a driver code can link to LAMMPS as a
@ -2000,7 +2017,7 @@ a simple Lennard-Jones fluid model. Also, see "this
section"_Section_howto.html#howto_21 of the manual for an analogous section"_Section_howto.html#howto_21 of the manual for an analogous
discussion for viscosity. 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 of a material to transmit heat energy in a diffusive manner as given
by Fourier's law by Fourier's law
@ -2086,7 +2103,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 moving in another direction, normal to the area through which the
momentum flows. Viscosity thus has units of pressure-time. 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 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 command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to
thermostat the fluid via the SLLOD equations of motion. thermostat the fluid via the SLLOD equations of motion.
@ -2112,7 +2129,7 @@ the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is
swapped between atoms in two different layers of the simulation box in swapped between atoms in two different layers of the simulation box in
a different dimension. This induces a velocity gradient which can be a different dimension. This induces a velocity gradient which can be
monitored with the "fix ave/chunk"_fix_ave_chunk.html command. 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. See the "fix viscosity"_fix_viscosity.html command for details.
The fourth method is based on the Green-Kubo (GK) formula which The fourth method is based on the Green-Kubo (GK) formula which
@ -2255,7 +2272,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 Note that chunk IDs are integer values, so for atom properties or
computes that produce a floating point value, they will be truncated computes that produce a floating point value, they will be truncated
to an integer. You could also use the compute in a variable that 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 = Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
pencils, 3d bins = boxes, spherical bins, cylindrical bins. pencils, 3d bins = boxes, spherical bins, cylindrical bins.
@ -2340,7 +2357,7 @@ largest cluster or fastest diffusing molecule. :l
Example calculations with chunks :h5 Example calculations with chunks :h5
Here are eaxmples using chunk commands to calculate various Here are examples using chunk commands to calculate various
properties: properties:
(1) Average velocity in each of 1000 2d spatial bins: (1) Average velocity in each of 1000 2d spatial bins:
@ -2411,7 +2428,7 @@ which both have their up- and downsides.
The first approach is to set desired real-space an kspace accuracies The first approach is to set desired real-space an kspace accuracies
via the {kspace_modify force/disp/real} and {kspace_modify via the {kspace_modify force/disp/real} and {kspace_modify
force/disp/kspace} commands. Note that the accuracies have to be 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 settings. For real units, 0.0001 and 0.002 seem to provide reasonable
accurate and efficient computations for the real-space and kspace accurate and efficient computations for the real-space and kspace
accuracies. 0.002 and 0.05 work well for most systems using lj accuracies. 0.002 and 0.05 work well for most systems using lj
@ -2431,7 +2448,7 @@ performance. This approach provides a fast initialization of the
simulation. However, it is sensitive to errors: A combination of simulation. However, it is sensitive to errors: A combination of
parameters that will perform well for one system might result in parameters that will perform well for one system might result in
far-from-optimal conditions for other simulations. For example, 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 all-atomistic force fields can provide insufficient accuracy or
united-atomistic force fields (which is related to that the latter united-atomistic force fields (which is related to that the latter
typically have larger dispersion coefficients). typically have larger dispersion coefficients).
@ -2465,7 +2482,7 @@ arithmetic mixing rule substantially increases the computational cost.
The computational overhead can be reduced using the {kspace_modify The computational overhead can be reduced using the {kspace_modify
mix/disp geom} and {kspace_modify splittol} commands. The first mix/disp geom} and {kspace_modify splittol} commands. The first
command simply enforces geometric mixing of the dispersion 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 the computations but will also significantly speed-up the
simulations. The second keyword sets the accuracy with which the simulations. The second keyword sets the accuracy with which the
dispersion coefficients are approximated using a matrix factorization dispersion coefficients are approximated using a matrix factorization
@ -2484,7 +2501,7 @@ to specify this command explicitly.
6.25 Polarizable models :link(howto_25),h4 6.25 Polarizable models :link(howto_25),h4
In polarizable force fields the charge distributions in molecules and 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: systems can be simulated in LAMMPS using three methods:
the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html
@ -2538,7 +2555,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 charge-on-spring models by the methods outlined in the next two
sections. The assignment of masses to the additional degrees of sections. The assignment of masses to the additional degrees of
freedom can lead to unphysical trajectories if care is not exerted in 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. conditions.
In the core-shell model the vibration of the shells is kept faster In the core-shell model the vibration of the shells is kept faster
@ -2560,7 +2577,7 @@ well.
6.26 Adiabatic core/shell model :link(howto_26),h4 6.26 Adiabatic core/shell model :link(howto_26),h4
The adiabatic core-shell model by "Mitchell and 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 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 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 split into a core and a shell where the latter is meant to react to
@ -2654,13 +2671,16 @@ bond_coeff 1 63.014 0.0
bond_coeff 2 25.724 0.0 :pre bond_coeff 2 25.724 0.0 :pre
When running dynamics with the adiabatic core/shell model, the When running dynamics with the adiabatic core/shell model, the
following issues should be considered. Since the relative motion of following issues should be considered. The relative motion of
the core and shell particles corresponds to the polarization, typical the core and shell particles corresponds to the polarization,
thermostats can alter the polarization behaviour, meaning the shell hereby an instantaneous relaxation of the shells is approximated
will not react freely to its electrostatic environment. This is and a fast core/shell spring frequency ensures a nearly constant
critical during the equilibration of the system. Therefore internal kinetic energy during the simulation.
it's typically desirable to decouple the relative motion of the Thermostats can alter this polarization behaviour, by scaling the
core/shell pair, which is an imaginary degree of freedom, from 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 real physical system. To do that, the "compute
temp/cs"_compute_temp_cs.html command can be used, in conjunction with 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 any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix
@ -2691,44 +2711,54 @@ fix thermostatequ all nve # integrator as needed f
fix_modify thermoberendsen temp CSequ fix_modify thermoberendsen temp CSequ
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre 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 If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
relative motion of the core and the shell should in theory be relative motion of the core and the shell should in theory be
stable. However numerical fluctuation can introduce a small stable. However numerical fluctuation can introduce a small
momentum to the system, which is noticable over long trajectories. 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 momentum"_fix_momentum.html command in combination with "compute
temp/cs"_compute_temp_cs.html when equilibrating the system to temp/cs"_compute_temp_cs.html when equilibrating the system to
prevent any drift. 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 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 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 the pairs. This can be done by using the {bias} keyword of the
"velocity create"_velocity.html command and assigning the "compute "velocity create"_velocity.html command and assigning the "compute
temp/cs"_compute_temp_cs.html command to the {temp} keyword of the 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 create 1427 134 bias yes temp CSequ
velocity all scale 1427 temp CSequ :pre velocity all scale 1427 temp CSequ :pre
It is important to note that the polarizability of the core/shell To maintain the correct polarizability of the core/shell pairs, the
pairs is based on their relative motion. Therefore the choice of kinetic energy of the internal motion shall remain nearly constant.
spring force and mass ratio need to ensure much faster relative motion Therefore the choice of spring force and mass ratio need to ensure
of the 2 atoms within the core/shell pair than their center-of-mass much faster relative motion of the 2 atoms within the core/shell pair
velocity. This allow the shells to effectively react instantaneously than their center-of-mass velocity. This allows the shells to
to the electrostatic environment. This fast movement also limits the effectively react instantaneously to the electrostatic environment and
timestep size that can be used. 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 primary literature of the adiabatic core/shell model suggests that
the fast relative motion of the core/shell pairs only allows negligible the fast relative motion of the core/shell pairs only allows negligible
energy transfer to the environment. Therefore it is not intended to energy transfer to the environment.
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).
The mentioned energy transfer will typically lead to a small drift The mentioned energy transfer will typically lead to a small drift
in total energy over time. This internal energy can be monitored in total energy over time. This internal energy can be monitored
using the "compute chunk/atom"_compute_chunk_atom.html and "compute using the "compute chunk/atom"_compute_chunk_atom.html and "compute
@ -2748,14 +2778,20 @@ command, to use as input to the "compute
chunk/atom"_compute_chunk_atom.html command to define the core/shell chunk/atom"_compute_chunk_atom.html command to define the core/shell
pairs as chunks. 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 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 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 prop all property/atom i_CSID
compute cs_chunk all chunk/atom c_prop (...) :pre
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
The additional section in the date file would be formatted like this: The additional section in the date file would be formatted like this:
@ -2776,7 +2812,7 @@ CS-Info # header of additional section :pre
6.27 Drude induced dipoles :link(howto_27),h4 6.27 Drude induced dipoles :link(howto_27),h4
The thermalized Drude model, similarly to the "core-shell"_#howto_26 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 and the Drude particle) connected by a harmonic spring. The Drude
model has a number of features aimed at its use in molecular systems model has a number of features aimed at its use in molecular systems
("Lamoureux and Roux"_#howto-Lamoureux): ("Lamoureux and Roux"_#howto-Lamoureux):
@ -2877,9 +2913,13 @@ Phys, 79, 926 (1983).
:link(Shinoda) :link(Shinoda)
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). [(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
:link(MitchellFinchham) :link(MitchellFincham)
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, [(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter,
5, 1031-1038 (1993). 5, 1031-1038 (1993).
:link(MitchellFincham2)
[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
6, 393-404 (1994).
:link(howto-Lamoureux) :link(howto-Lamoureux)
[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) [(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)

View File

@ -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) 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: retrieve an atom's info from the buffer (required)
unpack_comm_vel: also retrieve velocity info (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: store an atom's info in a buffer communicating partial forces (required)
pack_reverse_hybrid: store extra info unique to this atom style (optional) 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: 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: 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_vel: add velocity info to buffer (required)
pack_border_hybrid: store extra info unique to this atom style (optional) 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: retrieve an atom's info from the buffer (required)
unpack_border_vel: also retrieve velocity info (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) 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) unpack_exchange: retrieve an atom's info from the buffer (required)
size_restart: number of restart quantities associated with proc's atoms (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) post_force_respa: same as post_force, but for rRESPA (optional)
final_integrate_respa: same as final_integrate, 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_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_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_pushstore: push the minimization LIFO stack one element down (optional)
min_popstore: pop the minimization LIFO stack one element up (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 inside: determine whether a point is in the region
surface_interior: determine if a point is within a cutoff distance inside of surc 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 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 :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. "here"_Section_modify.html#mod_13 on this page.
Adding a new math function of one or two arguments can be done by 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. the word "customize" to find the appropriate location.
Adding a new group function can be done by editing one section of the 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 the appropriate location. You may need to add a new method to the
Group class as well (see the group.cpp file). Group class as well (see the group.cpp file).
Accessing a new atom-based vector can be done by editing one section 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. to find the appropriate location.
Adding new "compute styles"_compute.html (whose calculated values can 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 contribute several individual features. :l
If you want your contribution to be added as a user-contribution and 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 package directory with a name like USER-FOO. In addition to your new
files, the directory should contain a README text file. The README files, the directory should contain a README text file. The README
should contain your name and contact information and a brief 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 the doc page should indicate that your command is only available if
LAMMPS is built with the appropriate USER-MISC or USER-FOO package. 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 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 virtualenv, the requirement for generating the PDF format manual
is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least 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 doc page before submitting your code. :l
For a new package (or even a single command) you should include one or For a new package (or even a single command) you should include one or

View File

@ -84,7 +84,7 @@ Package, Description, Author(s), Doc page, Example, Library
"PERI"_#PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, - "PERI"_#PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
"POEMS"_#POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems "POEMS"_#POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
"PYTHON"_#PYTHON, embed Python code in an input script, -, "python"_python.html, python, lib/python "PYTHON"_#PYTHON, embed Python code in an input script, -, "python"_python.html, python, lib/python
"REAX"_#REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax "REAX"_#REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax, lib/reax
"REPLICA"_#REPLICA, multi-replica methods, -, "Section 6.6.5"_Section_howto.html#howto_5, tad, - "REPLICA"_#REPLICA, multi-replica methods, -, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
"RIGID"_#RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, - "RIGID"_#RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, -
"SHOCK"_#SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, - "SHOCK"_#SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
@ -94,7 +94,7 @@ Package, Description, Author(s), Doc page, Example, Library
:tb(ea=c) :tb(ea=c)
The "Authors" column lists a name(s) if a specific person is 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 (1) The COLLOID package includes Fast Lubrication Dynamics pair styles
which were created by Amit Kumar and Michael Bybee from Jonathan 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 acceleration, or Intel Xeon Phi. (You can build multiple times to
create LAMMPS executables for different hardware.) It also requires a create LAMMPS executables for different hardware.) It also requires a
C++11 compatible compiler. For GPUs, the NVIDIA "nvcc" compiler is 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. Makefile.machine for your GPU hardware and NVIDIA software.
The simplest way to do this is to use Makefile.kokkos_cuda or 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 in the package are nudged elastic band (NEB), parallel replica
dynamics (PRD), temperature accelerated dynamics (TAD), parallel dynamics (PRD), temperature accelerated dynamics (TAD), parallel
tempering, and a verlet/split algorithm for performing long-range tempering, and a verlet/split algorithm for performing long-range
Coulombics on one set of processors, and the remainded of the force Coulombics on one set of processors, and the remainder of the force
field calcalation on another set. field calculation on another set.
To install via make or Make.py: 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-ATC"_#USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (1), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd "USER-AWPMD"_#USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
"USER-CG-CMM"_#USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, - "USER-CG-CMM"_#USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, -
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, Oliver Henrich (U Edinburgh), src/USER-CGDNA/README, USER/cgdna, -, -
"USER-COLVARS"_#USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (2), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars "USER-COLVARS"_#USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (2), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars
"USER-DIFFRACTION"_#USER-DIFFRACTION, virutal x-ray and electron diffraction, Shawn Coleman (ARL),"compute xrd"_compute_xrd.html, USER/diffraction, -, - "USER-DIFFRACTION"_#USER-DIFFRACTION, virutal x-ray and electron diffraction, Shawn Coleman (ARL),"compute xrd"_compute_xrd.html, USER/diffraction, -, -
"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics (DPD), Larentzos & Mattox & Brennan (5), src/USER-DPD/README, USER/dpd, -, - "USER-DPD"_#USER-DPD, reactive dissipative particle dynamics (DPD), Larentzos & Mattox & Brennan (5), src/USER-DPD/README, USER/dpd, -, -
@ -1153,7 +1154,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, - "USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, -
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surface, Stefan Paquay (Eindhoven U of Technology), "fix manifoldforce"_fix_manifoldforce.html, USER/manifold, "manifold"_manifold, - "USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surface, Stefan Paquay (Eindhoven U of Technology), "fix manifoldforce"_fix_manifoldforce.html, USER/manifold, "manifold"_manifold, -
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE "USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
"USER-NC-DUMP"_#USER-NC-DUMP, dump output via NetCDF, Lars Pastewka (Karlsruhe Institute of Technology, KIT), "dump nc, dump nc/mpiio"_dump_nc.html, -, -, lib/netcdf "USER-NC-DUMP"_#USER-NC-DUMP, dump output via NetCDF, Lars Pastewka (Karlsruhe Institute of Technology, KIT), "dump nc / dump nc/mpiio"_dump_nc.html, -, -, lib/netcdf
"USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section 5.3.4"_accelerate_omp.html, -, -, - "USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section 5.3.4"_accelerate_omp.html, -, -, -
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, - "USER-PHONON"_#USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, -
"USER-QMMM"_#USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm "USER-QMMM"_#USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm
@ -1175,7 +1176,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
:link(VMD,http://www.ks.uiuc.edu/Research/vmd) :link(VMD,http://www.ks.uiuc.edu/Research/vmd)
The "Authors" column lists a name(s) if a specific person is 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 (1) The ATC package was created by Reese Jones, Jeremy Templeton, and
Jon Zimmerman (Sandia). Jon Zimmerman (Sandia).
@ -1284,6 +1285,31 @@ him directly if you have questions.
:line :line
USER-CGDNA package :link(USER-CGDNA),h5
Contents: The CGDNA package implements coarse-grained force fields for
single- and double-stranded DNA. This is at the moment mainly the
oxDNA model, developed by Doye, Louis and Ouldridge at the University
of Oxford. The package also contains Langevin-type rigid-body
integrators with improved stability.
See these doc pages to get started:
"bond_style oxdna/fene"_bond_oxdna.html
"pair_style oxdna/..."_pair_oxdna.html
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
Supporting info: /src/USER-CGDNA/README, "bond_style
oxdna/fene"_bond_oxdna.html, "pair_style
oxdna/..."_pair_oxdna.html, "fix
nve/dotc/langevin"_fix_nve_dotc_langevin.html
Author: Oliver Henrich at the University of Edinburgh, UK (o.henrich
at epcc.ed.ac.uk or ohenrich at ph.ed.ac.uk). Contact him directly if
you have any questions.
:line
USER-COLVARS package :link(USER-COLVARS),h5 USER-COLVARS package :link(USER-COLVARS),h5
Contents: COLVARS stands for collective variables which can be used to Contents: COLVARS stands for collective variables which can be used to
@ -1610,11 +1636,12 @@ and a "dump nc/mpiio"_dump_nc.html command to output LAMMPS snapshots
in this format. See src/USER-NC-DUMP/README for more details. in this format. See src/USER-NC-DUMP/README for more details.
NetCDF files can be directly visualized with the following tools: NetCDF files can be directly visualized with the following tools:
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention Ovito (http://www.ovito.org/). Ovito supports the AMBER convention
and all of the above extensions. :ulb,l and all of the above extensions. :ulb,l
VMD (http://www.ks.uiuc.edu/Research/vmd/) :l VMD (http://www.ks.uiuc.edu/Research/vmd/) :l
AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye contains AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye contains
a NetCDF reader that is not present in the standard distribution of AtomEye :l,ule a NetCDF reader that is not present in the standard distribution of AtomEye :l,ule
The person who created these files is Lars Pastewka at The person who created these files is Lars Pastewka at
Karlsruhe Institute of Technology (lars.pastewka at kit.edu). Karlsruhe Institute of Technology (lars.pastewka at kit.edu).
@ -1751,7 +1778,7 @@ particularly with respect to the charge equilibration calculation. It
should also be easier to build and use since there are no complicating should also be easier to build and use since there are no complicating
issues with Fortran memory allocation or linking to a Fortran library. 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: this paper:
Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods
@ -1821,7 +1848,7 @@ See this doc page to get started:
The persons who created the USER-SMTBQ package are Nicolas Salles, The persons who created the USER-SMTBQ package are Nicolas Salles,
Emile Maras, Olivier Politano, Robert Tetot, who can be contacted at 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. them directly if you have any questions.
Examples: examples/USER/smtbq Examples: examples/USER/smtbq

View File

@ -69,7 +69,7 @@ bench/in.lj input script.
For all the benchmarks, a useful metric is the CPU cost per atom per For all the benchmarks, a useful metric is the CPU cost per atom per
timestep. Since performance scales roughly linearly with problem size 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 potentials), the run time of any problem using the same model (atom
style, force field, cutoff, etc) can then be estimated. style, force field, cutoff, etc) can then be estimated.

View File

@ -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 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 Python. For example, LAMMPS can easily be coupled to a GUI or other
visualization tools that display graphs or animations in real time as 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. directory.
Two advantages of using Python to run LAMMPS are how concise the 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. lib/python/README file for more info.
If you want to write Python code with callbacks to LAMMPS, then you 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 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 shared library and insure that Python can find the python/lammps.py
file and the shared library. 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 Again, the "sudo" is only needed if required to copy PyPar files into
your Python distribution's site-packages directory. 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 Python and type
import pypar :pre import pypar :pre
@ -369,7 +369,7 @@ user privilege into the user local directory type
python setup.py install --user :pre 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 Python and type
from mpi4py import MPI :pre from mpi4py import MPI :pre
@ -610,7 +610,7 @@ lmp = lammps() :pre
create an instance of LAMMPS, wrapped in a Python class by the lammps 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 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 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 of the shared library to load or to pass arguments to the LAMMPS
@ -662,7 +662,7 @@ or integers (int **) is returned. You need to specify the appropriate
data type via the type argument. data type via the type argument.
For extract_compute() and extract_fix(), the global, per-atom, or 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 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 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 the compute or fix calculates a vector or array, a pointer to the
@ -774,7 +774,7 @@ demo.py, invoke various LAMMPS library interface routines,
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp, 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, 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, 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, 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) vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2)

View File

@ -80,7 +80,7 @@ This section has the following sub-sections:
Read this first :h5,link(start_2_1) 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 section about options available for downloading and installing
executables. Details are discussed on the "download"_download page. 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). clean options).
The LMP_INC variable is used to include options that turn on ifdefs 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_GZIP
-DLAMMPS_JPEG -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 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 3 variables, assuming /usr/local is in your path. On some large
parallel machines which use "modules" for their compile/link 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 your build environment, before building LAMMPS. Or the parallel
machine may have a vendor-provided MPI which the compiler has no machine may have a vendor-provided MPI which the compiler has no
trouble finding. 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 particle-mesh (PPPM) option for long-range Coulombics via the
"kspace_style"_kspace_style.html command. "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 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 use the open-source "KISS FFT library"_http://kissfft.sf.net, which is
included in the LAMMPS distribution. This library is portable to all 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 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 setting by a switch of the form -DFFT_XXX. Recommended values for XXX
are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI, are: MKL or FFTW3. FFTW2 and NONE are supported as legacy options.
ACML, and T3E. For backward compatability, using -DFFT_FFTW will use Selecting -DFFT_FFTW will use the FFTW3 library and -DFFT_NONE will
the FFTW2 library. Using -DFFT_NONE will use the KISS library use the KISS library described above.
described above.
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, 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 so the compiler and linker can find the needed FFT header and library
files. Note that on some large parallel machines which use "modules" 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 the correct module in your build environment. Or the parallel machine
may have a vendor-provided FFT library which the compiler has no may have a vendor-provided FFT library which the compiler has no
trouble finding. 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 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 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 and related PPPM operations are somewhat insensitive to floating point
truncation errors and thus do not always need to be performed in truncation errors and thus do not always need to be performed in
double precision. Using the -DFFT_SINGLE setting trades off a little 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 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 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. 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 also type
lmp_machine -h :pre 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 rename if desired. Likewise it creates an executable named
src/lmp_auto, which you can rename using the -o switch if desired. 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 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 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 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 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 -fPIC flag which is required for inclusion in a shared library. The
build will create the file liblammps_foo.so which another application 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 which will point to the most recently built shared library. This is
the file the Python wrapper loads by default. the file the Python wrapper loads by default.
@ -1417,8 +1416,8 @@ LAMMPS is compiled with CUDA=yes.
numa Nm :pre numa Nm :pre
This option is only relevant when using pthreads with hwloc support. This option is only relevant when using pthreads with hwloc support.
In this case Nm defines the number of NUMA regions (typicaly sockets) In this case Nm defines the number of NUMA regions (typically sockets)
on a node which will be utilizied by a single MPI rank. By default Nm 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 = 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 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 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 installed on a machine (e.g. your desktop), you can run on more
(virtual) processors than you have physical processors. (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 multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
of the manual. World- and universe-style "variables"_variable.html of the manual. World- and universe-style "variables"_variable.html
are useful in this context. 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 appends statistics about the CPU time and storage requirements for the
simulation. An example set of statistics is shown here: simulation. An example set of statistics is shown here:
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre
Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s
97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre 97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre
@ -1757,14 +1756,14 @@ Ave special neighs/atom = 2.34032
Neighbor list builds = 26 Neighbor list builds = 26
Dangerous builds = 0 :pre Dangerous builds = 0 :pre
The first section provides a global loop timing summary. The loop time The first section provides a global loop timing summary. The {loop time}
is the total wall time for the section. The {Performance} line is is the total wall time for the section. The {Performance} line is
provided for convenience to help predicting the number of loop provided for convenience to help predicting the number of loop
continuations required and for comparing performance with other continuations required and for comparing performance with other,
similar MD codes. The CPU use line provides the CPU utilzation per similar MD codes. The {CPU use} line provides the CPU utilization per
MPI task; it should be close to 100% times the number of OpenMP MPI task; it should be close to 100% times the number of OpenMP
threads (or 1). Lower numbers correspond to delays due to file I/O or threads (or 1 of no OpenMP). Lower numbers correspond to delays due
insufficient thread utilization. to file I/O or insufficient thread utilization.
The MPI task section gives the breakdown of the CPU run time (in The MPI task section gives the breakdown of the CPU run time (in
seconds) into major categories: seconds) into major categories:
@ -1791,7 +1790,7 @@ is present that also prints the CPU utilization in percent. In
addition, when using {timer full} and the "package omp"_package.html addition, when using {timer full} and the "package omp"_package.html
command are active, a similar timing summary of time spent in threaded command are active, a similar timing summary of time spent in threaded
regions to monitor thread utilization and load balance is provided. A regions to monitor thread utilization and load balance is provided. A
new entry is the {Reduce} section, which lists the time spend in new entry is the {Reduce} section, which lists the time spent in
reducing the per-thread data elements to the storage for non-threaded reducing the per-thread data elements to the storage for non-threaded
computation. These thread timings are taking from the first MPI rank computation. These thread timings are taking from the first MPI rank
only and and thus, as the breakdown for MPI tasks can change from MPI only and and thus, as the breakdown for MPI tasks can change from MPI

View File

@ -471,7 +471,7 @@ These tools were written by Aidan Thompson at Sandia.
restart2data tool :h4,link(restart) restart2data tool :h4,link(restart)
NOTE: This tool is now obsolete and is not included in the current NOTE: This tool is now obsolete and is not included in the current
LAMMPS distribution. This is becaues there is now a LAMMPS distribution. This is because there is now a
"write_data"_write_data.html command, which can create a data file "write_data"_write_data.html command, which can create a data file
from within an input script. Running LAMMPS with the "-r" from within an input script. Running LAMMPS with the "-r"
"command-line switch"_Section_start.html#start_7 as follows: "command-line switch"_Section_start.html#start_7 as follows:

View File

@ -27,7 +27,7 @@
syntax</a></h2> syntax</a></h2>
<p>fix_modify AtC consistent_fe_initialization &lt;on | off&gt;</p> <p>fix_modify AtC consistent_fe_initialization &lt;on | off&gt;</p>
<ul> <ul>
<li>&lt;on|off&gt; = switch to activiate/deactiviate the intial setting of FE intrinsic field to match the projected MD field </li> <li>&lt;on|off&gt; = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field </li>
</ul> </ul>
<h2><a class="anchor" id="examples"> <h2><a class="anchor" id="examples">
examples</a></h2> examples</a></h2>

View File

@ -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. 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 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 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:] [Currently Available USER-INTEL Styles:]
@ -29,7 +29,7 @@ Bond Styles: fene, harmonic :l
Dihedral Styles: charmm, harmonic, opls :l Dihedral Styles: charmm, harmonic, opls :l
Fixes: nve, npt, nvt, nvt/sllod :l Fixes: nve, npt, nvt, nvt/sllod :l
Improper Styles: cvff, harmonic :l Improper Styles: cvff, harmonic :l
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne, Pair Styles: buck/coul/cut, buck/coul/long, buck, eam, gayberne,
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
K-Space Styles: pppm :l K-Space Styles: pppm :l
:ule :ule
@ -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 recommended version of the Intel compiler is 14.0.1.106 or
versions 15.0.2.044 and higher. 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 currently, vectorization directives are disabled by default when
not using Intel compilers due to lack of standard support and not using Intel compilers due to lack of standard support and
observations of decreased performance. The OpenMP standard now 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 with computation on the coprocessor when the "newton"_newton.html
setting is "on". The default is dependent on the style being used, setting is "on". The default is dependent on the style being used,
however, better performance may be achieved by setting this option however, better performance may be achieved by setting this option
explictly. explicitly.
When using offload with CPU Hyper-Threading disabled, it may help When using offload with CPU Hyper-Threading disabled, it may help
performance to use fewer MPI tasks and OpenMP threads than available performance to use fewer MPI tasks and OpenMP threads than available

View File

@ -110,14 +110,14 @@ mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :p
[Required hardware/software:] [Required hardware/software:]
Kokkos support within LAMMPS must be built with a C++11 compatible Kokkos support within LAMMPS must be built with a C++11 compatible
compiler. If using gcc, version 4.8.1 or later is required. compiler. If using gcc, version 4.7.2 or later is required.
To build with Kokkos support for CPUs, your compiler must support the To build with Kokkos support for CPUs, your compiler must support the
OpenMP interface. You should have one or more multi-core CPUs so that OpenMP interface. You should have one or more multi-core CPUs so that
multiple threads can be launched by each MPI task running on a CPU. multiple threads can be launched by each MPI task running on a CPU.
To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
version 6.5 or later must be installed on your system. See the version 7.5 or later must be installed on your system. See the
discussion for the "GPU"_accelerate_gpu.html package for details of discussion for the "GPU"_accelerate_gpu.html package for details of
how to check and do this. how to check and do this.
@ -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 KOKKOS_ARCH setting that matches the compute capability of your NVIDIA
hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note
the minimal required compute capability is 2.0, but this will give 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 with compute capability 3.x. For the LINK setting, "nvcc" should not
be used; instead use g++ or another compiler suitable for linking C++ be used; instead use g++ or another compiler suitable for linking C++
applications. Often you will want to use your MPI compiler wrapper 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 threads to hardware cores. More info on binding threads to cores is
given in "Section 5.3"_Section_accelerate.html#acc_3. 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. Intel Phi processor.
KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism 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 coprocessor, and choose the number of coprocessor threads to use
per MPI task (via the "-k" command-line switch discussed below). The per MPI task (via the "-k" command-line switch discussed below). The
product of MPI tasks * coprocessor threads/task should not exceed 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 otherwise performance will suffer. This value is 240 for current
generation Xeon Phi(TM) chips, which is 60 physical cores * 4 generation Xeon Phi(TM) chips, which is 60 physical cores * 4
threads/core. Note that with the KOKKOS package you do not need to 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 You must still use the "-k on" "command-line
switch"_Section_start.html#start_7 to enable the KOKKOS package, and 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. your system, as documented above.
Use the "suffix kk"_suffix.html command, or you can explicitly add a Use the "suffix kk"_suffix.html command, or you can explicitly add a

View File

@ -8,6 +8,7 @@
angle_style class2 command :h3 angle_style class2 command :h3
angle_style class2/omp command :h3 angle_style class2/omp command :h3
angle_style class2/kk command :h3
[Syntax:] [Syntax:]

View File

@ -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 Unlike other angle styles, the hybrid angle style does not store angle
coefficient info for individual sub-styles in a "binary restart 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. file, you need to re-specify angle_coeff commands.
[Related commands:] [Related commands:]

View File

@ -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 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 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. is run.
The {sort} keyword turns on a spatial sorting or reordering of atoms 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. 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. 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 or iterations during a minimization. More precisely, reordering
occurs at the first reneighboring that occurs after the target occurs at the first reneighboring that occurs after the target
timestep. The reordering is performed locally by each processor, 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 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 other in the processor's one-dimensional list of atoms that are also
near to each other spatially. This can improve cache performance when 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 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 too large, there will be many atoms/bin. In both cases, the goal of
cache locality will be undermined. 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 NOTE: Running a simulation with sorting on versus off should not
change the simulation results in a statistical sense. However, a change the simulation results in a statistical sense. However, a
different ordering will induce round-off differences, which will lead 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 Various commands, particularly those which use random numbers
(e.g. "velocity create"_velocity.html, and "fix (e.g. "velocity create"_velocity.html, and "fix
langevin"_fix_langevin.html), may generate (statistically identical) langevin"_fix_langevin.html), may generate (statistically identical)

View File

@ -115,7 +115,7 @@ particle.
For the {ellipsoid} style, the particles are ellipsoids and each For the {ellipsoid} style, the particles are ellipsoids and each
stores a flag which indicates whether it is a finite-size ellipsoid or 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 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. with its orientation.
For the {dipole} style, a point dipole is defined for each point For the {dipole} style, a point dipole is defined for each point
@ -149,7 +149,7 @@ Hydrodynamics. Both fluids and solids can be modeled. Particles
store the mass and volume of an integration point, a kernel diameter store the mass and volume of an integration point, a kernel diameter
used for calculating the field variables (e.g. stress and deformation) used for calculating the field variables (e.g. stress and deformation)
and a contact radius for calculating repulsive forces which prevent 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 The {wavepacket} style is similar to {electron}, but the electrons may
consist of several Gaussian wave packets, summed up with coefficients consist of several Gaussian wave packets, summed up with coefficients
@ -165,7 +165,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 stores a per-particle mass and size and orientation (i.e. the corner
points of the triangle). 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 defined via a molecule template using the "molecule"_molecule.html
command. The template stores one or more molecules with a single copy command. The template stores one or more molecules with a single copy
of the topology info (bonds,angles,etc) of each. Individual atoms of the topology info (bonds,angles,etc) of each. Individual atoms
@ -195,7 +195,7 @@ the {bstyle} argument. Body particles can represent complex entities,
such as surface meshes of discrete points, collections of such as surface meshes of discrete points, collections of
sub-particles, deformable objects, etc. 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 currently supports, and provides more details as to the kind of body
particles they represent. For all styles, each body particle stores particles they represent. For all styles, each body particle stores
moments of inertia and a quaternion 4-vector, so that its orientation moments of inertia and a quaternion 4-vector, so that its orientation
@ -280,7 +280,7 @@ The {dpd} style is part of the USER-DPD package for dissipative
particle dynamics (DPD). particle dynamics (DPD).
The {meso} style is part of the USER-SPH package for smoothed particle 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. guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
The {wavepacket} style is part of the USER-AWPMD package for the The {wavepacket} style is part of the USER-AWPMD package for the

View File

@ -12,7 +12,7 @@ balance command :h3
balance thresh style args ... keyword args ... :pre 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 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 style = {x} or {y} or {z} or {shift} or {rcb} :l
{x} args = {uniform} or Px-1 numbers between 0 and 1 {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 {shift} args = dimstr Niter stopthresh
dimstr = sequence of letters containing "x" or "y" or "z", each not more than once 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 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 {rcb} args = none :pre
zero or more keyword/arg pairs may be appended :l zero or more keyword/arg pairs may be appended :l
keyword = {weight} or {out} :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 Load-balancing is typically most useful if the particles in the
simulation box have a spatially-varying density distribution or when 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 particles. E.g. a model of a vapor/liquid interface, or a solid with
an irregular-shaped geometry containing void regions, or "hybrid pair an irregular-shaped geometry containing void regions, or "hybrid pair
style simulations"_pair_hybrid.html which combine pair styles with style simulations"_pair_hybrid.html which combine pair styles with
different computational cost. In these cases, the LAMMPS default of different computational cost. In these cases, the LAMMPS default of
dividing the simulation box volume into a regular-spaced grid of 3d 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 numbers of particles per processor in a way that the computational
effort varies significantly. This can lead to poor performance when effort varies significantly. This can lead to poor performance when
the simulation is run in parallel. 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 With no weighting, the balancing attempts to assign an equal number of
particles to each processor. With weighting, the balancing attempts particles to each processor. With weighting, the balancing attempts
to assign an equal aggregate computational weight to each processor, 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 processor. Details on the various weighting options and examples for
how they can be used are "given below"_#weighted_balance. 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 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 the right (or upper) edge is 1.0. Neither of these values is
specified. Only the interior Ps-1 positions are specified. Thus 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 such as 0.75, which would make the left processor's sub-domain 3x
larger than the right processor's sub-domain. 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. the balance procedure ends.
NOTE: At each rebalance operation, the bisectioning for each cutting 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 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 of this bracketing region shrinks by 1/2 every iteration. Thus if
{Niter} is specified as 10, the cutting plane will typically be {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. simulation domain. The basic idea is as follows.
The simulation domain is cut into 2 boxes by an axis-aligned cut in 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. one of the dimensions, leaving one new sub-box on either side of the
All the processors are also partitioned into 2 groups, half assigned cut. Which dimension is chosen for the cut depends on the particle
to the box on the lower side of the cut, and half to the box on the (weight) distribution within the parent box. Normally the longest
upper side. (If the processor count is odd, one side gets an extra dimension of the box is cut, but if all (or most) of the particles are
processor.) The cut is positioned so that the number of particles in at one end of the box, a cut may be performed in another dimension to
the lower box is exactly the number that the processors assigned to induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in
that box should own for load balance to be perfect. This also makes shape.
load balance for the upper box perfect. The positioning is done
iteratively, by a bisectioning method. Note that counting particles After the cut is made, all the processors are also partitioned into 2
on either side of the cut requires communication between all groups, half assigned to the box on the lower side of the cut, and
processors at each iteration. 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 That is the procedure for the first cut. Subsequent cuts are made
recursively, in exactly the same manner. The subset of processors recursively, in exactly the same manner. The subset of processors
assigned to each box make a new cut in the longest dimension of that assigned to each box make a new cut in one dimension of that box,
box, splitting the box, the subset of processsors, and the particles splitting the box, the subset of processors, and the particles in the
in the box in two. The recursion continues until every processor is box in two. The recursion continues until every processor is assigned
assigned a sub-box of the entire simulation domain, and owns the a sub-box of the entire simulation domain, and owns the (weighted)
particles in that sub-box. particles in that sub-box.
:line :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. of neighbors is likely to overestimate the ideal weight.
This weight style is useful for systems where there are different 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 fluctuates, or a large number of particles are in the vicinity of a
wall, or a combination of these effects. If a simulation uses wall, or a combination of these effects. If a simulation uses
multiple neighbor lists, this weight style will use the first suitable 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 decreases by {factor}. In both cases the intermediate weight values
increase/decrease proportionally as well. A value = 1.0 has no effect 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 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 mentioned above can be affected by communication which occurs in the
middle of the operations, e.g. pair styles with intermediate exchange middle of the operations, e.g. pair styles with intermediate exchange
of data witin the force computation, and likewise for KSpace solves. of data witin the force computation, and likewise for KSpace solves.

View File

@ -82,7 +82,7 @@ internal stress that induces fragmentation :ul
then the interaction between pairs of particles is likely to be more then the interaction between pairs of particles is likely to be more
complex than the summation of simple sub-particle interactions. An complex than the summation of simple sub-particle interactions. An
example is contact or frictional forces between particles with planar 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 These are additional LAMMPS commands that can be used with body
particles of different styles particles of different styles
@ -105,7 +105,7 @@ in the sections below.
The {nparticle} body style represents body particles as a rigid body The {nparticle} body style represents body particles as a rigid body
with a variable number N of sub-particles. It is provided as a 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 mentioned above, the "fix rigid"_fix_rigid.html command already
duplicates its functionality. duplicates its functionality.
@ -140,7 +140,7 @@ for more details.
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
values consistent with the current orientation of the rigid body values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the 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. rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each sub-particle are specified as its x,y,z The coordinates of each sub-particle are specified as its x,y,z
displacement from the center-of-mass of the body particle. The 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 The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
values consistent with the current orientation of the rigid body values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the 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. rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each vertex are specified as its x,y,z displacement 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 from the center-of-mass of the body particle. The center-of-mass

View File

@ -8,6 +8,7 @@
bond_style class2 command :h3 bond_style class2 command :h3
bond_style class2/omp command :h3 bond_style class2/omp command :h3
bond_style class2/kk command :h3
[Syntax:] [Syntax:]

View File

@ -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 Unlike other bond styles, the hybrid bond style does not store bond
coefficient info for individual sub-styles in a "binary restart 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. file, you need to re-specify bond_coeff commands.
[Related commands:] [Related commands:]

70
doc/src/bond_oxdna.txt Normal file
View File

@ -0,0 +1,70 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
bond_style oxdna/fene command :h3
[Syntax:]
bond_style oxdna/fene :pre
[Examples:]
bond_style oxdna/fene
bond_coeff * 2.0 0.25 0.7525 :pre
[Description:]
The {oxdna/fene} bond style uses the potential
:c,image(Eqs/bond_oxdna_fene.jpg)
to define a modified finite extensible nonlinear elastic (FENE) potential
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
in the oxDNA force field for coarse-grained modelling of DNA.
The following coefficients must be defined for the bond type via the
"bond_coeff"_bond_coeff.html command as given in the above example, or in
the data file or restart files read by the "read_data"_read_data.html
or "read_restart"_read_restart.html commands:
epsilon (energy)
Delta (distance)
r0 (distance) :ul
NOTE: This bond style has to be used together with the corresponding oxDNA pair styles
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
"pair_style oxdna/excv"_pair_oxdna.html). The coefficients
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
Example input and data files can be found in examples/USER/cgdna/examples/duplex1/ and /duplex2/.
A simple python setup tool which creates single straight or helical DNA strands,
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
A technical report with more information on the model, the structure of the input file,
the setup tool and the performance of the LAMMPS-implementation of oxDNA
can be found "here"_PDF/USER-CGDNA-overview.pdf.
:line
[Restrictions:]
This bond style can only be used if LAMMPS was built with the
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]
"pair_style oxdna/excv"_pair_oxdna.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).

View File

@ -15,6 +15,7 @@ Bond Styles :h1
bond_morse bond_morse
bond_none bond_none
bond_nonlinear bond_nonlinear
bond_oxdna
bond_quartic bond_quartic
bond_table bond_table
bond_zero bond_zero

View File

@ -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: is non-periodic and atoms extend from 0 to 20 in all dimensions:
change_box all x final -10 20 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 change_box all x final -10 20 boundary f s s
create_atoms 1 single -5 5 5 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 NOTE: Unlike the earlier "displace_box" version of this command, atom
remapping is NOT performed by default. This command allows remapping remapping is NOT performed by default. This command allows remapping
@ -258,8 +258,8 @@ command.
:line :line
The {ortho} and {triclinic} keywords convert the simulation box to be The {ortho} and {triclinic} keywords convert the simulation box to be
orthogonal or triclinic (non-orthongonal). See "this orthogonal or triclinic (non-orthogonal). See "this
section"_Section_howto#howto_13 for a discussion of how non-orthongal section"_Section_howto#howto_13 for a discussion of how non-orthogonal
boxes are represented in LAMMPS. boxes are represented in LAMMPS.
The simulation box is defined as either orthogonal or triclinic when 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 The {remap} keyword remaps atom coordinates from the last saved box
size/shape to the current box state. For example, if you stretch the 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} 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 conform to the new box size/shape, as if the atoms moved with the box
as it deformed. as it deformed.

View File

@ -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 information for nearby atoms, communication must now be done with a
more complex pattern of neighboring processors. 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 simulation box (a domain decomposition), rather it determines what
kinds of decompositions are allowed and the pattern of communication kinds of decompositions are allowed and the pattern of communication
used to enable the decomposition. A decomposition is created when the used to enable the decomposition. A decomposition is created when the

View File

@ -91,6 +91,7 @@ Commands :h1
suffix suffix
tad tad
temper temper
temper_grem
thermo thermo
thermo_modify thermo_modify
thermo_style thermo_style

View File

@ -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/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component
"temp/region"_compute_temp_region.html - temperature of a region of atoms "temp/region"_compute_temp_region.html - temperature of a region of atoms
"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles "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 "torque/chunk"_compute_torque_chunk.html - torque applied on each chunk
"vacf"_compute_vacf.html - velocity-autocorrelation function of group of atoms "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 "vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk

View File

@ -22,7 +22,7 @@ compute 1 fluid angmom/chunk molchunk :pre
[Description:] [Description:]
Define a computation that calculates the angular momemtum of multiple Define a computation that calculates the angular momentum of multiple
chunks of atoms. chunks of atoms.
In LAMMPS, chunks are collections of atoms defined by a "compute In LAMMPS, chunks are collections of atoms defined by a "compute

View File

@ -51,12 +51,12 @@ relative to the center of mass (COM) velocity of the 2 atoms in the
bond. bond.
The value {engvib} is the vibrational kinetic energy of the two atoms The value {engvib} is the vibrational kinetic energy of the two atoms
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
v2 are the magnitude of the velocity of the 2 atoms along the bond v2 are the magnitude of the velocity of the 2 atoms along the bond
direction, after the COM velocity has been subtracted from each. direction, after the COM velocity has been subtracted from each.
The value {engrot} is the rotationsl kinetic energy of the two atoms The value {engrot} is the rotationsl kinetic energy of the two atoms
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
v2 are the magnitude of the velocity of the 2 atoms perpendicular to v2 are the magnitude of the velocity of the 2 atoms perpendicular to
the bond direction, after the COM velocity has been subtracted from the bond direction, after the COM velocity has been subtracted from
each. each.
@ -67,7 +67,7 @@ Vcm^2 where Vcm = magnitude of the velocity of the COM.
Note that these 3 kinetic energy terms are simply a partitioning of Note that these 3 kinetic energy terms are simply a partitioning of
the summed kinetic energy of the 2 atoms themselves. I.e. total KE = the summed kinetic energy of the 2 atoms themselves. I.e. total KE =
1/2 m1 v1^2 + 1/2 m2 v3^2 = engvib + engrot + engtrans, where v1,v2 1/2 m1 v1^2 + 1/2 m2 v2^2 = engvib + engrot + engtrans, where v1,v2
are the magnitude of the velocities of the 2 atoms, without any are the magnitude of the velocities of the 2 atoms, without any
adjustment for the COM velocity. adjustment for the COM velocity.

View File

@ -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 zero or more keyword/value pairs may be appended :l
keyword = {axes} :l keyword = {axes} :l
{axes} value = {no} or {yes} {axes} value = {no} or {yes}
{no} = do not calulate 3 symmetry axes {no} = do not calculate 3 symmetry axes
{yes} = calulate 3 symmetry axes :pre {yes} = calculate 3 symmetry axes :pre
:ule :ule
[Examples:] [Examples:]
@ -108,7 +108,7 @@ symmetry axis, followed by the second, and third symmetry axes in
columns 5-7 and 8-10. columns 5-7 and 8-10.
The centrosymmetry values are unitless values >= 0.0. Their magnitude 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 pairs in the summation in the formula above. And it depends on the
local defects surrounding the central atom, as described above. For local defects surrounding the central atom, as described above. For
the {axes yes} case, the vector components are also unitless, since the {axes yes} case, the vector components are also unitless, since

View File

@ -386,7 +386,7 @@ If {compress yes} is set, and the {compress} keyword comes before the
{limit} keyword, the compression operation is performed first, as {limit} keyword, the compression operation is performed first, as
described below, which resets {Nchunk}. The {limit} keyword is then described below, which resets {Nchunk}. The {limit} keyword is then
applied to the new {Nchunk} value, exactly as described in the 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 with chunk IDs <= {Nc}, but their original values (e.g. molecule ID or
compute/fix/variable value) may have been > {Nc}, because of the compute/fix/variable value) may have been > {Nc}, because of the
compression operation. compression operation.
@ -459,7 +459,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 which outputs the original IDs as one of the columns in its global
output array. For example, using the "compute cluster/atom" command output array. For example, using the "compute cluster/atom" command
discussed above, the original 5 unique chunk IDs might be atom IDs 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 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, 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 or by using the "fix ave/time"_fix_ave_time.html command in
@ -538,7 +538,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 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 {discard} is set to {mixed}, which is the default, the radial
dimension is treated the same as for {discard} = no. But for the axis 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 bin if bins extend to the simulation box boundary in the axis
dimension. This is the case if the {bound} keyword settings are dimension. This is the case if the {bound} keyword settings are
{lower} and {upper}, which is the default. If the {bound} keyword {lower} and {upper}, which is the default. If the {bound} keyword
@ -641,7 +641,8 @@ the restarted simulation begins.
[Related commands:] [Related commands:]
"fix ave/chunk"_fix_ave_chunk.html "fix ave/chunk"_fix_ave_chunk.html,
"compute global/atom"_compute_global_atom.html
[Default:] [Default:]

View File

@ -37,7 +37,7 @@ The neighbor list needed to compute this quantity is constructed each
time the calculation is performed (i.e. each time a snapshot of atoms time the calculation is performed (i.e. each time a snapshot of atoms
is dumped). Thus it can be inefficient to compute/dump this quantity is dumped). Thus it can be inefficient to compute/dump this quantity
too frequently or to have multiple compute/dump commands, each of a too frequently or to have multiple compute/dump commands, each of a
{clsuter/atom} style. {cluster/atom} style.
NOTE: If you have a bonded system, then the settings of NOTE: If you have a bonded system, then the settings of
"special_bonds"_special_bonds.html command can remove pairwise "special_bonds"_special_bonds.html command can remove pairwise

View File

@ -42,7 +42,7 @@ performed on mono-component systems.
The CNA calculation can be sensitive to the specified cutoff value. The CNA calculation can be sensitive to the specified cutoff value.
You should insure the appropriate nearest neighbors of an atom are 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 E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest
neighbors for perfect BCC crystals. These formulas can be used to neighbors for perfect BCC crystals. These formulas can be used to
obtain a good cutoff distance: obtain a good cutoff distance:

View File

@ -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 of atoms, including all effects due to atoms passing thru periodic
boundaries. 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. are the x,y,z coordinates of the center of mass.
NOTE: The coordinates of an atom contribute to the center-of-mass in NOTE: The coordinates of an atom contribute to the center-of-mass in

View File

@ -10,34 +10,43 @@ compute coord/atom command :h3
[Syntax:] [Syntax:]
compute ID group-ID coord/atom cutoff type1 type2 ... :pre compute ID group-ID coord/atom cstyle args ... :pre
ID, group-ID are documented in "compute"_compute.html command ID, group-ID are documented in "compute"_compute.html command :ulb,l
coord/atom = style name of this compute command coord/atom = style name of this compute command :l
cutoff = distance within which to count coordination neighbors (distance units) cstyle = {cutoff} or {orientorder} :l
typeN = atom type for Nth coordination count (see asterisk form below) :ul {cutoff} args = cutoff typeN
cutoff = distance within which to count coordination neighbors (distance units)
typeN = atom type for Nth coordination count (see asterisk form below)
{orientorder} args = orientorderID threshold
orientorderID = ID of an orientorder/atom compute
threshold = minimum value of the product of two "connected" atoms :pre
:ule
[Examples:] [Examples:]
compute 1 all coord/atom 2.0 compute 1 all coord/atom cutoff 2.0
compute 1 all coord/atom 6.0 1 2 compute 1 all coord/atom cutoff 6.0 1 2
compute 1 all coord/atom 6.0 2*4 5*8 * :pre compute 1 all coord/atom cutoff 6.0 2*4 5*8 *
compute 1 all coord/atom orientorder 2 0.5 :pre
[Description:] [Description:]
Define a computation that calculates one or more coordination numbers This compute performs calculations between neighboring atoms to
for each atom in a group. determine a coordination value. The specific calculation and the
meaning of the resulting value depend on the {cstyle} keyword used.
A coordination number is defined as the number of neighbor atoms with The {cutoff} cstyle calculates one or more traditional coordination
specified atom type(s) that are within the specified cutoff distance numbers for each atom. A coordination number is defined as the number
from the central atom. Atoms not in the group are included in a of neighbor atoms with specified atom type(s) that are within the
coordination number of atoms in the group. specified cutoff distance from the central atom. Atoms not in the
specified group are included in the coordination number tally.
The {typeN} keywords allow you to specify which atom types contribute The {typeN} keywords allow specification of which atom types
to each coordination number. One coordination number is computed for contribute to each coordination number. One coordination number is
each of the {typeN} keywords listed. If no {typeN} keywords are computed for each of the {typeN} keywords listed. If no {typeN}
listed, a single coordination number is calculated, which includes keywords are listed, a single coordination number is calculated, which
atoms of all types (same as the "*" format, see below). includes atoms of all types (same as the "*" format, see below).
The {typeN} keywords can be specified in one of two ways. An explicit The {typeN} keywords can be specified in one of two ways. An explicit
numeric value can be used, as in the 2nd example above. Or a numeric value can be used, as in the 2nd example above. Or a
@ -49,8 +58,27 @@ from 1 to N. A leading asterisk means all types from 1 to n
(inclusive). A middle asterisk means all types from m to n (inclusive). A middle asterisk means all types from m to n
(inclusive). (inclusive).
The value of all coordination numbers will be 0.0 for atoms not in the The {orientorder} cstyle calculates the number of "connected" neighbor
specified compute group. atoms J around each central atom I. For this {cstyle}, connected is
defined by the orientational order parameter calculated by the
"compute orientorder/atom"_compute_orientorder_atom.html command.
This {cstyle} thus allows one to apply the ten Wolde's criterion to
identify crystal-like atoms in a system, as discussed in "ten
Wolde"_#tenWolde.
The ID of the previously specified "compute
orientorder/atom"_compute_orientorder/atom command is specified as
{orientorderID}. The compute must invoke its {components} option to
calculate components of the {Ybar_lm} vector for each atoms, as
described in its 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 The neighbor list needed to compute this quantity is constructed each
time the calculation is performed (i.e. each time a snapshot of atoms time the calculation is performed (i.e. each time a snapshot of atoms
@ -72,11 +100,16 @@ the neighbor list.
[Output info:] [Output info:]
If single {type1} keyword is specified (or if none are specified), For {cstyle} cutoff, this compute can calculate a per-atom vector or
this compute calculates a per-atom vector. If multiple {typeN} array. If single {type1} keyword is specified (or if none are
keywords are specified, this compute calculates a per-atom array, with specified), this compute calculates a per-atom vector. If multiple
N columns. These values can be accessed by any command that uses {typeN} keywords are specified, this compute calculates a per-atom
per-atom values from a compute as input. See "Section array, with N columns.
For {cstyle} orientorder, this compute calculates a per-atom vector.
These values can be accessed by any command that uses per-atom values
from a compute as input. See "Section
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output 6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
options. options.
@ -88,5 +121,12 @@ explained above.
[Related commands:] [Related commands:]
"compute cluster/atom"_compute_cluster_atom.html "compute cluster/atom"_compute_cluster_atom.html
"compute orientorder/atom"_compute_orientorder_atom.html
[Default:] none [Default:] none
:line
:link(tenWolde)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).

View File

@ -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 "Section 6.15"_Section_howto.html#howto_15 for an overview of
LAMMPS output options. 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:] [Restrictions:]

View File

@ -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 any command that uses per-atom values from a compute as input. See
Section_howto 15 for an overview of LAMMPS output options. 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:] [Restrictions:]

View File

@ -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 atom in the group from its original coordinates, including all effects
due to atoms passing thru periodic boundaries. 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 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 + The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy +
dz*dz). dz*dz).

View File

@ -14,7 +14,7 @@ compute ID group-ID event/displace threshold :pre
ID, group-ID are documented in "compute"_compute.html command ID, group-ID are documented in "compute"_compute.html command
event/displace = style name of this compute 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:] [Examples:]
@ -37,7 +37,7 @@ further than the threshold distance.
NOTE: If the system is undergoing significant center-of-mass motion, NOTE: If the system is undergoing significant center-of-mass motion,
due to thermal motion, an external force, or an initial net momentum, due to thermal motion, an external force, or an initial net momentum,
then this compute will not be able to distinguish that motion from 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:] [Output info:]

View File

@ -0,0 +1,220 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
compute global/atom command :h3
[Syntax:]
compute ID group-ID style index input1 input2 ... :pre
ID, group-ID are documented in "compute"_compute.html command :ulb,l
global/atom = style name of this compute command :l
index = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
c_ID = per-atom vector calculated by a compute with ID
c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID
f_ID = per-atom vector calculated by a fix with ID
f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID
v_name = per-atom vector calculated by an atom-style variable with name :pre
one or more inputs can be listed :l
input = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l
c_ID = global vector calculated by a compute with ID
c_ID\[I\] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below)
f_ID = global vector calculated by a fix with ID
f_ID\[I\] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below)
v_name = global vector calculated by a vector-style variable with name :pre
:ule
[Examples:]
compute 1 all global/atom c_chunk c_com\[1\\] c_com\[2\\] c_com\[3\\]
compute 1 all global/atom c_chunk c_com\[*\\] :pre
[Description:]
Define a calculation that assigns global values to each atom from
vectors or arrays of global values. The specified {index} parameter
is used to determine which global value is assigned to each atom.
The {index} parameter must reference a per-atom vector or array from a
"compute"_compute.html or "fix"_fix.html or the evaluation of an
atom-style "variable"_variable.html. Each {input} value must
reference a global vector or array from a "compute"_compute.html or
"fix"_fix.html or the evaluation of an vector-style
"variable"_variable.html. Details are given below.
The {index} value for an atom is used as a index I (from 1 to N) into
the vector associated with each of the input values. The Ith value
from the input vector becomes one output value for that atom. If the
atom is not in the specified group, or the index I < 1 or I > M, where
M is the actual length of the input vector, then an output value of
0.0 is assigned to the atom.
An example of how this command is useful, is in the context of
"chunks" which are static or 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
name, such as "compute com/chunk"_compute_com_chunk.html or "compute
msd/chunk"_compute_msd_chunk.html, calculate properties for each
chunk. The output of these commands are global vectors or arrays,
with one or more values per chunk, and can be used as input values for
this command. This command will then assign the global chunk value to
each atom in the chunk, producing a per-atom vector or per-atom array
as output. The per-atom values can then be output to a dump file or
used by any command that uses per-atom values from a compute as input,
as discussed in "Section 6.15"_Section_howto.html#howto_15.
As a concrete example, these commands will calculate the displacement
of each atom from the center-of-mass of the molecule it is in, and
dump those values to a dump file. In this case, each molecule is a
chunk.
compute cc1 all chunk/atom molecule
compute myChunk all com/chunk cc1
compute prop all property/atom xu yu zu
compute glob all global/atom c_cc1 c_myChunk\[*\]
variable dx atom c_prop\[1\]-c_glob\[1\]
variable dy atom c_prop\[2\]-c_glob\[2\]
variable dz atom c_prop\[3\]-c_glob\[3\]
variable dist atom sqrt(v_dx*v_dx+v_dy*v_dy+v_dz*v_dz)
dump 1 all custom 100 tmp.dump id xu yu zu c_glob\[1\] c_glob\[2\] c_glob\[3\] &
v_dx v_dy v_dz v_dist
dump_modify 1 sort id :pre
You can add these commands to the bench/in.chain script to see how
they work.
:line
Note that for input values from a compute or fix, the bracketed index
I can be specified using a wildcard asterisk with the index to
effectively specify multiple values. This takes the form "*" or "*n"
or "n*" or "m*n". If N = the size of the vector (for {mode} = scalar)
or the number of columns in the array (for {mode} = vector), then an
asterisk with no numeric values means all indices from 1 to N. A
leading asterisk means all indices from 1 to n (inclusive). A
trailing asterisk means all indices from n to N (inclusive). A middle
asterisk means all indices from m to n (inclusive).
Using a wildcard is the same as if the individual columns of the array
had been listed one by one. E.g. these 2 compute global/atom commands
are equivalent, since the "compute com/chunk"_compute_com_chunk.html
command creates a global array with 3 columns:
compute cc1 all chunk/atom molecule
compute com all com/chunk cc1
compute 1 all global/atom c_cc1 c_com\[1\] c_com\[2\] c_com\[3\]
compute 1 all global/atom c_cc1 c_com\[*\] :pre
:line
This section explains the {index} parameter. Note that it must
reference per-atom values, as contrasted with the {input} values which
must reference global values.
Note that all of these options generate floating point values. When
they are used as an index into the specified input vectors, they
simple rounded down to convert the value to integer indices. The
final values should range from 1 to N (inclusive), since they are used
to access values from N-length vectors.
If {index} begins with "c_", a compute ID must follow which has been
previously defined in the input script. The compute must generate
per-atom quantities. See the individual "compute"_compute.html doc
page for details. If no bracketed integer is appended, the per-atom
vector calculated by the compute is used. If a bracketed integer is
appended, the Ith column of the per-atom array calculated by the
compute is used. Users can also write code for their own compute
styles and "add them to LAMMPS"_Section_modify.html. See the
discussion above for how I can be specified with a wildcard asterisk
to effectively specify multiple values.
If {index} begins with "f_", a fix ID must follow which has been
previously defined in the input script. The Fix must generate
per-atom quantities. See the individual "fix"_fix.html doc page for
details. Note that some fixes only produce their values on certain
timesteps, which must be compatible with when compute global/atom
references the values, else an error results. If no bracketed integer
is appended, the per-atom vector calculated by the fix is used. If a
bracketed integer is appended, the Ith column of the per-atom array
calculated by the fix is used. Users can also write code for their
own fix style and "add them to LAMMPS"_Section_modify.html. See the
discussion above for how I can be specified with a wildcard asterisk
to effectively specify multiple values.
If {index} begins with "v_", a variable name must follow which has
been previously defined in the input script. It must be an
"atom-style variable"_variable.html. Atom-style variables can
reference thermodynamic keywords and various per-atom attributes, or
invoke other computes, fixes, or variables when they are evaluated, so
this is a very general means of generating per-atom quantities to use
as {index}.
:line
This section explains the kinds of {input} values that can be used.
Note that inputs reference global values, as contrasted with the
{index} parameter which must reference per-atom values.
If a value begins with "c_", a compute ID must follow which has been
previously defined in the input script. The compute must generate a
global vector or array. See the individual "compute"_compute.html doc
page for details. If no bracketed integer is appended, the vector
calculated by the compute is used. If a bracketed integer is
appended, the Ith column of the array calculated by the compute is
used. Users can also write code for their own compute styles and "add
them to LAMMPS"_Section_modify.html. See the discussion above for how
I can be specified with a wildcard asterisk to effectively specify
multiple values.
If a value begins with "f_", a fix ID must follow which has been
previously defined in the input script. The fix must generate a
global vector or array. See the individual "fix"_fix.html doc page
for details. Note that some fixes only produce their values on
certain timesteps, which must be compatible with when compute
global/atom references the values, else an error results. If no
bracketed integer is appended, the vector calculated by the fix is
used. If a bracketed integer is appended, the Ith column of the array
calculated by the fix is used. Users can also write code for their
own fix style and "add them to LAMMPS"_Section_modify.html. See the
discussion above for how I can be specified with a wildcard asterisk
to effectively specify multiple values.
If a value begins with "v_", a variable name must follow which has
been previously defined in the input script. It must be a
"vector-style variable"_variable.html. Vector-style variables can
reference thermodynamic keywords and various other attributes of
atoms, or invoke other computes, fixes, or variables when they are
evaluated, so this is a very general means of generating a vector of
global quantities which the {index} parameter will reference for
assignment of global values to atoms.
:line
[Output info:]
If a single input is specified this compute produces a per-atom
vector. If multiple inputs are specified, this compute produces a
per-atom array values, where the number of columns is equal to the
number of inputs specified. These values can be used by any command
that uses per-atom vector or array values from a compute as input.
See "Section 6.15"_Section_howto.html#howto_15 for an overview of
LAMMPS output options.
The per-atom vector or array values will be in whatever units the
corresponding input values are in.
[Restrictions:] none
[Related commands:]
"compute"_compute.html, "fix"_fix.html, "variable"_variable.html,
"compute chunk/atom"_compute_chunk_atom.html, "compute
reduce"_compute_reduce.html
[Default:] none

View File

@ -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 group/group = style name of this compute command :l
group2-ID = group ID of second (or same) group :l group2-ID = group ID of second (or same) group :l
zero or more keyword/value pairs may be appended :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} {pair} value = {yes} or {no}
{kspace} 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 :ule
[Examples:] [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 corrections, even if they are enabled via the
"pair_modify"_pair_modify.html command. "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 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 if a "kspace_style"_kspace_style.html is defined, then the interaction
energy will include a Kspace component which is the long-range 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 groups are charge neutral. This energy correction term is the same as
that included in the regular Ewald and PPPM routines. 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 This compute does not calculate any bond or angle or dihedral or
improper interactions between atoms in the two groups. 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 entire system. Thus it can be costly to invoke this compute too
frequently. 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 If you desire a breakdown of the interactions into a pairwise and
Kspace component, simply invoke the compute twice with the appropriate Kspace component, simply invoke the compute twice with the appropriate
yes/no settings for the {pair} and {kspace} keywords. This is no more yes/no settings for the {pair} and {kspace} keywords. This is no more
@ -119,7 +147,8 @@ The {ewald} and {pppm} styles do.
[Default:] [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 :line

View File

@ -38,7 +38,7 @@ subtracted to a group of atoms.
The compute takes three arguments which are IDs of other The compute takes three arguments which are IDs of other
"computes"_compute.html. One calculates per-atom kinetic energy "computes"_compute.html. One calculates per-atom kinetic energy
({ke-ID}), one calculates per-atom potential energy ({pe-ID)}, and the ({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 NOTE: These other computes should provide values for all the atoms in
the group this compute specifies. That means the other computes could 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 post-processing operation, an autocorrelation can be performed, its
integral estimated, and the Green-Kubo formula above evaluated. 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 the autocorrelation. The trap() function in the
"variable"_variable.html command can calculate the integral. "variable"_variable.html command can calculate the integral.

View File

@ -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 defined and examples of how they can be used to measure properties of
a system. 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 tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The
calculation includes all effects due to atoms passing thru periodic calculation includes all effects due to atoms passing thru periodic
boundaries. boundaries.

View File

@ -33,7 +33,7 @@ passing thru periodic boundaries. For computation of the non-Gaussian
parameter of mean-squared displacement, see the "compute parameter of mean-squared displacement, see the "compute
msd/nongauss"_compute_msd_nongauss.html command. 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 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 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 squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and

View File

@ -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 defined and examples of how they can be used to measure properties of
a system. 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 first 3 quantities are the squared dx,dy,dz displacements of the
center-of-mass. The 4th component is the total squared displacement, 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 i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These

View File

@ -30,12 +30,12 @@ Define a computation that calculates the mean-squared displacement
(MSD) and non-Gaussian parameter (NGP) of the group of atoms, (MSD) and non-Gaussian parameter (NGP) of the group of atoms,
including all effects due to atoms passing thru periodic boundaries. 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 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 drsquared = (dx*dx + dy*dy + dz*dz) of atoms, and the second is the
fourth power of these displacements drfourth = (dx*dx + dy*dy + 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 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. 3*drfourth/(5*drsquared*drsquared), i.e.
:c,image(Eqs/compute_msd_nongauss.jpg) :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 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 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 See the "compute msd"_compute_msd.html doc page for further important
NOTEs, which also apply to this compute. NOTEs, which also apply to this compute.

View File

@ -15,17 +15,19 @@ compute ID group-ID orientorder/atom keyword values ... :pre
ID, group-ID are documented in "compute"_compute.html command :ulb,l ID, group-ID are documented in "compute"_compute.html command :ulb,l
orientorder/atom = style name of this compute command :l orientorder/atom = style name of this compute command :l
one or more keyword/value pairs may be appended :l one or more keyword/value pairs may be appended :l
keyword = {cutoff} or {nnn} or {degrees} keyword = {cutoff} or {nnn} or {degrees} or {components}
{cutoff} value = distance cutoff {cutoff} value = distance cutoff
{nnn} value = number of nearest neighbors {nnn} value = number of nearest neighbors
{degrees} values = nlvalues, l1, l2,... :pre {degrees} values = nlvalues, l1, l2,...
{components} value = ldegree :pre
:ule :ule
[Examples:] [Examples:]
compute 1 all orientorder/atom compute 1 all orientorder/atom
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 :pre compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5
compute 1 all orientorder/atom degrees 4 6 components 6 nnn NULL cutoff 3.0 :pre
[Description:] [Description:]
@ -62,14 +64,21 @@ specified distance cutoff are used.
The optional keyword {degrees} defines the list of order parameters to The optional keyword {degrees} defines the list of order parameters to
be computed. The first argument {nlvalues} is the number of order be computed. The first argument {nlvalues} is the number of order
parameters. This is followed by that number of integers giving the parameters. This is followed by that number of integers giving the
degree of each order parameter. Because {Q}2 and all odd-degree degree of each order parameter. Because {Q}2 and all odd-degree order
order parameters are zero for atoms in cubic crystals parameters are zero for atoms in cubic crystals (see
(see "Steinhardt"_#Steinhardt), the default order parameters "Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the {Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn}=12, {Q}4
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094.... = sqrt(7/3)/8 = 0.19094.... The numerical values of all order
The numerical values of all order parameters up to {Q}12 parameters up to {Q}12 for a range of commonly encountered
for a range of commonly encountered high-symmetry structures are given high-symmetry structures are given in Table I of "Mickel et
in Table I of "Mickel et al."_#Mickel. al."_#Mickel.
The optional keyword {components} will output the components of the
normalized complex vector {Ybar_lm} of degree {ldegree}, which must be
explicitly included in the keyword {degrees}. This option can be used
in conjunction with "compute coord_atom"_compute_coord_atom.html to
calculate the ten Wolde's criterion to identify crystal-like
particles, as discussed in "ten Wolde"_#tenWolde.
The value of {Ql} is set to zero for atoms not in the The value of {Ql} is set to zero for atoms not in the
specified compute group, as well as for atoms that have less than specified compute group, as well as for atoms that have less than
@ -95,8 +104,16 @@ the neighbor list.
[Output info:] [Output info:]
This compute calculates a per-atom array with {nlvalues} columns, giving the This compute calculates a per-atom array with {nlvalues} columns,
{Ql} values for each atom, which are real numbers on the range 0 <= {Ql} <= 1. giving the {Ql} values for each atom, which are real numbers on the
range 0 <= {Ql} <= 1.
If the keyword {components} is set, then the real and imaginary parts
of each component of (normalized) {Ybar_lm} will be added to the
output array in the following order: Re({Ybar_-m}) Im({Ybar_-m})
Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}). This
way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1)
columns.
These values can be accessed by any command that uses These values can be accessed by any command that uses
per-atom values from a compute as input. See "Section per-atom values from a compute as input. See "Section
@ -107,15 +124,25 @@ options.
[Related commands:] [Related commands:]
"compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html, "compute hexorder/atom"_compute_hexorder_atom.html "compute coord/atom"_compute_coord_atom.html, "compute
centro/atom"_compute_centro_atom.html, "compute
hexorder/atom"_compute_hexorder_atom.html
[Default:] [Default:]
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, {degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. The option defaults are {cutoff} = pair style cutoff, {nnn} = 12,
{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
:line :line
:link(Steinhardt) :link(Steinhardt)
[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983). [(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti,
Phys. Rev. B 28, 784 (1983).
:link(Mickel) :link(Mickel)
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, J. Chem. Phys. 138, 044501 (2013). [(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke,
J. Chem. Phys. 138, 044501 (2013).
:link(tenWolde)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).

View File

@ -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 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 "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 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. is stored as a global scalar.
NOTE: The energy returned by the {evdwl} keyword does not include tail 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 Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into a dozen or so components is tallied by the 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 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. "individual pair styles"_pair_style.html for info on these values.

View File

@ -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 "pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html
commands. 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. The value {eng} is the interaction energy for the pair of atoms.

View File

@ -51,7 +51,7 @@ these terms is included in the pair energy, not the dihedral energy.
The KSpace contribution is calculated using the method in The KSpace contribution is calculated using the method in
"(Heyes)"_#Heyes for the Ewald method and a related method for PPPM, "(Heyes)"_#Heyes for the Ewald method and a related method for PPPM,
as specified by the "kspace_style pppm"_kspace_style.html command. 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 per-atom energy is calculated. This "document"_PDF/kspace.pdf
describes how the long-range per-atom energy calculation is performed. describes how the long-range per-atom energy calculation is performed.

View File

@ -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 any command that uses per-atom values from a compute as input. See
Section_howto 15 for an overview of LAMMPS output options. 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:] [Restrictions:]

View File

@ -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 Also note that the N in the first formula above is really
degrees-of-freedom divided by d = dimensionality, where the DOF value 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. temperature"_compute.html styles for details.
A compute of this style with the ID of "thermo_press" is created when A compute of this style with the ID of "thermo_press" is created when

View File

@ -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 "compute chunk/atom"_compute_chunk_atom.html command referenced by
chunkID. This means that the original chunk IDs (e.g. molecule IDs) chunkID. This means that the original chunk IDs (e.g. molecule IDs)
will have been compressed to remove chunk IDs with no atoms assigned 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 chunk ID (molecule ID in this case) of 415. The {id} attribute will
then be 415 for the 3rd chunk. then be 415 for the 3rd chunk.

View File

@ -10,21 +10,27 @@ compute rdf command :h3
[Syntax:] [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 ID, group-ID are documented in "compute"_compute.html command :ulb,l
rdf = style name of this compute command rdf = style name of this compute command :l
Nbin = number of RDF bins Nbin = number of RDF bins :l
itypeN = central atom type for Nth RDF histogram (see asterisk form below) 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) :ul 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:] [Examples:]
compute 1 all rdf 100 compute 1 all rdf 100
compute 1 all rdf 100 1 1 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 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:] [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 (RDF), also called g(r), and the coordination number for a group of
particles. Both are calculated in histogram form by binning pairwise particles. Both are calculated in histogram form by binning pairwise
distances into {Nbin} bins from 0.0 to the maximum force cutoff 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 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. 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 interactions between atoms in the same bond, angle, or dihedral. This
is the default setting for the "special_bonds"_special_bonds.html is the default setting for the "special_bonds"_special_bonds.html
command, and means those pairwise interactions do not appear in the 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 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 using long-range coulomb interactions ({coul/long}, {coul/msm},
similar. One way to get around this would be to set special_bond {coul/wolf} or similar. One way to get around this would be to set
scaling factors to very tiny numbers that are not exactly zero special_bond scaling factors to very tiny numbers that are not exactly
(e.g. 1.0e-50). Another workaround is to write a dump file, and use zero (e.g. 1.0e-50). Another workaround is to write a dump file, and
the "rerun"_rerun.html command to compute the RDF for snapshots in the use the "rerun"_rerun.html command to compute the RDF for snapshots in
dump file. The rerun script can use a the dump file. The rerun script can use a
"special_bonds"_special_bonds.html command that includes all pairs in "special_bonds"_special_bonds.html command that includes all pairs in
the neighbor list. 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 The {itypeN} and {jtypeN} arguments are optional. These arguments
must come in pairs. If no pairs are listed, then a single histogram 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 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 "fix ave/time"_fix_ave_time.html
[Default:] none [Default:]
The keyword defaults are cutoff = 0.0 (use the pairwise force cutoff).

View File

@ -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 COM velocity and force on the COM of the body.
The {omegax}, {omegay}, and {omegaz} attributes are the angular 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 The {angmomx}, {angmomy}, and {angmomz} attributes are the angular
momentum components of the body around its COM. momentum components of the body around its COM.

View File

@ -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 zone axis of an intersecting Ewald sphere. Diffraction intensities
will only be computed at the intersection of the reciprocal lattice will only be computed at the intersection of the reciprocal lattice
mesh and a {dR_Ewald} thick surface of the Ewald sphere. See the 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. in the below image.
:c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg) :c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg)

View File

@ -27,7 +27,7 @@ contact radius is used only to prevent particles belonging to
different physical bodies from penetrating each other. It is used by different physical bodies from penetrating each other. It is used by
the contact pair styles, e.g., smd/hertz and smd/tri_surface. the contact pair styles, e.g., smd/hertz and smd/tri_surface.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
The value of the contact radius will be 0.0 for particles not in the The value of the contact radius will be 0.0 for particles not in the

View File

@ -24,7 +24,7 @@ compute 1 all smd/damage :pre
Define a computation that calculates the damage status of SPH particles Define a computation that calculates the damage status of SPH particles
according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion. according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS. See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
[Output Info:] [Output Info:]

View File

@ -32,7 +32,7 @@ configuration. This compute is only really useful for debugging the
hourglass control mechanim which is part of the Total-Lagrangian SPH hourglass control mechanim which is part of the Total-Lagrangian SPH
pair style. pair style.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output Info:] [Output Info:]

View File

@ -24,7 +24,7 @@ compute 1 all smd/internal/energy :pre
Define a computation which outputs the per-particle enthalpy, i.e., Define a computation which outputs the per-particle enthalpy, i.e.,
the sum of potential energy and heat. the sum of potential energy and heat.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output Info:] [Output Info:]

View File

@ -25,7 +25,7 @@ Define a computation that outputs the equivalent plastic strain per
particle. This command is only meaningful if a material model with particle. This command is only meaningful if a material model with
plasticity is defined. plasticity is defined.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output Info:] [Output Info:]

View File

@ -25,7 +25,7 @@ Define a computation that outputs the time rate of the equivalent
plastic strain. This command is only meaningful if a material model plastic strain. This command is only meaningful if a material model
with plasticity is defined. with plasticity is defined.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output Info:] [Output Info:]

View File

@ -26,7 +26,7 @@ The mass density is the mass of a particle which is constant during
the course of a simulation, divided by its volume, which can change the course of a simulation, divided by its volume, which can change
due to mechanical deformation. due to mechanical deformation.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output info:] [Output info:]

View File

@ -25,7 +25,7 @@ Define a computation that calculates the deformation gradient. It is
only meaningful for particles which interact according to the only meaningful for particles which interact according to the
Total-Lagrangian SPH pair style. Total-Lagrangian SPH pair style.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output info:] [Output info:]

View File

@ -30,7 +30,7 @@ time step. This calculation is performed automatically in the
relevant SPH pair styles and this compute only serves to make the relevant SPH pair styles and this compute only serves to make the
stable time increment accessible for output purposes. stable time increment accessible for output purposes.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output info:] [Output info:]

View File

@ -25,7 +25,7 @@ Define a computation that calculates the number of particles inside of
the smoothing kernel radius for particles interacting via the the smoothing kernel radius for particles interacting via the
Total-Lagrangian SPH pair style. Total-Lagrangian SPH pair style.
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to using Smooth See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth
Mach Dynamics in LAMMPS. Mach Dynamics in LAMMPS.
[Output info:] [Output info:]

Some files were not shown because too many files have changed in this diff Show More