Compare commits

..

360 Commits

Author SHA1 Message Date
2225fce94e patch 19May17 2017-05-19 07:35:36 -06:00
941b737319 Merge pull request #493 from akohlmey/doc-and-example-fixes
Doc and example fixes
2017-05-18 16:40:46 -06:00
654e09e999 correct input examples affected by the Pair::settings() bugfix 2017-05-18 18:34:27 -04:00
8751850eca a few formatting fixes for pair style python 2017-05-18 18:34:03 -04:00
0f88348917 Merge pull request #492 from lammps/pre-patch
update docs before patch release
2017-05-18 13:44:34 -06:00
b28ecd44c2 update docs before patch release 2017-05-18 13:14:47 -06:00
9db9fc9de3 Merge pull request #491 from akohlmey/fix-bigint-thermo-in-variables-bug
convert bigint values for bonds/angles/dihedrals/impropers to doubles
2017-05-18 13:08:42 -06:00
6ac9b7a1b0 Merge pull request #482 from akohlmey/add-pair-python
Add python pair style for implementing simple pairwise additive potentials in python
2017-05-18 11:15:58 -06:00
34dbf6b225 do not compute properties twice 2017-05-18 12:45:43 -04:00
26d71b66e4 convert bigint values for bonds/angles/dihedrals/impropers to doubles when evaluating those keywords in variable expressions 2017-05-18 12:41:48 -04:00
65eacb6b90 Fix compilation warnings in fix_python 2017-05-18 12:20:39 -04:00
cb3344a337 Merge pull request #489 from akohlmey/thread-safe-biasing
port thread-safe temperature biasing from LAMMPS-ICMS
2017-05-18 09:15:07 -06:00
5d38cbbce9 Merge pull request #487 from akohlmey/pair_edip_multi_element
Import multi-element compatible pair style edip as edip/multi
2017-05-18 09:13:30 -06:00
30babd8157 Merge pull request #485 from akohlmey/pair_settings_cut_bugfix
Bugfix for correct resetting of previously set cutoffs to various Pair::settings() functions
2017-05-18 09:12:47 -06:00
aa09f45b7e Merge pull request #484 from akohlmey/add-gao-weber-styles
Add Gao-Weber manybody styles
2017-05-18 09:10:03 -06:00
4b61cf6f52 Merge pull request #483 from akohlmey/airebo-spline-bugfix-refactor
AIREBO spline code out-of-bounds and bondorder derivative bugfix and refactor
2017-05-18 09:01:33 -06:00
683f3d9d2a Merge pull request #481 from akohlmey/collected-small-changes
Collected small updates and bugfixes
2017-05-18 09:01:04 -06:00
ce18524251 Merge pull request #480 from akohlmey/pair_morse_smooth_linear_bugfix
corrections to pair style morse/smooth/linear
2017-05-18 08:57:24 -06:00
95dae9737b Merge pull request #488 from lammps/neigh_occasional_bugfix
bugfix for 2 recenty reported neighbor issues, also a ReaxFF fix species update from Stan
2017-05-18 08:53:54 -06:00
4b1914aa1f update citations for multi-element edip potential 2017-05-18 01:07:52 -04:00
bd11479a16 lock the sphinx command to version 1.5.6, since version 1.6.x seems to break one of the extensions we use 2017-05-18 00:50:35 -04:00
0208fe9996 update example outputs 2017-05-18 00:46:49 -04:00
24654ad28f small formatting corrections to pair python style 2017-05-18 00:38:36 -04:00
8d46aa6056 add readme file to discuss various python pair style usage examples 2017-05-18 00:31:54 -04:00
09f3b687f7 new long-rance example with using hybrid/overlay and table only for lj part 2017-05-18 00:31:15 -04:00
436d3fd761 make hybrid example use half the atoms with python, half with lj/cut 2017-05-18 00:30:41 -04:00
9833f38499 change coulomb example to use cutoff coulomb 2017-05-18 00:30:19 -04:00
9725708b90 update pair style python docs 2017-05-18 00:29:02 -04:00
67962b15fc a bunch refactoring changes in the python pair style and the examples
- make all python potential classes derived from LAMMPSPairPotential
  which contains shared functionality. We currently don't check
  for supported atom types. may want to add that again later.
- keep track of skipped atom types in the C++ code.
- add test against units setting. must set self.units='...' in constructor
- make compute_force method consistent with Pair::single() in LAMMPS and return force/r instead of force.
- rename potentials.py to py_pot.py
- update test runs. some small tweaks.
2017-05-17 20:55:48 -04:00
1d48f287f0 add partial documentation for pair style python 2017-05-17 19:05:18 -04:00
43efe9e417 adding Pair::single() support to python pair style and examples
with the single function, python pair styles can be massively
sped up and made compatible to accelerators, as one can translate
the analytic force and energy functions through LAMMPS into suitable
tables and then simply use the on-the-fly tables for production runs
2017-05-17 17:20:56 -04:00
278b9f7fba move pair gw and gw/zbl to USER-MISC package 2017-05-17 14:59:46 -04:00
085f3afdfb fix typo in docs 2017-05-17 09:59:30 -04:00
45becfb235 correct author attributions 2017-05-17 09:59:01 -04:00
a34c935e20 update log files in python pair style example 2017-05-17 08:00:21 -04:00
13e16dc3f1 update log files for pair style python examples 2017-05-17 07:52:13 -04:00
96f0a82aa5 simplify class names in pair style python examples. add SPC/E water example 2017-05-17 07:48:15 -04:00
7caf6cf459 Change how a Python pair style is loaded
Implements a class loader which takes a fully qualified Python class
name, loads the module and creates an object instance.

To add flexibility, the current working directory and the
directory specified by the LAMMPS_POTENTIALS environment variable are
added to the module search path.
2017-05-16 23:29:48 -04:00
8936b99e9f add contributed SiC.edip potential file 2017-05-16 18:15:53 -04:00
d2810f9f83 port thread-safe temperature biasing from LAMMPS-ICMS 2017-05-16 18:15:13 -04:00
597f95fb1b fix duplicate reference 2017-05-16 17:53:12 -04:00
7f9a331c73 bugfix for 2 recenty reported neighbor issues, also a ReaxFF fix species issue 2017-05-16 15:51:41 -06:00
35e92733e9 import multi-element compatible pair style edip as edip/multi 2017-05-16 17:40:59 -04:00
c11e87618b implement second bugfix suggestion from @CF17 on issue #59 2017-05-16 14:18:56 -04:00
ca87e57129 improved version of AIREBO splines based on a suggestion by markus hoehnerbach 2017-05-16 11:58:34 -04:00
66084ad1f4 fix typo in rerun docs. closes #486 2017-05-16 04:27:15 -04:00
d807ba1974 whitespace cleanup 2017-05-16 00:26:39 -04:00
51fc386e72 correct the inner loop range for resetting cutoffs when redefining a pair style
this was reported by frank uhlig on lammps-users for lj/cut, but it applies to many more pair styles
2017-05-16 00:26:18 -04:00
a6f0d700f1 Merge branch 'add-pair-python' of github.com:akohlmey/lammps into add-pair-python 2017-05-15 18:44:52 -04:00
14f3deed6b Minor coefficient lookup improvement 2017-05-15 18:43:46 -04:00
d66a696a84 avoid preprocessor warnings, by placing Python.h include file on the top, as suggested by python docs 2017-05-15 18:02:02 -04:00
69ccbd1562 Extract common wrappers to Python compatibility header 2017-05-15 17:46:57 -04:00
d9d4ef17c8 add gao-weber potentials (regular and with ZBL core) with SiC potential files
NOTE: documentation is missing
2017-05-15 17:44:25 -04:00
93cc6f4a5d Use in syntax for key lookup for Python 3 compatibility 2017-05-15 17:34:48 -04:00
0a40a7af7b whitespace cleanup 2017-05-15 17:00:41 -04:00
eb6f6a77e5 dead code removal 2017-05-15 16:16:12 -04:00
fb7164a811 replace pow(x,-0.5) with 1.0/sqrt(x) 2017-05-15 16:16:01 -04:00
64cf52d3b5 address spline out-of-bounds bug reported in issue #59 and refactor high-level spline code for consistency and efficiency 2017-05-15 15:55:15 -04:00
6a1f7e61f2 provide reference output for python pair style inputs 2017-05-15 00:25:11 -04:00
d662f5d429 whitspace cleanup and gitignore update 2017-05-15 00:22:22 -04:00
df55a90ef6 some example input file tweaks 2017-05-15 00:22:03 -04:00
6e113c1eaf basic feature complete version of lj melt example with python interaction function 2017-05-15 00:15:41 -04:00
f484ab6dfb completed lj parameter set and compute functions for melt example 2017-05-15 00:14:36 -04:00
86283c6309 make melt input consistent with melt example again 2017-05-15 00:13:32 -04:00
34cc3946b8 first few pieces of pair style python 2017-05-14 18:29:06 -04:00
6aa0250bc5 corrections to pair style morse/smooth/linear contributed by David R. Heine 2017-05-12 23:40:24 -04:00
c5db3ff401 two small doc corrections from Andrew Jewett for pair style gauss and dihedral style spherical 2017-05-12 23:27:58 -04:00
06c151421c Merge pull request #478 from akohlmey/add-python-source-cmd
Add python support features
2017-05-12 13:28:20 -06:00
0008b6fc2d Merge pull request #477 from lammps/renamings
rename some USER/misc dirs
2017-05-12 08:54:12 -06:00
b6a70ec6fd fixup docs after last change 2017-05-12 00:34:47 -04:00
c4d0f07093 Allow fix python to only execute every N steps 2017-05-12 00:29:58 -04:00
93f6033061 Add documentation about fix python 2017-05-11 23:50:40 -04:00
110bb79b14 Implement fix python mentioned in issue #454
Allows to call a python function at defined points in the integration loop
2017-05-11 23:50:30 -04:00
d84f8898b7 implement functions to execute arbitrary python code from strings or files and recast the python source keyword through using them. 2017-05-11 22:39:08 -04:00
27a6371f9b implement a python source command as suggested in issue #454 2017-05-11 19:18:09 -04:00
7c3b8e014c rename some USER/misc dirs 2017-05-11 10:15:28 -06:00
a069d21621 Merge pull request #476 from akohlmey/dump_custom_bugfix
dump custom memory allocation bugfix
2017-05-11 09:27:08 -06:00
d7f54464c6 Merge pull request #474 from rbberger/dump_vtk_fixes
Various dump vtk fixes
2017-05-11 09:25:42 -06:00
998eb44e83 Merge pull request #473 from akohlmey/compress-for-reaxc-fixes
compressed output via gzip for some ReaxFF fixes
2017-05-11 09:25:18 -06:00
96d1de8575 Merge pull request #471 from akohlmey/fix-4may2017-issues
Fix a bunch of remaining issues in the 4 may 2017 release
2017-05-11 09:24:35 -06:00
deff6ffaac Merge pull request #466 from DallasTrinkle/meam-spline-multicomponent
Meam spline multicomponent
2017-05-11 09:22:25 -06:00
328ef873d8 fix mixed memory alloc bug in dump custom. this closes #475 2017-05-10 22:41:41 -04:00
4ecf876a64 Added two examples of using the VTK dump style 2017-05-10 19:52:00 -04:00
c4ac5773cb Fix segmentation fault in dump vtk 2017-05-10 19:51:14 -04:00
cac1bf83ef Work around VTK 7 API change 2017-05-10 19:41:48 -04:00
abeb1e096a add support for gzip compressed output to fix reax/bonds, reax/c/bonds and reax/c/species 2017-05-10 11:19:18 -04:00
9f7ce39f9f correct some more omitted updates 2017-05-09 18:14:34 -04:00
29ae8d4ca3 correct broken links and references in documentation 2017-05-09 17:15:07 -04:00
3f4aee1046 implement overlooked changes from 4may2017 patch 2017-05-09 15:57:35 -04:00
d0da0639f0 add a couple of simple example single/multi-elment inputs for meam/spline pair styles 2017-05-09 15:51:59 -04:00
390ceb1475 whitespace cleanup 2017-05-09 15:49:37 -04:00
6c5edf6c70 performance improvement through avoiding function call and dereference overhead
- make i_to_potl() and ij_to_potl() functions inline and const
- don't dereference inside the functions, but cache, if possible in external variables
=> up to 15% speedup.
2017-05-09 15:38:10 -04:00
9cd994f57c fix issues with potential file parser
- use Force::open_potential()
- replace ftell()/fseek() with rewind()/fgets() which is safer on windows and other platforms with automatic CR/LF to LF conversion on text files
- make parser use properly NULL terminated strings through using strtok()
2017-05-09 15:35:48 -04:00
a6e2d5b5f7 Merge pull request #470 from lammps/integration
neighbor list bugfix to prevent cycle in copy lists
2017-05-09 10:32:25 -06:00
08ec55743e neighbor list bugfix to prevent cycle in copy lists 2017-05-09 08:55:18 -06:00
c4f90b3841 Merge pull request #449 from rbberger/python_refactoring
Add Python 3 compatibility and expand Python interface availability
2017-05-08 08:29:24 -06:00
f8af7edf92 Merge remote-tracking branch 'upstream/master' into python_refactoring 2017-05-06 16:00:22 -04:00
a73402ad93 update src/Purge.list with renamed reaxc src files 2017-05-04 14:53:08 -06:00
d7dbff0f54 jive Kokkos/reaxc file names with new user-reaxc file names 2017-05-04 14:46:59 -06:00
42531389df Cleanup of style (removing all tabs, shortened long lines). 2017-05-04 15:28:11 -05:00
f7230006fe OpenMP version added. 2017-05-04 15:08:04 -05:00
754b40cb31 Removed unused functions. 2017-05-04 13:16:46 -05:00
ffdc8b556d Cleanup. 2017-05-04 13:03:09 -05:00
5accce976a Cleanup. 2017-05-04 13:02:09 -05:00
349c1443a1 Cleanup. 2017-05-04 13:01:45 -05:00
2f71245d82 Removed extra "helper" functions. 2017-05-04 13:00:06 -05:00
51c6d50268 patch 4May17 2017-05-04 11:46:58 -06:00
6499cfcf52 Merge pull request #458 from stanmoore1/kokkos_sync_bugfix
Fixing auto_sync logic bug in modify_kokkos
2017-05-04 11:24:11 -06:00
f08e206991 Merge pull request #457 from stanmoore1/kokkos_ubuf
Adding ubuf union to Kokkos atom_vec styles
2017-05-04 11:23:55 -06:00
fbddfe2729 Merge pull request #455 from stanmoore1/kokkos_update
Updating Kokkos library to version 2.03.00
2017-05-04 11:23:39 -06:00
dcc5472cba Merge pull request #452 from akohlmey/small-fixes-and-updates
Small fixes and updates
2017-05-04 11:23:23 -06:00
addd87c0f7 new Section package and start doc pages and build scripts 2017-05-04 11:22:20 -06:00
480727815a Starting to refactor in preparation to contruct OMP version. 2017-05-04 11:27:55 -05:00
45187a0fc7 Fix system header #include style. 2017-05-04 11:05:50 -05:00
7409c6d781 Cleaned up atom->x and atom->f deferences. 2017-05-03 16:56:07 -05:00
11cb0212b7 Cleanup: two space indent + no trailing spaces on lines. 2017-05-03 16:49:43 -05:00
7f49ee8fd7 print warning about minimization energy with fix box/relax 2017-05-03 15:33:22 -04:00
f5cf1f1314 Merge pull request #464 from akohlmey/rename-cg-cmm-to-cgsdk
Rename USER-CG-CMM package to USER-CGSDK
2017-05-03 08:37:20 -06:00
50c7234f26 Fix to communication for mpi. Tested, and now working correctly with MPI. 2017-05-02 09:43:57 -05:00
f58fc9488f Fixed neighbor list building that caused error in parallel runs with pair_meam_spline. 2017-05-01 21:56:19 -05:00
408cc19885 Fix for seg fault. 2017-05-01 20:36:09 -05:00
c76d27373e Another fix for seg fault in parallel allocation. 2017-05-01 20:33:07 -05:00
fb08dc09f3 Small error in elements allocation causing seg. fault for parallel runs; fixed. 2017-05-01 13:38:37 -05:00
8bddf105bf Updated version of equations, documentation. 2017-04-28 20:22:22 -05:00
31446e35b9 Cleanup on equations; JPG to be constructed. 2017-04-28 15:31:49 -05:00
9bdc43bb66 Updates to pair/meam/spline documentation. 2017-04-28 15:15:21 -05:00
a0b61d17b5 Updates to documentation: equation. 2017-04-28 15:08:59 -05:00
8cc8441367 Cleanup on pair_meam_spline.cpp 2017-04-28 14:53:25 -05:00
7d9670bc6c Addition of potential, code modifications to incorporate multicomponent spline MEAM in pair_meam_spline.
Backwards compatible with previous version of pair_meam_spline.
2017-04-28 14:48:34 -05:00
b8cb80b219 rename files in GPU library from cg_cmm to lj_sdk 2017-04-26 19:46:10 -04:00
cd435c0c58 change references from cg_cmm to lj_sdk and from cmm to sdk 2017-04-26 19:44:25 -04:00
548c589f82 update the README for USER-CGSDK 2017-04-26 19:35:54 -04:00
5c7a631988 rename USER-CG-CMM folder to USER-CGSDK 2017-04-26 19:29:39 -04:00
af74874516 rename references to USER-CG-CMM to USER-CGSDK 2017-04-26 19:27:13 -04:00
949d61e01e rename examples folder for USER-CGSDK package 2017-04-26 19:26:27 -04:00
3e60f79f1d remove cg/cmm style name aliases 2017-04-26 17:24:25 -04:00
8f9cb3590a correct units for some improper force constants in docs 2017-04-26 15:34:12 -04:00
0565b1df5f Fixing auto_sync logic bug in modify_kokkos 2017-04-26 10:49:20 -06:00
d73d70fa1f Adding ubuf union to Kokkos atom_vec styles 2017-04-26 08:15:42 -06:00
cc6104aeaf Merge branch 'master' into kokkos_update 2017-04-25 14:11:36 -06:00
8910ec6e59 Updating Kokkos lib to 2.03.00 2017-04-25 13:48:51 -06:00
ddc1e4e86e detect and refuse to run pair style srp together with fix rigid 2017-04-25 13:27:20 -04:00
2e1f8b4aef make Python::init() method public and remove the now redundant Python::request() method 2017-04-25 10:21:02 -04:00
958f05a6f3 Allow requesting Python interpreter without having to define a function just for that 2017-04-25 01:09:05 -04:00
0ac22e034c turn errors from manybody potentials for */tally computes into warnings 2017-04-22 21:50:27 -04:00
197ce4580b avoid division by zero also for ewald/disp 2017-04-21 17:27:08 -04:00
8f14511831 avoid division by zero by initializing unset (=automatic) g_ewald parameters to some number > 0. 2017-04-21 16:46:27 -04:00
396e0b5423 correct broken link in html bond doc overview 2017-04-21 14:02:17 -04:00
4e411364ff add support to pair_modify to selectively disable compute/tally callbacks in sub-styles for pair hybrid and hybrid/overlay 2017-04-21 14:01:38 -04:00
f0681f7e12 add support for USER-TALLY to pair styles hybrid and hybrid/overlay 2017-04-20 14:42:01 -04:00
dfa9815246 update for fix gle docs from michele ceriotti 2017-04-18 17:07:28 -04:00
25e8ed63a2 whitespace cleanup in VMD plugin headers 2017-04-18 11:46:19 -04:00
8d390100e0 update .gitignore and Purge.list for recent changes 2017-04-18 11:44:23 -04:00
dee3536144 update VMD molfile plugin headers and move them to lib/molfile (where they belong) 2017-04-18 11:42:31 -04:00
73c210b665 Merge branch 'unstable' of https://github.com/ketankhare/lammps into small-fixes-and-updates 2017-04-18 11:20:23 -04:00
4bad52f30c fix typos 2017-04-17 17:52:06 -04:00
481927ff16 correct 'thrid' instead of 'third' 2017-04-17 17:49:49 -04:00
dec36e9bfe fix typos and remove trailing whitespace 2017-04-17 17:40:57 -04:00
dd90c860ee refactor msi2lmp documentation to emphasize lack of active development
- put a note into the manual
- reorder contents of the README file
- request for information should be sent to lammps-users
- add list of known missing features
2017-04-17 17:40:21 -04:00
c9bc141335 remove doc text explaining restrictions that are lifted with the changes in this branch 2017-04-14 12:57:35 -04:00
3cbf4f3b58 correct logic bug in else branch of the conditional 2017-04-14 11:57:53 -04:00
6c2dd7ebb1 pass the name of the python interpreter compatible with the python package to 'make install-python' 2017-04-14 11:44:36 -04:00
d3187b22c4 restore lost change to PYTHON/Install.sh 2017-04-13 18:11:57 -04:00
2f32fb7f8b patch 13Apr17 2017-04-13 11:19:48 -06:00
e6f30ebc9c Merge remote-tracking branch 'origin/master' into python_refactoring 2017-04-12 20:26:57 -04:00
cb867ea91d Merge pull request #450 from rbberger/python_destruction_fix
Prevent segfault if Python was never initialized
2017-04-12 13:58:23 -06:00
961096f9df Prevent segfault if Python was never initialized 2017-04-12 11:17:15 -04:00
3fa9f0a27b Delete python_wrapper.h 2017-04-11 21:51:21 -04:00
05d7bc556f Initialize Python interpreter in PythonImpl constructor 2017-04-11 21:46:33 -04:00
2d8bce78a6 Refactor PYTHON package and wrapper classes 2017-04-11 21:22:30 -04:00
9a027a01da Add Python 3 compatibility to PYTHON package 2017-04-11 20:24:42 -04:00
4da8c1c4e2 patch 11Apr17 2017-04-11 09:00:37 -06:00
49dd9449b8 fix gcmc updates from Aidan, trimming of output for replica commands 2017-04-11 08:35:09 -06:00
76fd936972 Merge pull request #443 from Pakketeretet2/user-manifold-fix-every-keyword
User manifold fix every keyword
2017-04-11 08:27:53 -06:00
06cebb9fb4 Merge pull request #445 from Pakketeretet2/extract_for_bond
Extract for bond
2017-04-11 08:27:31 -06:00
b9d844ca8d Merge pull request #444 from ohenrich/user-cgdna
Minor updates to docu of USER-CGDNA package
2017-04-11 08:25:09 -06:00
ccc9367de7 Merge pull request #442 from akohlmey/small-updates-and-bugfixes
collected small updates and bugfixes
2017-04-11 08:24:32 -06:00
4c4a3fe5d1 Merge pull request #439 from rbberger/python_mixed_use_support
Support mixed Python use by honoring Python GIL
2017-04-11 08:24:06 -06:00
84ea8a79e6 correct link for dispersion parameter how-to and reformat 2017-04-10 20:43:24 -04:00
3d3d1061d3 README for updated header files from VMD 1.9.3 2017-04-10 18:41:36 -04:00
b9177fd6dc Updated to 1.108 from 1.103 2017-04-10 18:40:30 -04:00
8051b12ffc Updated to 1.33 from 1.32 2017-04-10 18:39:37 -04:00
f19f558220 Removed changed bond_harmonic from wrong position. 2017-04-10 10:06:03 -04:00
1ad7d856fe Added forgotten #include string to bond_harmonic.cpp 2017-04-10 09:57:54 -04:00
d6357420ae propagate global package installation bugfix to explicit package scripts 2017-04-07 15:29:56 -04:00
62b9fa22b8 when computing only rotational temperature, we must not subtract the default n-dim extra DOFs 2017-04-07 15:11:26 -04:00
1725832b6c address issue where uninstalling an empty package will erase all code in src 2017-04-06 11:08:57 -04:00
874944f2ec Made fix adapt support bond harmonic. 2017-04-04 19:37:17 -04:00
497a5d88af Merge branch 'master' into user-cgdna 2017-04-04 20:03:57 +01:00
8993daaa31 Minor update to docu 2017-04-04 19:54:22 +01:00
e190eb15f5 remove debug printf 2017-04-04 17:54:33 +00:00
b6bc33bac6 Merge branch 'user_manifold_fix' into user-manifold-fix-every-keyword 2017-04-04 13:31:22 -04:00
03a6f5237f Made every keyword for user-manifold work as advertised. 2017-04-04 13:30:49 -04:00
28e86917a0 Made fix adapt work with bond_harmonic. 2017-04-04 12:35:26 -04:00
6f1bbd3cec protect fix ave/histo from segfaulting on non-existing computes, fixes or variables 2017-04-03 18:08:15 -04:00
ae56b9ad89 patch 31Mar17 for stable release 2017-03-30 10:07:27 -06:00
4466d9fb4a Merge pull request #440 from ohenrich/user-cgdna
Updated lammps.book, USER-CGDNA install script
2017-03-30 09:34:35 -06:00
ac1aa9edea Updated README 2017-03-29 11:18:04 +01:00
c733204a70 Updated lammps.book and install script 2017-03-29 08:28:03 +01:00
1544b51dcb Support mixed Python use by honoring Python GIL
This enables support to both drive LAMMPS with a Python interpreter and
evaluating Python expressions inside of LAMMPS using that same interpreter.
Previously this has been avoided through an error message because the
binding code did not ensure that the necessary GIL (global interpreter lock)
structures exist (see issue #438).

All code paths which call Python C API functions must first acquire the
GIL through a call PyGILState_Ensure and release it with PyGILState_Release.
2017-03-29 01:49:15 -04:00
4b9d0a9566 sync with SVN 2017-03-28 13:26:12 -06:00
0637f23875 patch 28Mar17 2017-03-28 13:12:23 -06:00
9f6e126a2f Merge pull request #437 from ohenrich/user-cgdna
User cgdna
2017-03-28 12:52:26 -06:00
645f56cf70 Merge pull request #436 from Pakketeretet2/better_incorrect_input_handling_nh
Changed the check on initial and final temperature to <= 0 for both.
2017-03-28 12:51:17 -06:00
80e5111dca Merge pull request #434 from akohlmey/imgflags-in-library
improved image flag handling in library interface
2017-03-28 12:50:13 -06:00
7e9f05b617 Merge pull request #433 from akohlmey/fixes-for-stable
More small fixes for stable release
2017-03-28 12:49:09 -06:00
1d8f0c762d Merge branch 'master' into fixes-for-stable 2017-03-28 14:37:30 -04:00
ef6070cbde remove executable permissions for potential files 2017-03-28 14:35:58 -04:00
61f3ff1d2b Merge branch 'master' of github.com:lammps/lammps 2017-03-28 12:35:33 -06:00
111d350a22 fix gcmc units change for chemical potential 2017-03-28 12:34:46 -06:00
1dfd61f532 Merge pull request #432 from Pakketeretet2/user_manifold_fix
Fixed a bug with equal-style variables as manifold params.
2017-03-28 12:33:45 -06:00
5c1f5462e7 Removed contribution line from header files 2017-03-28 19:08:24 +01:00
66a6375405 Resolved merge conflict 2017-03-28 18:58:31 +01:00
604afebf6f Update to oxDNA2 2017-03-28 18:22:02 +01:00
8afed61db1 Upgrade to oxDNA2 2017-03-28 18:16:36 +01:00
ee55a98103 Changed the check on initial and final temperature to <= 0 for both. 2017-03-28 11:22:10 -04:00
f8da9a866a synchronize dump custom/vtk documentation with that of dump custom 2017-03-28 11:00:22 -04:00
28bdebd3c0 avoid segfault when calling PPPM*::memory_usage() before grid communication is initialized 2017-03-28 07:50:48 -04:00
fc51c38abb add some docs for the special treatment of image flags 2017-03-28 02:22:45 -04:00
443ea13eff add image flag packing/unpacking to library/python interface 2017-03-28 02:05:05 -04:00
5feeb79c13 one more line of dead code removed 2017-03-27 15:16:28 -04:00
a241b2d0f7 fix problems with references 2017-03-27 15:01:32 -04:00
61e7595a94 remove references to xmovie, streamline dump and viz descriptions 2017-03-27 14:59:58 -04:00
da9096750e update .gitignore for newly added files 2017-03-27 14:30:21 -04:00
87ea9ba661 bugfix for library interface 2017-03-27 14:29:13 -04:00
c041727e4f remove dead code and reduce trivial compiler warnings (clang++) 2017-03-27 14:28:50 -04:00
3feffbe1de Removed diagnostics. 2017-03-27 13:49:53 -04:00
04fd038d35 Fixed a bug with equal-style variables as manifold params. 2017-03-27 13:46:57 -04:00
3dfe4505dd 24Mar17 patch sync with SVN 2017-03-24 15:17:51 -06:00
394e9b42b0 new CHARMM pair styles with force swithing/shifting 2017-03-24 13:53:07 -06:00
e6fcaefe95 Merge pull request #431 from v0i0/fix-airebo-morse
Fix airebo/morse
2017-03-24 10:03:29 -06:00
f5a85d68ad Merge pull request #429 from akohlmey/updates-for-stable
Collected updates for stable release
2017-03-24 10:01:23 -06:00
277b93cb89 Merge pull request #417 from tonnamb/add-pair-zhou
add new pair potential for metal-organic interactions - pair style momb
2017-03-24 09:41:30 -06:00
8820315ff9 Merge branch 'master' into updates-for-stable 2017-03-23 17:57:02 -04:00
44841f6891 fix ave/chunk fixes, 2d disc option, fix_modify dynamic/dof 2017-03-23 15:31:27 -06:00
2cdcd6d630 remove one more reference to xmovie 2017-03-23 16:03:25 -04:00
47cade2bcf re-arranged functions to make it easier to compare with non-threaded. port bugfixes to airebo to USER-OMP 2017-03-23 15:19:02 -04:00
a72efbea36 whitespace cleanup 2017-03-23 15:18:23 -04:00
5c9892c083 apply airebo/m bugfix also to USER-OMP version 2017-03-23 14:14:49 -04:00
9ecc5c8cf7 Merge branch 'fix-airebo-morse' of https://github.com/v0i0/lammps into pull-431 2017-03-23 14:12:37 -04:00
47cebb0d23 And getting it right... 2017-03-23 17:43:27 +01:00
f127e428cc Fix airebo/morse
Introduced in b3d2fb91, PCCf_2_0 does not get initialized in ::settings
in PairAIREBOMorse. Future proof by calling super-class.
2017-03-23 17:37:49 +01:00
568b67eee9 include citation for reference paper into pair style momb 2017-03-23 12:00:53 -04:00
865b41e201 make pair style momb example follow LAMMPS conventions more closely 2017-03-23 11:50:10 -04:00
b88a749680 rename a couple more references to pair style zhou into momb 2017-03-23 11:38:33 -04:00
02e65900e6 add example log file generated from 17Nov16 version of lammps, make minimize and run short in system.in 2017-03-23 11:03:00 -04:00
343c9eda82 change zhou to momb in src/USER-MISC/README 2017-03-23 10:24:13 -04:00
df8dbec676 rename pair_zhou to pair_momb in src and change class name from PairZhou to PairMomb 2017-03-23 10:22:49 -04:00
1075be7eca rename zhou to momb in examples 2017-03-23 10:18:15 -04:00
6d395ec511 change name zhou to momb in docs, fix grammar 2017-03-23 10:08:47 -04:00
bf560e78f3 edit description and add related commands and default 2017-03-22 16:56:40 -04:00
daae76c465 Add names Tonnam and Ya to README 2017-03-22 15:59:00 -04:00
1ea9a14121 Add Tonnam and Ya names 2017-03-22 15:55:34 -04:00
1db5834b99 Revert "Cleanup of a few more references to obsoleted and removed tools like xmovie"
This reverts commit 127597023d.
2017-03-22 15:12:49 -04:00
3070b043be Revert "correct inconsistent anchors"
This reverts commit a14d58259c.
2017-03-22 15:12:47 -04:00
ef3f323fc4 Revert "remove reference to removed section on VMD scripts"
This reverts commit 66eb9c2486.
2017-03-22 15:12:43 -04:00
43a304f564 remove reference to removed section on VMD scripts 2017-03-22 15:12:09 -04:00
a79aef65e8 correct inconsistent anchors 2017-03-22 15:12:09 -04:00
dc1d93a491 some more whitespace cleanup 2017-03-22 15:08:09 -04:00
66eb9c2486 remove reference to removed section on VMD scripts 2017-03-22 15:01:11 -04:00
a14d58259c correct inconsistent anchors 2017-03-22 15:00:57 -04:00
127597023d Cleanup of a few more references to obsoleted and removed tools like xmovie 2017-03-22 14:57:37 -04:00
3ec16f3630 fully integrate support for doc_anchor_check into docs makefile 2017-03-22 14:40:30 -04:00
cb9059652d a few more small changes to integrate pair style zhou properly 2017-03-22 14:39:46 -04:00
43f27250b5 Merge branch 'add-pair-zhou' of https://github.com/tonnamb/lammps into pull-417 2017-03-22 14:05:16 -04:00
af0b5b0e84 Removed dead code 2017-03-22 16:23:29 +00:00
c5d561a312 pair_zhou docs: add equation, add link in section_commands and pairs 2017-03-22 12:00:32 -04:00
7435084375 Verified oxDNA with modified nucleotide layout 2017-03-22 15:59:10 +00:00
734e639c5d correct typo reported on lammps-users 2017-03-21 14:12:00 -04:00
dcede304df changes for next patch, 2d disc options for spheres, fix external upgrade, bug fixes for fix ave/chunk for density calcs, Aidan doc page citation deconvolution 2017-03-21 08:56:37 -06:00
145e682ad3 Merge pull request #427 from akohlmey/small-updates-and-corrections
Various updates and corrections for upcoming stable release
2017-03-21 08:18:21 -06:00
6482df6c2f remove references to deleted tools. update/clarify section on restart2data 2017-03-20 18:57:30 -04:00
0c9cd11b4e have the relevant LAMMPS version embedded into top part of the html manual 2017-03-20 18:25:11 -04:00
82d952ae0e mention NumPy dependency instead of Numeric for python tools 2017-03-20 17:26:19 -04:00
47d6451d03 fix compilation for pymol_asphere tool 2017-03-20 17:18:24 -04:00
e110d6961a remove obsolete tools and files 2017-03-20 17:17:35 -04:00
a42b0b7dcb update colvars abf integrate tool from git repo 2017-03-20 17:04:16 -04:00
03828b5836 adapt binary2txt.cpp source to current coding conventions 2017-03-20 16:57:32 -04:00
3b44c3ff1d remove non-ASCII characters from doc source files 2017-03-20 16:55:14 -04:00
0d0c2b65f7 correct stan's email address 2017-03-20 16:32:16 -04:00
2218a9d704 emphasize that the online manual is following the latest development version 2017-03-20 16:32:04 -04:00
0a6b33cd78 remove duplicate paragraph in nose-hoover fix docs 2017-03-20 16:27:00 -04:00
ecf17621aa more permission fixes 2017-03-20 16:25:06 -04:00
f0c6ed004d remove xmovie 2017-03-20 16:24:38 -04:00
554531a302 update permissions 2017-03-20 13:51:36 -04:00
d496c0fdfa Merge pull request #426 from dstelter92/master
fix for temper_grem exchange probability
2017-03-20 08:57:29 -06:00
5c39dfd740 re-ran example with fixed exchanges 2017-03-20 09:22:09 -04:00
5b842f0010 Teff and exchange bugfix, as per Greg Dignon to match python examples 2017-03-20 09:15:48 -04:00
52987a3615 Started writing pair_zhou.txt 2017-03-18 22:32:39 -04:00
b6ecfb91c4 deleted pair_zhou in main/src (moved to USER-MISC) 2017-03-18 21:22:02 -04:00
d04ea8653d add examples for pair_zhou 2017-03-18 21:21:25 -04:00
2ab77caa8b adapt to LAMMPS coding style 2017-03-18 21:01:40 -04:00
da81531906 move pair_zhou to USER-MISC and update USER-MISC/README 2017-03-18 20:54:12 -04:00
5be32f5d8d remove pair_zhou from Makefile.list 2017-03-18 20:48:49 -04:00
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
ec1778b586 add pair_zhou 2017-03-15 11:10:04 -04: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
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
0efd209480 Merge branch 'master' into user-cgdna 2017-02-09 11:50:03 +00:00
ed0a347fbf Merge branch 'master' into user-cgdna 2017-01-30 10:31:50 +00:00
149f37e764 Corrected reference to Fig.1 2017-01-26 19:08:59 +00:00
1202 changed files with 353902 additions and 49034 deletions

View File

@ -6,6 +6,7 @@ BUILDDIR = /tmp/lammps-docs-$(SHA1)
RSTDIR = $(BUILDDIR)/rst
VENV = $(BUILDDIR)/docenv
TXT2RST = $(VENV)/bin/txt2rst
ANCHORCHECK = $(VENV)/bin/doc_anchor_check
PYTHON = $(shell which python3)
HAS_PYTHON3 = NO
@ -22,7 +23,7 @@ endif
SOURCES=$(wildcard src/*.txt)
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
.PHONY: help clean-all clean epub html pdf old venv spelling
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
# ------------------------------------------
@ -36,6 +37,7 @@ help:
@echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment"
@echo " txt2html build txt2html tool"
@echo " anchor_check scan for duplicate anchor labels"
# ------------------------------------------
@ -49,11 +51,14 @@ clean:
clean-spelling:
rm -rf spelling
html: $(OBJECTS)
html: $(OBJECTS) $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
echo "############################################" ;\
doc_anchor_check src/*.txt ;\
echo "############################################" ;\
deactivate ;\
)
-rm html/searchindex.js
@ -127,6 +132,13 @@ fetch:
txt2html: utils/txt2html/txt2html.exe
anchor_check : $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ;\
doc_anchor_check src/*.txt ;\
deactivate ;\
)
# ------------------------------------------
utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp
@ -146,12 +158,12 @@ $(VENV):
@( \
virtualenv -p $(PYTHON) $(VENV); \
. $(VENV)/bin/activate; \
pip install Sphinx; \
pip install Sphinx==1.5.6; \
pip install sphinxcontrib-images; \
deactivate;\
)
$(TXT2RST): $(VENV)
$(TXT2RST) $(ANCHORCHECK): $(VENV)
@( \
. $(VENV)/bin/activate; \
(cd utils/converters;\

BIN
doc/src/Eqs/fix_gcmc1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
\mu &=&\mu^{id} + \mu^{ex}
\end{eqnarray*}
\end{document}

BIN
doc/src/Eqs/fix_gcmc2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

10
doc/src/Eqs/fix_gcmc2.tex Normal file
View File

@ -0,0 +1,10 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
\mu^{id} &=& k T \ln{\rho \Lambda^3} \\
&=& k T \ln{\frac{\phi P \Lambda^3}{k T}}
\end{eqnarray*}
\end{document}

BIN
doc/src/Eqs/fix_gcmc3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
\Lambda &=& \sqrt{ \frac{h^2}{2 \pi m k T}}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,13 +1,14 @@
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
$$
E=\sum_{ij}\phi(r_{ij})+\sum_{i}U(\rho_{i}),
E=\sum_{i<j}\phi(r_{ij})+\sum_{i}U(n_{i}),
$$
$$
\rho_{i}=\sum_{j}\rho(r_{ij})+\sum_{jk}f(r_{ij})f(r_{ik})g[\cos(\theta_{jik})]
n_{i}=\sum_{j}\rho(r_{ij})+\sum_{\substack{j<k,\\j,k\neq i}}f(r_{ij})f(r_{ik})g[\cos(\theta_{jik})]
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,14 @@
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
$$
E=\sum_{i<j}\phi_{ij}(r_{ij})+\sum_{i}U_i(n_{i}),
$$
$$
n_{i}=\sum_{j\ne i}\rho_j(r_{ij})+\sum_{\substack{j<k,\\j,k\neq i}}f_{j}(r_{ij})f_{k}(r_{ik})g_{jk}[\cos(\theta_{jik})]
$$
\end{document}

BIN
doc/src/Eqs/pair_momb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

13
doc/src/Eqs/pair_momb.tex Normal file
View File

@ -0,0 +1,13 @@
\documentclass[12pt,fleqn]{article}
\usepackage{amsmath}
\thispagestyle{empty}
\begin{document}
\setlength{\jot}{2ex}
\begin{gather*}
E = D_0 [\exp^{-2 \alpha (r-r_0)} - 2\exp^{-\alpha (r-r_0)}] - s_6 \frac{C_6}{r^6} f_{damp}(r,R_r) \\
f_{damp}(r,R_r) = \frac{1}{1 + \exp^{-d(r/R_r - 1)}}
\end{gather*}
\end{document}

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="7 Mar 2017 version">
<META NAME="docnumber" CONTENT="19 May 2017 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
@ -21,7 +21,7 @@
<H1></H1>
LAMMPS Documentation :c,h3
7 Mar 2017 version :c,h4
19 May 2017 version :c,h4
Version info: :h4
@ -39,7 +39,7 @@ directory name created when you unpack a tarball, and at the top of
the first page of the manual (this page).
If you browse the HTML doc pages on the LAMMPS WWW site, they always
describe the most current version of LAMMPS. :ulb,l
describe the most current [development] version of LAMMPS. :ulb,l
If you browse the HTML doc pages included in your tarball, they
describe the version you have. :l
@ -67,7 +67,7 @@ Labs and Temple University:
"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l
Aidan Thompson, athomps at sandia.gov :l
Stan Moore, stamoore at sandia.gov :l
Stan Moore, stamoor at sandia.gov :l
"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l
:ule
@ -158,12 +158,11 @@ END_RST -->
2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b
2.2 "Making LAMMPS"_start_2 :b
2.3 "Making LAMMPS with optional packages"_start_3 :b
2.4 "Building LAMMPS via the Make.py script"_start_4 :b
2.5 "Building LAMMPS as a library"_start_5 :b
2.6 "Running LAMMPS"_start_6 :b
2.7 "Command-line options"_start_7 :b
2.8 "Screen output"_start_8 :b
2.9 "Tips for users of previous versions"_start_9 :ule,b
2.4 "Building LAMMPS as a library"_start_4 :b
2.5 "Running LAMMPS"_start_5 :b
2.6 "Command-line options"_start_6 :b
2.7 "Screen output"_start_7 :b
2.8 "Tips for users of previous versions"_start_8 :ule,b
"Commands"_Section_commands.html :l
3.1 "LAMMPS input script"_cmd_1 :ulb,b
3.2 "Parsing rules"_cmd_2 :b

Binary file not shown.

View File

@ -527,9 +527,9 @@ These are additional commands in USER packages, which can be used if
"LAMMPS is built with the appropriate
package"_Section_start.html#start_3.
"dump custom/vtk"_dump_custom_vtk.html,
"dump nc"_dump_nc.html,
"dump nc/mpiio"_dump_nc.html,
"dump netcdf"_dump_netcdf.html,
"dump netcdf/mpiio"_dump_netcdf.html,
"dump vtk"_dump_vtk.html,
"group2ndx"_group2ndx.html,
"ndx2group"_group2ndx.html,
"temper/grem"_temper_grem.html :tb(c=3,ea=c)
@ -618,6 +618,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"press/berendsen"_fix_press_berendsen.html,
"print"_fix_print.html,
"property/atom"_fix_property_atom.html,
"python"_fix_python.html,
"qeq/comb (o)"_fix_qeq_comb.html,
"qeq/dynamic"_fix_qeq.html,
"qeq/fire"_fix_qeq.html,
@ -687,6 +688,7 @@ package"_Section_start.html#start_3.
"eos/cv"_fix_eos_cv.html,
"eos/table"_fix_eos_table.html,
"eos/table/rx"_fix_eos_table_rx.html,
"filter/corotate"_fix_filter_corotate.html,
"flow/gauss"_fix_flow_gauss.html,
"gle"_fix_gle.html,
"grem"_fix_grem.html,
@ -930,6 +932,8 @@ KOKKOS, o = USER-OMP, t = OPT.
"gran/hertz/history (o)"_pair_gran.html,
"gran/hooke (o)"_pair_gran.html,
"gran/hooke/history (o)"_pair_gran.html,
"gw"_pair_gw.html,
"gw/zbl"_pair_gw.html,
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html,
"kim"_pair_kim.html,
@ -939,6 +943,8 @@ KOKKOS, o = USER-OMP, t = OPT.
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
"lj/charmm/coul/long (giko)"_pair_charmm.html,
"lj/charmm/coul/msm"_pair_charmm.html,
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
"lj/charmmfsw/coul/long"_pair_charmm.html,
"lj/class2 (gko)"_pair_class2.html,
"lj/class2/coul/cut (ko)"_pair_class2.html,
"lj/class2/coul/long (gko)"_pair_class2.html,
@ -979,6 +985,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"peri/pmb (o)"_pair_peri.html,
"peri/ves"_pair_peri.html,
"polymorphic"_pair_polymorphic.html,
"python"_pair_python.html,
"reax"_pair_reax.html,
"rebo (o)"_pair_airebo.html,
"resquared (go)"_pair_resquared.html,
@ -1013,6 +1020,7 @@ package"_Section_start.html#start_3.
"dpd/fdt/energy"_pair_dpd_fdt.html,
"eam/cd (o)"_pair_eam.html,
"edip (o)"_pair_edip.html,
"edip/multi"_pair_edip.html,
"eff/cut"_pair_eff.html,
"exp6/rx"_pair_exp6_rx.html,
"gauss/cut"_pair_gauss.html,
@ -1034,6 +1042,7 @@ package"_Section_start.html#start_3.
"meam/spline (o)"_pair_meam_spline.html,
"meam/sw/spline"_pair_meam_sw_spline.html,
"mgpt"_pair_mgpt.html,
"momb"_pair_momb.html,
"morse/smooth/linear"_pair_morse.html,
"morse/soft"_pair_morse.html,
"multi/lucy"_pair_multi_lucy.html,
@ -1043,8 +1052,12 @@ package"_Section_start.html#start_3.
"oxdna/hbond"_pair_oxdna.html,
"oxdna/stk"_pair_oxdna.html,
"oxdna/xstk"_pair_oxdna.html,
"oxdna2/coaxstk"_pair_oxdna2.html,
"oxdna2/dh"_pair_oxdna2.html,
"oxdna2/excv"_pair_oxdna2.html,
"oxdna2/stk"_pair_oxdna2.html,
"quip"_pair_quip.html,
"reax/c (k)"_pair_reax_c.html,
"reax/c (k)"_pair_reaxc.html,
"smd/hertz"_pair_smd_hertz.html,
"smd/tlsph"_pair_smd_tlsph.html,
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
@ -1060,7 +1073,7 @@ package"_Section_start.html#start_3.
"table/rx"_pair_table_rx.html,
"tersoff/table (o)"_pair_tersoff.html,
"thole"_pair_thole.html,
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
:line
@ -1092,7 +1105,8 @@ package"_Section_start.html#start_3.
"harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"oxdna/fene"_bond_oxdna.html :tb(c=4,ea=c)
"oxdna/fene"_bond_oxdna.html,
"oxdna2/fene"_bond_oxdna.html :tb(c=4,ea=c)
:line
@ -1146,6 +1160,7 @@ USER-OMP, t = OPT.
"zero"_dihedral_zero.html,
"hybrid"_dihedral_hybrid.html,
"charmm (ko)"_dihedral_charmm.html,
"charmmfsw"_dihedral_charmm.html,
"class2 (ko)"_dihedral_class2.html,
"harmonic (io)"_dihedral_harmonic.html,
"helix (o)"_dihedral_helix.html,

View File

@ -11171,6 +11171,12 @@ Self-explanatory. :dd
If the fix changes the timestep, the dump dcd file will not
reflect the change. :dd
{Energy due to X extra global DOFs will be included in minimizer energies} :dt
When using fixes like box/relax, the potential energy used by the minimizer
is augmented by an additional energy provided by the fix. Thus the printed
converged energy may be different from the total potential energy. :dd
{Energy tally does not account for 'zero yes'} :dt
The energy removed by using the 'zero yes' flag is not accounted

View File

@ -25,9 +25,7 @@ files and image files.
If you uncomment the "dump"_dump.html command in the input script, a
text dump file will be produced, which can be animated by various
"visualization programs"_http://lammps.sandia.gov/viz.html. It can
also be animated using the xmovie tool described in the "Additional
Tools"_Section_tools.html section of the LAMMPS documentation.
"visualization programs"_http://lammps.sandia.gov/viz.html.
If you uncomment the "dump image"_dump.html command in the input
script, and assuming you have built LAMMPS with a JPG library, JPG
@ -53,9 +51,11 @@ Lowercase directories :h4
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
balance: dynamic load balancing, 2d system
body: body particles, 2d system
cmap: CMAP 5-body contributions to CHARMM force field
colloid: big colloid particles in a small particle solvent, 2d system
comb: models using the COMB potential
coreshell: core/shell model using CORESHELL package
controller: use of fix controller as a thermostat
crack: crack propagation in a 2d solid
deposit: deposit atoms and molecules on a surface
dipole: point dipolar particles, 2d system
@ -64,6 +64,8 @@ eim: NaCl using the EIM potential
ellipse: ellipsoidal particles in spherical solvent, 2d system
flow: Couette and Poiseuille flow in a 2d channel
friction: frictional contact of spherical asperities between 2d surfaces
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
granregion: use of fix wall/region/gran as boundary on granular particles
hugoniostat: Hugoniostat shock dynamics
indent: spherical indenter into a 2d solid
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
@ -71,6 +73,7 @@ meam: MEAM test for SiC and shear (same as shear examples)
melt: rapid melt of 3d LJ system
micelle: self-assembly of small lipid-like molecules into 2d bilayers
min: energy minimization of 2d LJ melt
mscg: parameterize a multi-scale coarse-graining (MSCG) model
msst: MSST shock dynamics
nb3b: use of nonbonded 3-body harmonic pair style
neb: nudged elastic band (NEB) calculation for barrier finding
@ -89,7 +92,8 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
srd: stochastic rotation dynamics (SRD) particles as solvent
streitz: use of Streitz/Mintmire potential with charge equilibration
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
vashishta: use of the Vashishta potential :tb(s=:)
vashishta: use of the Vashishta potential
voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:)
Here is how you can run and visualize one of the sample problems:

View File

@ -165,9 +165,16 @@ Many of the example input scripts included in the LAMMPS distribution
are for 2d models.
NOTE: Some models in LAMMPS treat particles as finite-size spheres, as
opposed to point particles. In 2d, the particles will still be
spheres, not disks, meaning their moment of inertia will be the same
as in 3d.
opposed to point particles. See the "atom_style
sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html
commands for details. By default, for 2d simulations, such particles
will still be modeled as 3d spheres, not 2d discs (circles), meaning
their moment of inertia will be that of a sphere. If you wish to
model them as 2d discs, see the "set density/disc"_set.html command
and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html,
"fix nvt/sphere"_fix_nvt_sphere.html, "fix
nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html
commands.
:line
@ -197,7 +204,10 @@ documentation for the formula it computes.
"bond_style"_bond_harmonic.html harmonic
"angle_style"_angle_charmm.html charmm
"dihedral_style"_dihedral_charmm.html charmmfsh
"dihedral_style"_dihedral_charmm.html charmm
"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh
"pair_style"_pair_charmm.html lj/charmmfsw/coul/long
"pair_style"_pair_charmm.html lj/charmm/coul/charmm
"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit
"pair_style"_pair_charmm.html lj/charmm/coul/long :ul
@ -205,6 +215,12 @@ documentation for the formula it computes.
"special_bonds"_special_bonds.html charmm
"special_bonds"_special_bonds.html amber :ul
NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were
released in March 2017. We recommend they be used instead of the
older {charmm} styles. See discussion of the differences on the "pair
charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
doc pages.
DREIDING is a generic force field developed by the "Goddard
group"_http://www.wag.caltech.edu at Caltech and is useful for
predicting structures and dynamics of organic, biological and
@ -434,6 +450,12 @@ computations between frozen atoms by using this command:
"neigh_modify"_neigh_modify.html exclude :ul
NOTE: By default, for 2d systems, granular particles are still modeled
as 3d spheres, not 2d discs (circles), meaning their moment of inertia
will be the same as in 3d. If you wish to model granular particles in
2d as 2d discs, see the note on this topic in "Section
6.2"_Section_howto.html#howto_2, where 2d simulations are disussed.
:line
6.7 TIP3P water model :link(howto_7),h4
@ -451,7 +473,7 @@ atoms and the water molecule to run a rigid TIP3P-CHARMM model with a
cutoff. The K values can be used if a flexible TIP3P model (without
fix shake) is desired. If the LJ epsilon and sigma for HH and OH are
set to 0.0, it corresponds to the original 1983 TIP3P model
"(Jorgensen)"_#Jorgensen.
"(Jorgensen)"_#Jorgensen1.
O mass = 15.9994
H mass = 1.008
@ -469,7 +491,7 @@ K of HOH angle = 55
theta of HOH angle = 104.52 :all(b),p
These are the parameters to use for TIP3P with a long-range Coulombic
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price for
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for
details:
O mass = 15.9994
@ -513,7 +535,7 @@ using the "fix shake"_fix_shake.html command.
These are the additional parameters (in real units) to set for O and H
atoms and the water molecule to run a rigid TIP4P model with a cutoff
"(Jorgensen)"_#Jorgensen. Note that the OM distance is specified in
"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in
the "pair_style"_pair_style.html command, not as part of the pair
coefficients.
@ -737,23 +759,14 @@ LAMMPS itself does not do visualization, but snapshots from LAMMPS
simulations can be visualized (and analyzed) in a variety of ways.
LAMMPS snapshots are created by the "dump"_dump.html command which can
create files in several formats. The native LAMMPS dump format is a
create files in several formats. The native LAMMPS dump format is a
text file (see "dump atom" or "dump custom") which can be visualized
by the "xmovie"_Section_tools.html#xmovie program, included with the
LAMMPS package. This produces simple, fast 2d projections of 3d
systems, and can be useful for rapid debugging of simulation geometry
and atom trajectories.
by several popular visualization tools. The "dump image"_dump_image.html
and "dump movie"_dump_image.html styles can output internally rendered
images and convert a sequence of them to a movie during the MD run.
Several programs included with LAMMPS as auxiliary tools can convert
native LAMMPS dump files to other formats. See the
"Section 9"_Section_tools.html doc page for details. The first is
the "ch2lmp tool"_Section_tools.html#charmm, which contains a
lammps2pdb Perl script which converts LAMMPS dump files into PDB
files. The second is the "lmp2arc tool"_Section_tools.html#arc which
converts LAMMPS dump files into Accelrys' Insight MD program files.
The third is the "lmp2cfg tool"_Section_tools.html#cfg which converts
LAMMPS dump files into CFG files which can be read into the
"AtomEye"_atomeye visualizer.
between LAMMPS format files and other formats.
See the "Section 9"_Section_tools.html doc page for details.
A Python-based toolkit distributed by our group can read native LAMMPS
dump files, including custom dump files with additional columns of
@ -766,22 +779,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive
3d OpenGL visualization and one that creates SVG images of dump file
snapshots.
LAMMPS can create XYZ files directly (via "dump xyz") which is a
simple text-based file format used by many visualization programs
including "VMD"_vmd.
LAMMPS can create DCD files directly (via "dump dcd") which can be
read by "VMD"_vmd in conjunction with a CHARMM PSF file. Using this
form of output avoids the need to convert LAMMPS snapshots to PDB
files. See the "dump"_dump.html command for more information on DCD
files.
LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS
file format which can also be read by "VMD"_vmd for visualization.
See the "dump"_dump.html command for more information on XTC files.
:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
:link(vmd,http://www.ks.uiuc.edu/Research/vmd)
:link(ensight,http://www.ensight.com)
:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A)
@ -1032,6 +1030,10 @@ profile consistent with the applied shear strain rate.
An alternative method for calculating viscosities is provided via the
"fix viscosity"_fix_viscosity.html command.
NEMD simulations can also be used to measure transport properties of a fluid
through a pore or channel. Simulations of steady-state flow can be performed
using the "fix flow/gauss"_fix_flow_gauss.html command.
:line
6.14 Finite-size spherical and aspherical particles :link(howto_14),h4
@ -1684,7 +1686,7 @@ nph) and Berendsen:
The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
it does no thermostatting. Both "fix nph"_fix_nh.html and "fix
press/bernendsen"_fix_press_berendsen.html can be used in conjunction
press/berendsen"_fix_press_berendsen.html can be used in conjunction
with any of the thermostatting fixes.
As with the thermostats, "fix npt"_fix_nh.html and "fix
@ -1834,7 +1836,7 @@ the deformation must be chosen judiciously, and care must be taken to
fully equilibrate the deformed cell before sampling the stress
tensor. Another approach is to sample the triclinic cell fluctuations
that occur in an NPT simulation. This method can also be slow to
converge and requires careful post-processing "(Shinoda)"_#Shinoda
converge and requires careful post-processing "(Shinoda)"_#Shinoda1
:line
@ -1957,9 +1959,12 @@ The extract functions return a pointer to various global or per-atom
quantities stored in LAMMPS or to values calculated by a compute, fix,
or variable. The pointer returned by the extract_global() function
can be used as a permanent reference to a value which may change. For
the other extract functions, the underlying storage may be reallocated
as LAMMPS runs, so you need to re-call the function to assure a
current pointer or returned value(s).
the extract_atom() method, see the extract() method in the
src/atom.cpp file for a list of valid per-atom properties. New names
could easily be added if the property you want is not listed. For the
other extract functions, the underlying storage may be reallocated as
LAMMPS runs, so you need to re-call the function to assure a current
pointer or returned value(s).
The lammps_reset_box() function resets the size and shape of the
simulation box, e.g. as part of restoring a previously extracted and
@ -1975,11 +1980,20 @@ keyword as a double precision value.
The lammps_get_natoms() function returns the total number of atoms in
the system and can be used by the caller to allocate space for the
lammps_gather_atoms() and lammps_scatter_atoms() functions. The
gather function collects atom info of the requested type (atom coords,
types, forces, etc) from all processors, orders them by atom ID, and
returns a full list to each calling processor. The scatter function
does the inverse. It distributes the same kinds of values,
gather function collects peratom info of the requested type (atom
coords, types, forces, etc) from all processors, orders them by atom
ID, and returns a full list to each calling processor. The scatter
function does the inverse. It distributes the same peratom values,
passed by the caller, to each atom owned by individual processors.
Both methods are thus a means to extract or assign (overwrite) any
peratom quantities within LAMMPS. See the extract() method in the
src/atom.cpp file for a list of valid per-atom properties. New names
could easily be added if the property you want is not listed.
A special treatment is applied for accessing image flags via the
"image" property. Image flags are stored in a packed format with all
three image flags stored in a single integer. When signaling to access
the image flags as 3 individual values per atom instead of 1, the data
is transparently packed or unpacked by the library interface.
The lammps_create_atoms() function takes a list of N atoms as input
with atom types and coords (required), an optionally atom IDs and
@ -2899,14 +2913,14 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
(1990).
:link(Jorgensen)
:link(Jorgensen1)
[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
Phys, 79, 926 (1983).
:link(Price)
:link(Price1)
[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004).
:link(Shinoda)
:link(Shinoda1)
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
:link(MitchellFincham)

View File

@ -249,8 +249,12 @@ Pizza.py WWW site"_pizza. :l
Specialized features :h5
These are LAMMPS capabilities which you may not think of as typical
molecular dynamics options:
LAMMPS can be built with optional packages which implement a variety
of additional capabilities. An overview of all the packages is "given
here"_Section_packages.html.
These are some LAMMPS capabilities which you may not think of as
typical classical molecular dynamics options:
"static"_balance.html and "dynamic load-balancing"_fix_balance.html
"generalized aspherical particles"_body.html
@ -338,15 +342,13 @@ dynamics timestepping, particularly if the computations are not
parallel, so it is often better to leave such analysis to
post-processing codes.
A very simple (yet fast) visualizer is provided with the LAMMPS
package - see the "xmovie"_Section_tools.html#xmovie tool in "this
section"_Section_tools.html. It creates xyz projection views of
atomic coordinates and animates them. We find it very useful for
debugging purposes. For high-quality visualization we recommend the
For high-quality visualization we recommend the
following packages:
"VMD"_http://www.ks.uiuc.edu/Research/vmd
"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A
"OVITO"_http://www.ovito.org/
"ParaView"_http://www.paraview.org/
"PyMol"_http://www.pymol.org
"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html
"RasMol"_http://www.openrasmol.org :ul
@ -517,7 +519,7 @@ the packages they have written are somewhat unique to LAMMPS and the
code would not be as general-purpose as it is without their expertise
and efforts.
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK and USER-OMP packages
Roy Pollock (LLNL), Ewald and PPPM solvers
Mike Brown (ORNL), brownw at ornl.gov, GPU package
Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential

File diff suppressed because it is too large Load Diff

View File

@ -118,18 +118,21 @@ check which version of Python you have installed, by simply typing
11.2 Overview of using Python from a LAMMPS script :link(py_2),h4
NOTE: It is not currently possible to use the "python"_python.html
command described in this section with Python 3, only with Python 2.
The C API changed from Python 2 to 3 and the LAMMPS code is not
compatible with both.
LAMMPS has several commands which can be used to invoke Python
code directly from an input script:
LAMMPS has a "python"_python.html command which can be used in an
input script to define and execute a Python function that you write
the code for. The Python function can also be assigned to a LAMMPS
python-style variable via the "variable"_variable.html command. Each
time the variable is evaluated, either in the LAMMPS input script
itself, or by another LAMMPS command that uses the variable, this will
trigger the Python function to be invoked.
"python"_python.html
"variable python"_variable.html
"fix python"_fix_python.html
"pair_style python"_pair_python.html :ul
The "python"_python.html command which can be used to define and
execute a Python function that you write the code for. The Python
function can also be assigned to a LAMMPS python-style variable via
the "variable"_variable.html command. Each time the variable is
evaluated, either in the LAMMPS input script itself, or by another
LAMMPS command that uses the variable, this will trigger the Python
function to be invoked.
The Python code for the function can be included directly in the input
script or in an auxiliary file. The function can have arguments which
@ -162,8 +165,16 @@ doc page for its python-style variables for more info, including
examples of Python code you can write for both pure Python operations
and callbacks to LAMMPS.
To run pure Python code from LAMMPS, you only need to build LAMMPS
with the PYTHON package installed:
The "fix python"_fix_python.html command can execute
Python code at selected timesteps during a simulation run.
The "pair_style python"_pair_python command allows you to define
pairwise potentials as python code which encodes a single pairwise
interaction. This is useful for rapid-developement and debugging of a
new potential.
To use any of these commands, you only need to build LAMMPS with the
PYTHON package installed:
make yes-python
make machine :pre
@ -594,10 +605,10 @@ flag = lmp.set_variable(name,value) # set existing named string-style vari
value = lmp.get_thermo(name) # return current value of a thermo keyword
natoms = lmp.get_natoms() # total # of atoms as int
data = lmp.gather_atoms(name,type,count) # return atom attribute of all atoms gathered into data, ordered by atom ID
data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID
# name = "x", "charge", "type", etc
# count = # of per-atom values, 1 or 3, etc
lmp.scatter_atoms(name,type,count,data) # scatter atom attribute of all atoms from data, ordered by atom ID
lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID
# name = "x", "charge", "type", etc
# count = # of per-atom values, 1 or 3, etc :pre
@ -656,10 +667,10 @@ argument.
For extract_atom(), a pointer to internal LAMMPS atom-based data is
returned, which you can use via normal Python subscripting. See the
extract() method in the src/atom.cpp file for a list of valid names.
Again, new names could easily be added. A pointer to a vector of
doubles or integers, or a pointer to an array of doubles (double **)
or integers (int **) is returned. You need to specify the appropriate
data type via the type argument.
Again, new names could easily be added if the property you want is not
listed. A pointer to a vector of doubles or integers, or a pointer to
an array of doubles (double **) or integers (int **) is returned. You
need to specify the appropriate data type via the type argument.
For extract_compute() and extract_fix(), the global, per-atom, or
local data calculated by the compute or fix can be accessed. What is
@ -689,12 +700,21 @@ specified group.
The get_natoms() method returns the total number of atoms in the
simulation, as an int.
The gather_atoms() method returns a ctypes vector of ints or doubles
as specified by type, of length count*natoms, for the property of all
the atoms in the simulation specified by name, ordered by count and
then by atom ID. The vector can be used via normal Python
subscripting. If atom IDs are not consecutively ordered within
LAMMPS, a None is returned as indication of an error.
The gather_atoms() method allows any per-atom property (coordinates,
velocities, etc) to be extracted from LAMMPS. It returns a ctypes
vector of ints or doubles as specified by type, of length
count*natoms, for the named property for all atoms in the simulation.
The data is ordered by count and then by atom ID. See the extract()
method in the src/atom.cpp file for a list of valid names. Again, new
names could easily be added if the property you want is missing. The
vector can be used via normal Python subscripting. If atom IDs are
not consecutively ordered within LAMMPS, a None is returned as
indication of an error. A special treatment is applied for image flags
stored in the "image" property. All three image flags are stored in
a packed format in a single integer, so count would be 1 to retrieve
that integer, however also a count value of 3 can be used and then
the image flags will be unpacked into 3 individual integers, ordered
in a similar fashion as coordinates.
Note that the data structure gather_atoms("x") returns is different
from the data structure returned by extract_atom("x") in four ways.
@ -711,14 +731,22 @@ assigning a new values to the extract_atom() array. To do this with
the gather_atoms() vector, you need to change values in the vector,
then invoke the scatter_atoms() method.
The scatter_atoms() method takes a vector of ints or doubles as
specified by type, of length count*natoms, for the property of all the
atoms in the simulation specified by name, ordered by bount and then
by atom ID. It uses the vector of data to overwrite the corresponding
properties for each atom inside LAMMPS. This requires LAMMPS to have
its "map" option enabled; see the "atom_modify"_atom_modify.html
command for details. If it is not, or if atom IDs are not
consecutively ordered, no coordinates are reset.
The scatter_atoms() method allows any per-atom property (coordinates,
velocities, etc) to be inserted into LAMMPS, overwriting the current
property. It takes a vector of ints or doubles as specified by type,
of length count*natoms, for the named property for all atoms in the
simulation. The data should be ordered by count and then by atom ID.
See the extract() method in the src/atom.cpp file for a list of valid
names. Again, new names could easily be added if the property you
want is missing. It uses the vector of data to overwrite the
corresponding properties for each atom inside LAMMPS. This requires
LAMMPS to have its "map" option enabled; see the
"atom_modify"_atom_modify.html command for details. If it is not, or
if atom IDs are not consecutively ordered, no coordinates are reset.
Similar as for gather_atoms() a special treatment is applied for image
flags, which can be provided in packed (count = 1) or unpacked (count = 3)
format and in the latter case, they will be packed before applied to
atoms.
The array of coordinates passed to scatter_atoms() must be a ctypes
vector of ints or doubles, allocated and initialized something like
@ -734,7 +762,7 @@ x\[2\] = z coord of atom with ID 1
x\[3\] = x coord of atom with ID 2
...
x\[n3-1\] = z coord of atom with ID natoms
lmp.scatter_coords("x",1,3,x) :pre
lmp.scatter_atoms("x",1,3,x) :pre
Alternatively, you can just change values in the vector returned by
gather_atoms("x",1,3), since it is a ctypes vector of doubles.

View File

@ -14,12 +14,11 @@ experienced users.
2.1 "What's in the LAMMPS distribution"_#start_1
2.2 "Making LAMMPS"_#start_2
2.3 "Making LAMMPS with optional packages"_#start_3
2.4 "Building LAMMPS via the Make.py script"_#start_4
2.5 "Building LAMMPS as a library"_#start_5
2.6 "Running LAMMPS"_#start_6
2.7 "Command-line options"_#start_7
2.8 "Screen output"_#start_8
2.9 "Tips for users of previous versions"_#start_9 :all(b)
2.5 "Building LAMMPS as a library"_#start_4
2.6 "Running LAMMPS"_#start_5
2.7 "Command-line options"_#start_6
2.8 "Screen output"_#start_7
2.9 "Tips for users of previous versions"_#start_8 :all(b)
:line
@ -80,7 +79,7 @@ This section has the following sub-sections:
Read this first :h5,link(start_2_1)
If you want to avoid building LAMMPS yourself, read the preceding
If you want to avoid building LAMMPS yourself, read the preceeding
section about options available for downloading and installing
executables. Details are discussed on the "download"_download page.
@ -96,7 +95,7 @@ make serial :pre
Note that on a facility supercomputer, there are often "modules"
loaded in your environment that provide the compilers and MPI you
should use. In this case, the "mpicxx" compile/link command in
Makefile.mpi should just work by accessing those modules.
Makefile.mpi should simply work by accessing those modules.
It may be the case that one of the other Makefile.machine files in the
src/MAKE sub-directories is a better match to your system (type "make"
@ -107,33 +106,35 @@ make stampede :pre
If any of these builds (with an existing Makefile.machine) works on
your system, then you're done!
If you need to install an optional package with a LAMMPS command you
want to use, and the package does not depend on an extra library, you
can simply type
make name :pre
before invoking (or re-invoking) the above steps. "Name" is the
lower-case name of the package, e.g. replica or user-misc.
If you want to do one of the following:
use optional LAMMPS features that require additional libraries
use optional packages that require additional libraries
use optional accelerator packages that require special compiler/linker settings
run on a specialized platform that has its own compilers, settings, or other libs to use :ul
use a LAMMPS command that requires an extra library (e.g. "dump image"_dump_image.html)
build with a package that requires an extra library
build with an accelerator package that requires special compiler/linker settings
run on a machine that has its own compilers, settings, or libraries :ul
then building LAMMPS is more complicated. You may need to find where
auxiliary libraries exist on your machine or install them if they
don't. You may need to build additional libraries that are part of
the LAMMPS package, before building LAMMPS. You may need to edit a
extra libraries exist on your machine or install them if they don't.
You may need to build extra libraries that are included in the LAMMPS
distribution, before building LAMMPS itself. You may need to edit a
Makefile.machine file to make it compatible with your system.
Note that there is a Make.py tool in the src directory that automates
several of these steps, but you still have to know what you are doing.
"Section 2.4"_#start_4 below describes the tool. It is a convenient
way to work with installing/un-installing various packages, the
Makefile.machine changes required by some packages, and the auxiliary
libraries some of them use.
Please read the following sections carefully. If you are not
comfortable with makefiles, or building codes on a Unix platform, or
running an MPI job on your machine, please find a local expert to help
you. Many compilation, linking, and run problems that users have are
often not really LAMMPS issues - they are peculiar to the user's
system, compilers, libraries, etc. Such questions are better answered
by a local expert.
you. Many compilation, linking, and run problems users experience are
often not LAMMPS issues - they are peculiar to the user's system,
compilers, libraries, etc. Such questions are better answered by a
local expert.
If you have a build problem that you are convinced is a LAMMPS issue
(e.g. the compiler complains about a line of LAMMPS source code), then
@ -251,7 +252,7 @@ re-compile, after typing "make clean" (which will describe different
clean options).
The LMP_INC variable is used to include options that turn on ifdefs
within the LAMMPS code. The options that are currently recognized are:
within the LAMMPS code. The options that are currently recogized are:
-DLAMMPS_GZIP
-DLAMMPS_JPEG
@ -362,7 +363,7 @@ installed on your platform. If MPI is installed on your system in the
usual place (under /usr/local), you also may not need to specify these
3 variables, assuming /usr/local is in your path. On some large
parallel machines which use "modules" for their compile/link
environments, you may simply need to include the correct module in
environements, you may simply need to include the correct module in
your build environment, before building LAMMPS. Or the parallel
machine may have a vendor-provided MPI which the compiler has no
trouble finding.
@ -430,7 +431,7 @@ use the KISS library described above.
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables,
so the compiler and linker can find the needed FFT header and library
files. Note that on some large parallel machines which use "modules"
for their compile/link environments, you may simply need to include
for their compile/link environements, you may simply need to include
the correct module in your build environment. Or the parallel machine
may have a vendor-provided FFT library which the compiler has no
trouble finding.
@ -450,7 +451,7 @@ you must also manually specify the correct library, namely -lsfftw or
The FFT_INC variable also allows for a -DFFT_SINGLE setting that will
use single-precision FFTs with PPPM, which can speed-up long-range
calculations, particularly in parallel or on GPUs. Fourier transform
calulations, particularly in parallel or on GPUs. Fourier transform
and related PPPM operations are somewhat insensitive to floating point
truncation errors and thus do not always need to be performed in
double precision. Using the -DFFT_SINGLE setting trades off a little
@ -508,13 +509,13 @@ You should get the executable lmp_foo when the build is complete.
Errors that can occur when making LAMMPS: h5 :link(start_2_3)
NOTE: If an error occurs when building LAMMPS, the compiler or linker
will state very explicitly what the problem is. The error message
should give you a hint as to which of the steps above has failed, and
what you need to do in order to fix it. Building a code with a
Makefile is a very logical process. The compiler and linker need to
find the appropriate files and those files need to be compatible with
LAMMPS source files. When a make fails, there is usually a very
If an error occurs when building LAMMPS, the compiler or linker will
state very explicitly what the problem is. The error message should
give you a hint as to which of the steps above has failed, and what
you need to do in order to fix it. Building a code with a Makefile is
a very logical process. The compiler and linker need to find the
appropriate files and those files need to be compatible with LAMMPS
settings and source files. When a make fails, there is usually a very
simple reason, which you or a local expert will need to fix.
Here are two non-obvious errors that can occur:
@ -557,7 +558,8 @@ Typing "make clean-all" or "make clean-machine" will delete *.o object
files created when LAMMPS is built, for either all builds or for a
particular machine.
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or
-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
As explained above, any of these 3 settings can be specified on the
LMP_INC line in your low-level src/MAKE/Makefile.foo.
@ -653,13 +655,7 @@ This section has the following sub-sections:
2.3.1 "Package basics"_#start_3_1
2.3.2 "Including/excluding packages"_#start_3_2
2.3.3 "Packages that require extra libraries"_#start_3_3
2.3.4 "Packages that require Makefile.machine settings"_#start_3_4 :all(b)
Note that the following "Section 2.4"_#start_4 describes the Make.py
tool which can be used to install/un-install packages and build the
auxiliary libraries which some of them use. It can also auto-edit a
Makefile.machine to add settings needed by some packages.
2.3.3 "Packages that require extra libraries"_#start_3_3 :all(b)
:line
@ -670,235 +666,221 @@ are always included, plus optional packages. Packages are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages.
"Section 4"_Section_packages.html in the manual has details
about all the packages, including specific instructions for building
LAMMPS with each package, which are covered in a more general manner
"Section 4"_Section_packages.html in the manual has details about all
the packages, which come in two flavors: [standard] and [user]
packages. It also has specific instructions for building LAMMPS with
any package which requires an extra library. General instructions are
below.
You can see the list of all packages by typing "make package" from
within the src directory of the LAMMPS distribution. This also lists
various make commands that can be used to manipulate packages.
within the src directory of the LAMMPS distribution. It will also
list various make commands that can be used to manage packages.
If you use a command in a LAMMPS input script that is part of a
package, you must have built LAMMPS with that package, else you will
get an error that the style is invalid or the command is unknown.
Every command's doc page specifies if it is part of a package. You can
also type
Every command's doc page specfies if it is part of a package. You can
type
lmp_machine -h :pre
to run your executable with the optional "-h command-line
switch"_#start_7 for "help", which will simply list the styles and
commands known to your executable, and immediately exit.
There are two kinds of packages in LAMMPS, standard and user packages.
More information about the contents of standard and user packages is
given in "Section 4"_Section_packages.html of the manual. The
difference between standard and user packages is as follows:
Standard packages, such as molecule or kspace, are supported by the
LAMMPS developers and are written in a syntax and style consistent
with the rest of LAMMPS. This means we will answer questions about
them, debug and fix them if necessary, and keep them compatible with
future changes to LAMMPS.
User packages, such as user-atc or user-omp, have been contributed by
users, and always begin with the user prefix. If they are a single
command (single file), they are typically in the user-misc package.
Otherwise, they are a set of files grouped together which add a
specific functionality to the code.
User packages don't necessarily meet the requirements of the standard
packages. If you have problems using a feature provided in a user
package, you may need to contact the contributor directly to get help.
Information on how to submit additions you make to LAMMPS as single
files or either a standard or user-contributed package are given in
"this section"_Section_modify.html#mod_15 of the documentation.
switch"_#start_7 for "help", which will list the styles and commands
known to your executable, and immediately exit.
:line
Including/excluding packages :h5,link(start_3_2)
To use (or not use) a package you must include it (or exclude it)
before building LAMMPS. From the src directory, this is typically as
simple as:
To use (or not use) a package you must install it (or un-install it)
before building LAMMPS. From the src directory, this is as simple as:
make yes-colloid
make mpi :pre
or
make no-manybody
make no-user-omp
make mpi :pre
NOTE: You should NOT include/exclude packages and build LAMMPS in a
NOTE: You should NOT install/un-install packages and build LAMMPS in a
single make command using multiple targets, e.g. make yes-colloid mpi.
This is because the make procedure creates a list of source files that
will be out-of-date for the build if the package configuration changes
within the same command.
Some packages have individual files that depend on other packages
being included. LAMMPS checks for this and does the right thing.
I.e. individual files are only included if their dependencies are
already included. Likewise, if a package is excluded, other files
Any package can be installed or not in a LAMMPS build, independent of
all other packages. However, some packages include files derived from
files in other packages. LAMMPS checks for this and does the right
thing. I.e. individual files are only included if their dependencies
are already included. Likewise, if a package is excluded, other files
dependent on that package are also excluded.
NOTE: The one exception is that we do not recommend building with both
the KOKKOS package installed and any of the other acceleration
packages (GPU, OPT, USER-INTEL, USER-OMP) also installed. This is
because of how Kokkos sometimes builds using a wrapper compiler which
can make it difficult to invoke all the compile/link flags correctly
for both Kokkos and non-Kokkos files.
If you will never run simulations that use the features in a
particular packages, there is no reason to include it in your build.
For some packages, this will keep you from having to build auxiliary
libraries (see below), and will also produce a smaller executable
which may run a bit faster.
For some packages, this will keep you from having to build extra
libraries, and will also produce a smaller executable which may run a
bit faster.
When you download a LAMMPS tarball, these packages are pre-installed
in the src directory: KSPACE, MANYBODY,MOLECULE, because they are so
commonly used. When you download LAMMPS source files from the SVN or
Git repositories, no packages are pre-installed.
When you download a LAMMPS tarball, three packages are pre-installed
in the src directory -- KSPACE, MANYBODY, MOLECULE -- because they are
so commonly used. When you download LAMMPS source files from the SVN
or Git repositories, no packages are pre-installed.
Packages are included or excluded by typing "make yes-name" or "make
no-name", where "name" is the name of the package in lower-case, e.g.
name = kspace for the KSPACE package or name = user-atc for the
USER-ATC package. You can also type "make yes-standard", "make
no-standard", "make yes-std", "make no-std", "make yes-user", "make
no-user", "make yes-lib", "make no-lib", "make yes-all", or "make
no-all" to include/exclude various sets of packages. Type "make
package" to see all of the package-related make options.
Packages are installed or un-installed by typing
NOTE: Inclusion/exclusion of a package works by simply moving files
back and forth between the main src directory and sub-directories with
the package name (e.g. src/KSPACE, src/USER-ATC), so that the files
are seen or not seen when LAMMPS is built. After you have included or
excluded a package, you must re-build LAMMPS.
make yes-name
make no-name :pre
Additional package-related make options exist to help manage LAMMPS
files that exist in both the src directory and in package
sub-directories. You do not normally need to use these commands
unless you are editing LAMMPS files or have downloaded a patch from
the LAMMPS WWW site.
where "name" is the name of the package in lower-case, e.g. name =
kspace for the KSPACE package or name = user-atc for the USER-ATC
package. You can also type any of these commands:
Typing "make package-update" or "make pu" will overwrite src files
with files from the package sub-directories if the package has been
included. It should be used after a patch is installed, since patches
only update the files in the package sub-directory, but not the src
files. Typing "make package-overwrite" will overwrite files in the
package sub-directories with src files.
make yes-all | install all packages
make no-all | un-install all packages
make yes-standard or make yes-std | install standard packages
make no-standard or make no-std| un-install standard packages
make yes-user | install user packages
make no-user | un-install user packages
make yes-lib | install packages that require extra libraries
make no-lib | un-install packages that require extra libraries
make yes-ext | install packages that require external libraries
make no-ext | un-install packages that require external libraries :tb(s=|)
which install/un-install various sets of packages. Typing "make
package" will list all the these commands.
NOTE: Installing or un-installing a package works by simply moving
files back and forth between the main src directory and
sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC),
so that the files are included or excluded when LAMMPS is built.
After you have installed or un-installed a package, you must re-build
LAMMPS for the action to take effect.
The following make commands help manage files that exist in both the
src directory and in package sub-directories. You do not normally
need to use these commands unless you are editing LAMMPS files or have
downloaded a patch from the LAMMPS web site.
Typing "make package-status" or "make ps" will show which packages are
currently included. For those that are included, it will list any
currently installed. For those that are installed, it will list any
files that are different in the src directory and package
sub-directory. Typing "make package-diff" lists all differences
between these files. Again, type "make package" to see all of the
package-related make options.
sub-directory.
Typing "make package-update" or "make pu" will overwrite src files
with files from the package sub-directories if the package is
installed. It should be used after a patch has been applied, since
patches only update the files in the package sub-directory, but not
the src files.
Typing "make package-overwrite" will overwrite files in the package
sub-directories with src files.
Typing "make package-diff" lists all differences between these files.
Again, just type "make package" to see all of the package-related make
options.
:line
Packages that require extra libraries :h5,link(start_3_3)
A few of the standard and user packages require additional auxiliary
libraries. Many of them are provided with LAMMPS, in which case they
must be compiled first, before LAMMPS is built, if you wish to include
that package. If you get a LAMMPS build error about a missing
library, this is likely the reason. See the
"Section 4"_Section_packages.html doc page for a list of
packages that have these kinds of auxiliary libraries.
A few of the standard and user packages require extra libraries. See
"Section 4"_Section_packages.html for two tables of packages which
indicate which ones require libraries. For each such package, the
Section 4 doc page gives details on how to build the extra library,
including how to download it if necessary. The basic ideas are
summarized here.
The lib directory in the distribution has sub-directories with package
names that correspond to the needed auxiliary libs, e.g. lib/gpu.
Each sub-directory has a README file that gives more details. Code
for most of the auxiliary libraries is included in that directory.
Examples are the USER-ATC and MEAM packages.
[System libraries:]
A few of the lib sub-directories do not include code, but do include
instructions (and sometimes scripts) that automate the process of
downloading the auxiliary library and installing it so LAMMPS can link
to it. Examples are the KIM, VORONOI, USER-MOLFILE, and USER-SMD
packages.
Packages in the tables "Section 4"_Section_packages.html with a "sys"
in the last column link to system libraries that typically already
exist on your machine. E.g. the python package links to a system
Python library. If your machine does not have the required library,
you will have to download and install it on your machine, in either
the system or user space.
The lib/python directory (for the PYTHON package) contains only a
choice of Makefile.lammps.* files. This is because no auxiliary code
or libraries are needed, only the Python library and other system libs
that should already available on your system. However, the
Makefile.lammps file is needed to tell LAMMPS which libs to use and
where to find them.
[Internal libraries:]
For libraries with provided code, the sub-directory README file
(e.g. lib/atc/README) has instructions on how to build that library.
This information is also summarized in "Section
4"_Section_packages.html. Typically this is done by typing
something like:
Packages in the tables "Section 4"_Section_packages.html with an "int"
in the last column link to internal libraries whose source code is
included with LAMMPS, in the lib/name directory where name is the
package name. You must first build the library in that directory
before building LAMMPS with that package installed. E.g. the gpu
package links to a library you build in the lib/gpu dir. You can
often do the build in one step by typing "make lib-name args=..."
from the src dir, with appropriate arguments. You can leave off the
args to see a help message. See "Section 4"_Section_packages.html for
details for each package.
make -f Makefile.g++ :pre
[External libraries:]
If one of the provided Makefiles is not appropriate for your system
you will need to edit or add one. Note that all the Makefiles have a
setting for EXTRAMAKE at the top that specifies a Makefile.lammps.*
file.
Packages in the tables "Section 4"_Section_packages.html with an "ext"
in the last column link to exernal libraries whose source code is not
included with LAMMPS. You must first download and install the library
before building LAMMPS with that package installed. E.g. the voronoi
package links to the freely available "Voro++ library"_voro_home2. You
can often do the download/build in one step by typing "make lib-name
args=..." from the src dir, with appropriate arguments. You can leave
off the args to see a help message. See "Section
4"_Section_packages.html for details for each package.
If the library build is successful, it will produce 2 files in the lib
directory:
:link(voro_home2,http://math.lbl.gov/voro++)
libpackage.a
Makefile.lammps :pre
[Possible errors:]
The Makefile.lammps file will typically be a copy of one of the
Makefile.lammps.* files in the library directory.
There are various common errors which can occur when building extra
libraries or when building LAMMPS with packages that require the extra
libraries.
Note that you must insure that the settings in Makefile.lammps are
appropriate for your system. If they are not, the LAMMPS build may
fail. To fix this, you can edit or create a new Makefile.lammps.*
file for your system, and copy it to Makefile.lammps.
If you cannot build the extra library itself successfully, you may
need to edit or create an appropriate Makefile for your machine, e.g.
with appropriate compiler or system settings. Provided makefiles are
typically in the lib/name directory. E.g. see the Makefile.* files in
lib/gpu.
As explained in the lib/package/README files, the settings in
Makefile.lammps are used to specify additional system libraries and
their locations so that LAMMPS can build with the auxiliary library.
For example, if the MEAM package is used, the auxiliary library
consists of F90 code, built with a Fortran complier. To link that
library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is
built with, typically requires additional Fortran-to-C libraries be
included in the link. Another example are the BLAS and LAPACK
libraries needed to use the USER-ATC or USER-AWPMD packages.
The LAMMPS build often uses settings in a lib/name/Makefile.lammps
file which either exists in the LAMMPS distribution or is created or
copied from a lib/name/Makefile.lammps.* file when the library is
built. If those settings are not correct for your machine you will
need to edit or create an appropriate Makefile.lammps file.
For libraries without provided code, the sub-directory README file has
information on where to download the library and how to build it,
e.g. lib/voronoi/README and lib/smd/README. The README files also
describe how you must either (a) create soft links, via the "ln"
command, in those directories to point to where you built or installed
the packages, or (b) check or edit the Makefile.lammps file in the
same directory to provide that information.
Package-specific details for these steps are given in "Section
4"_Section_packages.html an in README files in the lib/name
directories.
Some of the sub-directories, e.g. lib/voronoi, also have an install.py
script which can be used to automate the process of
downloading/building/installing the auxiliary library, and setting the
needed soft links. Type "python install.py" for further instructions.
[Compiler options needed for accelerator packages:]
As with the sub-directories containing library code, if the soft links
or settings in the lib/package/Makefile.lammps files are not correct,
the LAMMPS build will typically fail.
Several packages contain code that is optimized for specific hardware,
e.g. CPU, KNL, or GPU. These are the OPT, GPU, KOKKOS, USER-INTEL,
and USER-OMP packages. Compiling and linking the source files in
these accelerator packages for optimal performance requires specific
settings in the Makefile.machine file you use.
:line
Packages that require Makefile.machine settings :h5,link(start_3_4)
A few packages require specific settings in Makefile.machine, to
either build or use the package effectively. These are the
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
code performance on CPUs or other hardware, as discussed in "Section
5.3"_Section_accelerate.html#acc_3.
A summary of what Makefile.machine changes are needed for each of
these packages is given in "Section 4"_Section_packages.html.
The details are given on the doc pages that describe each of these
accelerator packages in detail:
A summary of the Makefile.machine settings needed for each of these
packages is given in "Section 4"_Section_packages.html. More info is
given on the doc pages that describe each package in detail:
5.3.1 "USER-INTEL package"_accelerate_intel.html
5.3.2 "GPU package"_accelerate_intel.html
5.3.3 "KOKKOS package"_accelerate_kokkos.html
5.3.4 "USER-OMP package"_accelerate_omp.html
5.3.5 "OPT package"_accelerate_opt.html :all(b)
You can also look at the following machine Makefiles in
src/MAKE/OPTIONS, which include the changes. Note that the USER-INTEL
and KOKKOS packages allow for settings that build LAMMPS for different
hardware. The USER-INTEL package builds for CPU and the Xeon Phi, the
KOKKOS package builds for OpenMP, GPUs (Cuda), and the Xeon Phi.
You can also use or examine the following machine Makefiles in
src/MAKE/OPTIONS, which include the settings. Note that the
USER-INTEL and KOKKOS packages can use settings that build LAMMPS for
different hardware. The USER-INTEL package can be compiled for Intel
CPUs and KNLs; the KOKKOS package builds for CPUs (OpenMP), GPUs
(Cuda), and Intel KNLs.
Makefile.intel_cpu
Makefile.intel_phi
@ -908,127 +890,9 @@ Makefile.kokkos_phi
Makefile.omp
Makefile.opt :ul
Also note that the Make.py tool, described in the next "Section
2.4"_#start_4 can automatically add the needed info to an existing
machine Makefile, using simple command-line arguments.
:line
2.4 Building LAMMPS via the Make.py tool :h4,link(start_4)
The src directory includes a Make.py script, written in Python, which
can be used to automate various steps of the build process. It is
particularly useful for working with the accelerator packages, as well
as other packages which require auxiliary libraries to be built.
The goal of the Make.py tool is to allow any complex multi-step LAMMPS
build to be performed as a single Make.py command. And you can
archive the commands, so they can be re-invoked later via the -r
(redo) switch. If you find some LAMMPS build procedure that can't be
done in a single Make.py command, let the developers know, and we'll
see if we can augment the tool.
You can run Make.py from the src directory by typing either:
Make.py -h
python Make.py -h :pre
which will give you help info about the tool. For the former to work,
you may need to edit the first line of Make.py to point to your local
Python. And you may need to insure the script is executable:
chmod +x Make.py :pre
Here are examples of build tasks you can perform with Make.py:
Install/uninstall packages: Make.py -p no-lib kokkos omp intel
Build specific auxiliary libs: Make.py -a lib-atc lib-meam
Build libs for all installed packages: Make.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
Create a Makefile from scratch with compiler and MPI settings: Make.py -m none -cc g++ -mpi mpich -a file
Augment Makefile.serial with settings for installed packages: Make.py -p intel -intel cpu -m serial -a file
Add JPG and FFTW support to Makefile.mpi: Make.py -m mpi -jpg -fft fftw -a file
Build LAMMPS with a parallel make using Makefile.mpi: Make.py -j 16 -m mpi -a exe
Build LAMMPS and libs it needs using Makefile.serial with accelerator settings: Make.py -p gpu intel -intel cpu -a lib-all file serial :tb(s=:)
The bench and examples directories give Make.py commands that can be
used to build LAMMPS with the various packages and options needed to
run all the benchmark and example input scripts. See these files for
more details:
bench/README
bench/FERMI/README
bench/KEPLER/README
bench/PHI/README
examples/README
examples/accelerate/README
examples/accelerate/make.list :ul
All of the Make.py options and syntax help can be accessed by using
the "-h" switch.
E.g. typing "Make.py -h" gives
Syntax: Make.py switch args ...
switches can be listed in any order
help switch:
-h prints help and syntax for all other specified switches
switch for actions:
-a lib-all, lib-dir, clean, file, exe or machine
list one or more actions, in any order
machine is a Makefile.machine suffix, must be last if used
one-letter switches:
-d (dir), -j (jmake), -m (makefile), -o (output),
-p (packages), -r (redo), -s (settings), -v (verbose)
switches for libs:
-atc, -awpmd, -colvars, -cuda
-gpu, -meam, -poems, -qmmm, -reax
switches for build and makefile options:
-intel, -kokkos, -cc, -mpi, -fft, -jpg, -png :pre
Using the "-h" switch with other switches and actions gives additional
info on all the other specified switches or actions. The "-h" can be
anywhere in the command-line and the other switches do not need their
arguments. E.g. type "Make.py -h -d -atc -intel" will print:
-d dir
dir = LAMMPS home dir
if -d not specified, working dir must be lammps/src :pre
-atc make=suffix lammps=suffix2
all args are optional and can be in any order
make = use Makefile.suffix (def = g++)
lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile) :pre
-intel mode
mode = cpu or phi (def = cpu)
build Intel package for CPU or Xeon Phi :pre
Note that Make.py never overwrites an existing Makefile.machine.
Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or
rename if desired. Likewise it creates an executable named
src/lmp_auto, which you can rename using the -o switch if desired.
The most recently executed Make.py command is saved in
src/Make.py.last. You can use the "-r" switch (for redo) to re-invoke
the last command, or you can save a sequence of one or more Make.py
commands to a file and invoke the file of commands using "-r". You
can also label the commands in the file and invoke one or more of them
by name.
A typical use of Make.py is to start with a valid Makefile.machine for
your system, that works for a vanilla LAMMPS build, i.e. when optional
packages are not installed. You can then use Make.py to add various
settings (FFT, JPG, PNG) to the Makefile.machine as well as change its
compiler and MPI options. You can also add additional packages to the
build, as well as build the needed supporting libraries.
You can also use Make.py to create a new Makefile.machine from
scratch, using the "-m none" switch, if you also specify what compiler
and MPI options to use, via the "-cc" and "-mpi" switches.
:line
2.5 Building LAMMPS as a library :h4,link(start_5)
2.4 Building LAMMPS as a library :h4,link(start_4)
LAMMPS can be built as either a static or shared library, which can
then be called from another application or a scripting language. See
@ -1064,7 +928,7 @@ src/MAKE/Makefile.foo and perform the build in the directory
Obj_shared_foo. This is so that each file can be compiled with the
-fPIC flag which is required for inclusion in a shared library. The
build will create the file liblammps_foo.so which another application
can link to dynamically. It will also create a soft link liblammps.so,
can link to dyamically. It will also create a soft link liblammps.so,
which will point to the most recently built shared library. This is
the file the Python wrapper loads by default.
@ -1150,7 +1014,7 @@ interface and how to extend it for your needs.
:line
2.6 Running LAMMPS :h4,link(start_6)
2.5 Running LAMMPS :h4,link(start_5)
By default, LAMMPS runs by reading commands from standard input. Thus
if you run the LAMMPS executable by itself, e.g.
@ -1282,7 +1146,7 @@ more processors or setup a smaller problem.
:line
2.7 Command-line options :h4,link(start_7)
2.6 Command-line options :h4,link(start_6)
At run time, LAMMPS recognizes several optional command-line switches
which may be used in any order. Either the full word or a one-or-two
@ -1416,8 +1280,8 @@ LAMMPS is compiled with CUDA=yes.
numa Nm :pre
This option is only relevant when using pthreads with hwloc support.
In this case Nm defines the number of NUMA regions (typically sockets)
on a node which will be utilized by a single MPI rank. By default Nm
In this case Nm defines the number of NUMA regions (typicaly sockets)
on a node which will be utilizied by a single MPI rank. By default Nm
= 1. If this option is used the total number of worker-threads per
MPI rank is threads*numa. Currently it is always almost better to
assign at least one MPI rank per NUMA region, and leave numa set to
@ -1481,7 +1345,7 @@ replica runs on on one or a few processors. Note that with MPI
installed on a machine (e.g. your desktop), you can run on more
(virtual) processors than you have physical processors.
To run multiple independent simulations from one input script, using
To run multiple independent simulatoins from one input script, using
multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
of the manual. World- and universe-style "variables"_variable.html
are useful in this context.
@ -1712,7 +1576,7 @@ negative numeric value. It is OK if the first value1 starts with a
:line
2.8 LAMMPS screen output :h4,link(start_8)
2.7 LAMMPS screen output :h4,link(start_7)
As LAMMPS reads an input script, it prints information to both the
screen and a log file about significant actions it takes to setup a
@ -1760,7 +1624,7 @@ The first section provides a global loop timing summary. The {loop time}
is the total wall time for the section. The {Performance} line is
provided for convenience to help predicting the number of loop
continuations required and for comparing performance with other,
similar MD codes. The {CPU use} line provides the CPU utilization per
similar MD codes. The {CPU use} line provides the CPU utilzation per
MPI task; it should be close to 100% times the number of OpenMP
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
to file I/O or insufficient thread utilization.
@ -1868,7 +1732,7 @@ communication, roughly 75% in the example above.
:line
2.9 Tips for users of previous LAMMPS versions :h4,link(start_9)
2.8 Tips for users of previous LAMMPS versions :h4,link(start_8)
The current C++ began with a complete rewrite of LAMMPS 2001, which
was written in F90. Features of earlier versions of LAMMPS are listed

View File

@ -12,9 +12,12 @@ Section"_Section_modify.html :c
LAMMPS is designed to be a computational kernel for performing
molecular dynamics computations. Additional pre- and post-processing
steps are often necessary to setup and analyze a simulation. A few
additional tools are provided with the LAMMPS distribution and are
described in this section.
steps are often necessary to setup and analyze a simulation. A
list of such tools can be found on the LAMMPS home page
at "http://lammps.sandia.gov/prepost.html"_http://lammps.sandia.gov/prepost.html
A few additional tools are provided with the LAMMPS distribution
and are described in this section.
Our group has also written and released a separate toolkit called
"Pizza.py"_pizza which provides tools for doing setup, analysis,
@ -36,16 +39,16 @@ authors.
The source code for each of these codes is in the tools sub-directory
of the LAMMPS distribution. There is a Makefile (which you may need
to edit for your platform) which will build several of the tools which
reside in that directory. Some of them are larger packages in their
own sub-directories with their own Makefiles.
reside in that directory. Most of them are larger packages in their
own sub-directories with their own Makefiles and/or README files.
"amber2lmp"_#amber
"binary2txt"_#binary
"ch2lmp"_#charmm
"chain"_#chain
"colvars"_#colvars
"createatoms"_#create
"data2xmovie"_#data
"createatoms"_#createatoms
"drude"_#drude
"eam database"_#eamdb
"eam generate"_#eamgn
"eff"_#eff
@ -56,20 +59,18 @@ own sub-directories with their own Makefiles.
"kate"_#kate
"lmp2arc"_#arc
"lmp2cfg"_#cfg
"lmp2vmd"_#vmd
"matlab"_#matlab
"micelle2d"_#micelle
"moltemplate"_#moltemplate
"msi2lmp"_#msi
"phonon"_#phonon
"polymer bonding"_#polybond
"polybond"_#polybond
"pymol_asphere"_#pymol
"python"_#pythontools
"reax"_#reax_tool
"restart2data"_#restart
"smd"_#smd
"vim"_#vim
"xmgrace"_#xmgrace
"xmovie"_#xmovie :ul
:line
@ -158,7 +159,7 @@ gmail.com) at ICTP, Italy.
:line
createatoms tool :h4,link(create)
createatoms tool :h4,link(createatoms)
The tools/createatoms directory contains a Fortran program called
createAtoms.f which can generate a variety of interesting crystal
@ -171,16 +172,16 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
:line
data2xmovie tool :h4,link(data)
drude tool :h4,link(drude)
The file data2xmovie.c converts a LAMMPS data file into a snapshot
suitable for visualizing with the "xmovie"_#xmovie tool, as if it had
been output with a dump command from LAMMPS itself. The syntax for
running the tool is
The tools/drude directory contains a Python script called
polarizer.py which can add Drude oscillators to a LAMMPS
data file in the required format.
data2xmovie \[options\] < infile > outfile :pre
See the header of the polarizer.py file for details.
See the top of the data2xmovie.c file for a discussion of the options.
The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua
at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
:line
@ -317,18 +318,6 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
:line
lmp2vmd tool :h4,link(vmd)
The lmp2vmd sub-directory contains a README.txt file that describes
details of scripts and plugin support within the "VMD
package"_http://www.ks.uiuc.edu/Research/vmd for visualizing LAMMPS
dump files.
The VMD plugins and other supporting scripts were written by Axel
Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.
:line
matlab tool :h4,link(matlab)
The matlab sub-directory contains several "MATLAB"_matlabhome scripts for
@ -380,17 +369,18 @@ supports it. It has its own WWW page at
msi2lmp tool :h4,link(msi)
The msi2lmp sub-directory contains a tool for creating LAMMPS input
data files from Accelrys' Insight MD code (formerly MSI/Biosym and
its Discover MD code). See the README file for more information.
The msi2lmp sub-directory contains a tool for creating LAMMPS template
input and data files from BIOVIA's Materias Studio files (formerly Accelrys'
Insight MD code, formerly MSI/Biosym and its Discover MD code).
This tool was written by John Carpenter (Cray), Michael Peachey
(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic
(jec at mayo.edu), but still fields questions about the tool.
(Cray), and Steve Lustig (Dupont). Several people contributed changes
to remove bugs and adapt its output to changes in LAMMPS.
This tool may be out-of-date with respect to the current LAMMPS and
Insight versions. Since we don't use it at Sandia, you'll need to
experiment with it yourself.
This tool has several known limitations and is no longer under active
development, so there are no changes except for the occasional bugfix.
See the README file in the tools/msi2lmp folder for more information.
:line
@ -409,7 +399,7 @@ University.
:line
polymer bonding tool :h4,link(polybond)
polybond tool :h4,link(polybond)
The polybond sub-directory contains a Python-based tool useful for
performing "programmable polymer bonding". The Python file
@ -468,48 +458,19 @@ These tools were written by Aidan Thompson at Sandia.
:line
restart2data tool :h4,link(restart)
smd tool :h4,link(smd)
NOTE: This tool is now obsolete and is not included in the current
LAMMPS distribution. This is because there is now a
"write_data"_write_data.html command, which can create a data file
from within an input script. Running LAMMPS with the "-r"
"command-line switch"_Section_start.html#start_7 as follows:
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
Makefile which can be compiled and used to convert triangle output
files created by the Smooth-Mach Dynamics (USER-SMD) package into a
VTK-compatible unstructured grid file. It could then be read in and
visualized by VTK.
lmp_g++ -r restartfile datafile
See the header of dump2vtk.cpp for more details.
is the same as running a 2-line input script:
read_restart restartfile
write_data datafile
which will produce the same data file that the restart2data tool used
to create. The following information is included in case you have an
older version of LAMMPS which still includes the restart2data tool.
The file restart2data.cpp converts a binary LAMMPS restart file into
an ASCII data file. The syntax for running the tool is
restart2data restart-file data-file (input-file) :pre
Input-file is optional and if specified will contain LAMMPS input
commands for the masses and force field parameters, instead of putting
those in the data-file. Only a few force field styles currently
support this option.
This tool must be compiled on a platform that can read the binary file
created by a LAMMPS run, since binary files are not compatible across
all platforms.
Note that a text data file has less precision than a binary restart
file. Hence, continuing a run from a converted data file will
typically not conform as closely to a previous run as will restarting
from a binary restart file.
If a "%" appears in the specified restart-file, the tool expects a set
of multiple files to exist. See the "restart"_restart.html and
"write_restart"_write_restart.html commands for info on how such sets
of files are written by LAMMPS, and how the files are named.
This tool was written by the USER-SMD package author, Georg
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
:line
@ -537,32 +498,3 @@ See the README file for details.
These files were provided by Vikas Varshney (vv0210 at gmail.com)
:line
xmovie tool :h4,link(xmovie)
The xmovie tool is an X-based visualization package that can read
LAMMPS dump files and animate them. It is in its own sub-directory
with the tools directory. You may need to modify its Makefile so that
it can find the appropriate X libraries to link against.
The syntax for running xmovie is
xmovie \[options\] dump.file1 dump.file2 ... :pre
If you just type "xmovie" you will see a list of options. Note that
by default, LAMMPS dump files are in scaled coordinates, so you
typically need to use the -scale option with xmovie. When xmovie runs
it opens a visualization window and a control window. The control
options are straightforward to use.
Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he
spent a summer at Sandia. It displays 2d projections of a 3d domain.
While simple in design, it is an amazingly fast program that can
render large numbers of atoms very quickly. It's a useful tool for
debugging LAMMPS input and output and making sure your simulation is
doing what you think it should. The animations on the Examples page
of the "LAMMPS WWW site"_lws were created with xmovie.
I've lost contact with Mike, so I hope he's comfortable with us
distributing his great tool!

View File

@ -69,8 +69,9 @@ not {hardware thread}.
For Intel Xeon CPUs:
Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. :ulb,l
If using {kspace_style pppm} in the input script, add "neigh_modify binsize 3" and "kspace_modify diff ad" to the input script for better
performance. :l
If using {kspace_style pppm} in the input script, add "neigh_modify binsize cutoff" and "kspace_modify diff ad" to the input script for better
performance. Cutoff should be roughly the neighbor list cutoff. By
default the binsize is half the neighbor list cutoff. :l
"-pk intel 0 omp 2 -sf intel" added to LAMMPS command-line :l
:ule
@ -464,7 +465,7 @@ supported.
[References:]
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., Optimizing Classical Molecular Dynamics in LAMMPS, in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. 2016 International Conference for High Performance Computing. In press. :l

View File

@ -415,15 +415,15 @@ For binding threads with the KOKKOS OMP option, use thread affinity
environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or
later, intel 12 or later) setting the environment variable
OMP_PROC_BIND=true should be sufficient. For binding threads with the
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option, as
discussed in "Section 2.3.4"_Sections_start.html#start_3_4 of the
manual.
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option
(see "this section"_Section_packages.html#KOKKOS of the manual for
details).
[Running on GPUs:]
Insure the -arch setting in the machine makefile you are using,
e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software
(see "this section"_Section_start.html#start_3_4 of the manual for
e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software.
(see "this section"_Section_packages.html#KOKKOS of the manual for
details).
The -np setting of the mpirun command should set the number of MPI

View File

@ -41,7 +41,7 @@ angle.
The torque on the dipole can be obtained by differentiating the
potential using the 'chain rule' as in appendix C.3 of
"(Allen)"_#Allen:
"(Allen)"_#Allen1:
:c,image(Eqs/angle_dipole_torque.jpg)
@ -121,6 +121,6 @@ This angle style should not be used with SHAKE.
[(Orsi)] Orsi & Essex, The ELBA force field for coarse-grain modeling of
lipid membranes, PloS ONE 6(12): e28637, 2011.
:link(Allen)
:link(Allen1)
[(Allen)] Allen & Tildesley, Computer Simulation of Liquids,
Clarendon Press, Oxford, 1987.

View File

@ -46,7 +46,7 @@ from the pair_style.
[Restrictions:]
This angle style can only be used if LAMMPS was built with the
USER-CG-CMM package. See the "Making
USER-CGSDK package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]

View File

@ -110,7 +110,12 @@ basis.
For the {sphere} style, the particles are spheres and each stores a
per-particle diameter and mass. If the diameter > 0.0, the particle
is a finite-size sphere. If the diameter = 0.0, it is a point
particle.
particle. Note that by use of the {disc} keyword with the "fix
nve/sphere"_fix_nve_sphere.html, "fix nvt/sphere"_fix_nvt_sphere.html,
"fix nph/sphere"_fix_nph_sphere.html, "fix
npt/sphere"_fix_npt_sphere.html commands, spheres can be effectively
treated as 2d discs for a 2d simulation if desired. See also the "set
density/disc"_set.html command.
For the {ellipsoid} style, the particles are ellipsoids and each
stores a flag which indicates whether it is a finite-size ellipsoid or

View File

@ -286,24 +286,32 @@ above. It performs a recursive coordinate bisectioning (RCB) of the
simulation domain. The basic idea is as follows.
The simulation domain is cut into 2 boxes by an axis-aligned cut in
the longest dimension, leaving one new box on either side of the cut.
All the processors are also partitioned into 2 groups, half assigned
to the box on the lower side of the cut, and half to the box on the
upper side. (If the processor count is odd, one side gets an extra
processor.) The cut is positioned so that the number of particles in
the lower box is exactly the number that the processors assigned to
that box should own for load balance to be perfect. This also makes
load balance for the upper box perfect. The positioning is done
iteratively, by a bisectioning method. Note that counting particles
on either side of the cut requires communication between all
processors at each iteration.
one of the dimensions, leaving one new sub-box on either side of the
cut. Which dimension is chosen for the cut depends on the particle
(weight) distribution within the parent box. Normally the longest
dimension of the box is cut, but if all (or most) of the particles are
at one end of the box, a cut may be performed in another dimension to
induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in
shape.
After the cut is made, all the processors are also partitioned into 2
groups, half assigned to the box on the lower side of the cut, and
half to the box on the upper side. (If the processor count is odd,
one side gets an extra processor.) The cut is positioned so that the
number of (weighted) particles in the lower box is exactly the number
that the processors assigned to that box should own for load balance
to be perfect. This also makes load balance for the upper box
perfect. The positioning of the cut is done iteratively, by a
bisectioning method (median search). Note that counting particles on
either side of the cut requires communication between all processors
at each iteration.
That is the procedure for the first cut. Subsequent cuts are made
recursively, in exactly the same manner. The subset of processors
assigned to each box make a new cut in the longest dimension of that
box, splitting the box, the subset of processors, and the particles
in the box in two. The recursion continues until every processor is
assigned a sub-box of the entire simulation domain, and owns the
assigned to each box make a new cut in one dimension of that box,
splitting the box, the subset of processors, and the particles in the
box in two. The recursion continues until every processor is assigned
a sub-box of the entire simulation domain, and owns the (weighted)
particles in that sub-box.
:line

View File

@ -7,19 +7,24 @@
:line
bond_style oxdna/fene command :h3
bond_style oxdna2/fene command :h3
[Syntax:]
bond_style oxdna/fene :pre
bond_style oxdna2/fene :pre
[Examples:]
bond_style oxdna/fene
bond_coeff * 2.0 0.25 0.7525 :pre
bond_style oxdna2/fene
bond_coeff * 2.0 0.25 0.7564 :pre
[Description:]
The {oxdna/fene} bond style uses the potential
The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
:c,image(Eqs/bond_oxdna_fene.jpg)
@ -36,13 +41,14 @@ epsilon (energy)
Delta (distance)
r0 (distance) :ul
NOTE: This bond style has to be used together with the corresponding oxDNA pair styles
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
"pair_style oxdna/excv"_pair_oxdna.html). The coefficients
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
style {oxdna2/dh} have to be defined.
The coefficients in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
Example input and data files can be found in examples/USER/cgdna/examples/duplex1/ and /duplex2/.
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
A simple python setup tool which creates single straight or helical DNA strands,
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
A technical report with more information on the model, the structure of the input file,
@ -60,7 +66,7 @@ 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
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
[Default:] none
@ -68,3 +74,6 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
:link(oxdna_fene)
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
:link(oxdna2)
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).

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:
change_box all x final -10 20
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
change_box all x final -10 20 boundary f s s
create_atoms 1 single -5 5 5
change_box boundary s s s # this will work :pre
change_box all boundary s s s # this will work :pre
NOTE: Unlike the earlier "displace_box" version of this command, atom
remapping is NOT performed by default. This command allows remapping

View File

@ -32,12 +32,12 @@ Commands :h1
dimension
displace_atoms
dump
dump_custom_vtk
dump_h5md
dump_image
dump_modify
dump_molfile
dump_nc
dump_netcdf
dump_vtk
echo
fix
fix_modify

View File

@ -148,7 +148,9 @@ described further below where the keywords are discussed.
The {binning} styles perform a spatial binning of atoms, and assign an
atom the chunk ID corresponding to the bin number it is in. {Nchunk}
is set to the number of bins, which can change if the simulation box
size changes.
size changes. This also depends on the setting of the {units}
keyword; e.g. for {reduced} units the number of chunks may not change
even if the box size does.
The {bin/1d}, {bin/2d}, and {bin/3d} styles define bins as 1d layers
(slabs), 2d pencils, or 3d boxes. The {dim}, {origin}, and {delta}

View File

@ -64,7 +64,7 @@ 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.
Wolde"_#tenWolde1.
The ID of the previously specified "compute
orientorder/atom"_compute_orientorder/atom command is specified as
@ -127,6 +127,6 @@ explained above.
:line
:link(tenWolde)
:link(tenWolde1)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).

View File

@ -64,7 +64,7 @@ command.
:line
:link(Larentzos)
:link(Larentzos1)
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research

View File

@ -59,7 +59,7 @@ command.
:line
:link(Larentzos)
:link(Larentzos2)
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research

View File

@ -14,27 +14,29 @@ compute_modify compute-ID keyword value ... :pre
compute-ID = ID of the compute to modify :ulb,l
one or more keyword/value pairs may be listed :l
keyword = {extra} or {dynamic} :l
{extra} value = N
keyword = {extra/dof} or {extra} or {dynamic/dof} or {dynamic} :l
{extra/dof} value = N
N = # of extra degrees of freedom to subtract
{dynamic} value = {yes} or {no}
yes/no = do or do not recompute the number of atoms contributing to the temperature :pre
{extra} syntax is identical to {extra/dof}, will be disabled at some point
{dynamic/dof} value = {yes} or {no}
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature
{dynamic} syntax is identical to {dynamic/dof}, will be disabled at some point :pre
:ule
[Examples:]
compute_modify myTemp extra 0
compute_modify newtemp dynamic yes extra 600 :pre
compute_modify myTemp extra/dof 0
compute_modify newtemp dynamic/dof yes extra/dof 600 :pre
[Description:]
Modify one or more parameters of a previously defined compute. Not
all compute styles support all parameters.
The {extra} keyword refers to how many degrees-of-freedom are
subtracted (typically from 3N) as a normalizing factor in a
temperature computation. Only computes that compute a temperature use
this option. The default is 2 or 3 for "2d or 3d
The {extra/dof} or {extra} keyword refers to how many
degrees-of-freedom are subtracted (typically from 3N) as a normalizing
factor in a temperature computation. Only computes that compute a
temperature use this option. The default is 2 or 3 for "2d or 3d
systems"_dimension.html which is a correction factor for an ensemble
of velocities with zero total linear momentum. For compute
temp/partial, if one or more velocity components are excluded, the
@ -43,14 +45,21 @@ number for the {extra} parameter if you need to add
degrees-of-freedom. See the "compute
temp/asphere"_compute_temp_asphere.html command for an example.
The {dynamic} keyword determines whether the number of atoms N in the
compute group is re-computed each time a temperature is computed.
Only compute styles that calculate a temperature use this option. By
default, N is assumed to be constant. If you are adding atoms to the
system (see the "fix pour"_fix_pour.html or "fix
deposit"_fix_deposit.html commands) or expect atoms to be lost
(e.g. due to evaporation), then this option should be used to insure
the temperature is correctly normalized.
The {dynamic/dof} or {dynamic} keyword determines whether the number
of atoms N in the compute group and their associated degrees of
freedom are re-computed each time a temperature is computed. Only
compute styles that calculate a temperature use this option. By
default, N and their DOF are assumed to be constant. If you are
adding atoms or molecules to the system (see the "fix
pour"_fix_pour.html, "fix deposit"_fix_deposit.html, and "fix
gcmc"_fix_gcmc.html commands) or expect atoms or molecules to be lost
(e.g. due to exiting the simulation box or via "fix
evaporate"_fix_evaporate.html), then this option should be used to
insure the temperature is correctly normalized.
NOTE: The {extra} and {dynamic} keywords should not be used as they
are deprecated (March 2017) and will eventually be disabled. Instead,
use the equivalent {extra/dof} and {dynamic/dof} keywords.
[Restrictions:] none
@ -60,5 +69,5 @@ the temperature is correctly normalized.
[Default:]
The option defaults are extra = 2 or 3 for 2d or 3d systems and
dynamic = no.
The option defaults are extra/dof = 2 or 3 for 2d or 3d systems and
dynamic/dof = no.

View File

@ -78,7 +78,7 @@ 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.
particles, as discussed in "ten Wolde"_#tenWolde2.
The value of {Ql} is set to zero for atoms not in the
specified compute group, as well as for atoms that have less than
@ -143,6 +143,6 @@ Phys. Rev. B 28, 784 (1983).
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke,
J. Chem. Phys. 138, 044501 (2013).
:link(tenWolde)
:link(tenWolde2)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).

View File

@ -49,7 +49,7 @@ pairwise interactions between 1-4 atoms. The energy contribution of
these terms is included in the pair energy, not the dihedral energy.
The KSpace contribution is calculated using the method in
"(Heyes)"_#Heyes for the Ewald method and a related method for PPPM,
"(Heyes)"_#Heyes1 for the Ewald method and a related method for PPPM,
as specified by the "kspace_style pppm"_kspace_style.html command.
For PPPM, the calculation requires 1 extra FFT each timestep that
per-atom energy is calculated. This "document"_PDF/kspace.pdf
@ -97,5 +97,5 @@ stress/atom"_compute_stress_atom.html
:line
:link(Heyes)
:link(Heyes1)
[(Heyes)] Heyes, Phys Rev B 49, 755 (1994),

View File

@ -70,7 +70,7 @@ means include all terms except the kinetic energy {ke}.
Details of how LAMMPS computes the virial efficiently for the entire
system, including for manybody potentials and accounting for the
effects of periodic boundary conditions are discussed in
"(Thompson)"_#Thompson.
"(Thompson)"_#Thompson1.
The temperature and kinetic energy tensor is not calculated by this
compute, but rather by the temperature compute specified with the
@ -150,5 +150,5 @@ stress/atom"_compute_stress_atom.html,
:line
:link(Thompson)
:link(Thompson1)
[(Thompson)] Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009).

View File

@ -24,7 +24,7 @@ twojmax = band limit for bispectrum components (non-negative integer) :l
R_1, R_2,... = list of cutoff radii, one for each type (distance units) :l
w_1, w_2,... = list of neighbor weights, one for each type :l
zero or more keyword/value pairs may be appended :l
keyword = {diagonal} or {rmin0} or {switchflag} :l
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag}:l
{diagonal} value = {0} or {1} or {2} or {3}
{0} = all j1, j2, j <= twojmax, j2 <= j1
{1} = subset satisfying j1 == j2
@ -33,7 +33,13 @@ keyword = {diagonal} or {rmin0} or {switchflag} :l
{rmin0} value = parameter in distance to angle conversion (distance units)
{switchflag} value = {0} or {1}
{0} = do not use switching function
{1} = use switching function :pre
{1} = use switching function
{bzeroflag} value = {0} or {1}
{0} = do not subtract B0
{1} = subtract B0
{quadraticflag} value = {0} or {1}
{0} = do not generate quadratic terms
{1} = generate quadratic terms :pre
:ule
[Examples:]
@ -50,12 +56,12 @@ for each atom in a group.
Bispectrum components of an atom are order parameters characterizing
the radial and angular distribution of neighbor atoms. The detailed
mathematical definition is given in the paper by Thompson et
al. "(Thompson)"_#Thompson2014
al. "(Thompson)"_#Thompson20141
The position of a neighbor atom {i'} relative to a central atom {i} is
a point within the 3D ball of radius {R_ii' = rcutfac*(R_i + R_i')}
Bartok et al. "(Bartok)"_#Bartok2010, proposed mapping this 3D ball
Bartok et al. "(Bartok)"_#Bartok20101, proposed mapping this 3D ball
onto the 3-sphere, the surface of the unit ball in a four-dimensional
space. The radial distance {r} within {R_ii'} is mapped on to a third
polar angle {theta0} defined by,
@ -92,7 +98,7 @@ The expansion coefficients {u^j_m,m'} are complex-valued and they are
not directly useful as descriptors, because they are not invariant
under rotation of the polar coordinate frame. However, the following
scalar triple products of expansion coefficients can be shown to be
real-valued and invariant under rotation "(Bartok)"_#Bartok2010.
real-valued and invariant under rotation "(Bartok)"_#Bartok20101.
:c,image(Eqs/compute_sna_atom3.jpg)
@ -148,11 +154,25 @@ linear mapping from radial distance to polar angle {theta0} on the
The argument {twojmax} and the keyword {diagonal} define which
bispectrum components are generated. See section below on output for a
detailed explanation of the number of bispectrum components and the
ordered in which they are listed
ordered in which they are listed.
The keyword {switchflag} can be used to turn off the switching
function.
The keyword {bzeroflag} determines whether or not {B0}, the bispectrum
components of an atom with no neighbors, are subtracted from
the calculated bispectrum components. This optional keyword is only
available for compute {sna/atom}, as {snad/atom} and {snav/atom}
are unaffected by the removal of constant terms.
The keyword {quadraticflag} determines whether or not the
quadratic analogs to the bispectrum quantities are generated.
These are formed by taking the outer product of the vector
of bispectrum components with itself.
See section below on output for a
detailed explanation of the number of quadratic terms and the
ordered in which they are listed.
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
@ -171,7 +191,7 @@ command that includes all pairs in the neighbor list.
Compute {sna/atom} calculates a per-atom array, each column
corresponding to a particular bispectrum component. The total number
of columns and the identities of the bispectrum component contained in
of columns and the identity of the bispectrum component contained in
each column depend on the values of {twojmax} and {diagonal}, as
described by the following piece of python code:
@ -204,6 +224,19 @@ block contains six sub-blocks corresponding to the {xx}, {yy}, {zz},
notation. Each of these sub-blocks contains one column for each
bispectrum component, the same as for compute {sna/atom}
For example, if {K}=30 and ntypes=1, the number of columns in the per-atom
arrays generated by {sna/atom}, {snad/atom}, and {snav/atom}
are 30, 90, and 180, respectively. With {quadratic} value=1,
the numbers of columns are 930, 2790, and 5580, respectively.
If the {quadratic} keyword value is set to 1, then additional
columns are appended to each per-atom array, corresponding to
a matrix of quantities that are products of two bispectrum components. If the
number of bispectrum components is {K}, then the number of matrix elements
is {K}^2. These are output in subblocks of {K}^2 columns, using the same
ordering of columns and sub-blocks as was used for the bispectrum
components.
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
@ -222,15 +255,15 @@ LAMMPS"_Section_start.html#start_3 section for more info.
[Default:]
The optional keyword defaults are {diagonal} = 0, {rmin0} = 0,
{switchflag} = 1.
{switchflag} = 1, {bzeroflag} = 1, {quadraticflag} = 0,
:line
:link(Thompson2014)
:link(Thompson20141)
[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint
available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880
:link(Bartok2010)
:link(Bartok20101)
[(Bartok)] Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).
:link(Meremianin2006)

View File

@ -74,7 +74,7 @@ other atoms in the simulation, not just with other atoms in the group.
Details of how LAMMPS computes the virial for individual atoms for
either pairwise or manybody potentials, and including the effects of
periodic boundary conditions is discussed in "(Thompson)"_#Thompson.
periodic boundary conditions is discussed in "(Thompson)"_#Thompson2.
The basic idea for manybody potentials is to treat each component of
the force computation between a small cluster of atoms in the same
manner as in the formula above for bond, angle, dihedral, etc
@ -89,8 +89,8 @@ pairwise interactions between 1-4 atoms. The virial contribution of
these terms is included in the pair virial, not the dihedral virial.
The KSpace contribution is calculated using the method in
"(Heyes)"_#Heyes for the Ewald method and by the methodology described
in "(Sirk)"_#Sirk for PPPM. The choice of KSpace solver is specified
"(Heyes)"_#Heyes2 for the Ewald method and by the methodology described
in "(Sirk)"_#Sirk1 for PPPM. The choice of KSpace solver is specified
by the "kspace_style pppm"_kspace_style.html command. Note that for
PPPM, the calculation requires 6 extra FFTs each timestep that
per-atom stress is calculated. Thus it can significantly increase the
@ -159,11 +159,11 @@ The per-atom array values will be in pressure*volume
:line
:link(Heyes)
:link(Heyes2)
[(Heyes)] Heyes, Phys Rev B 49, 755 (1994),
:link(Sirk)
:link(Sirk1)
[(Sirk)] Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013).
:link(Thompson)
:link(Thompson2)
[(Thompson)] Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009).

View File

@ -27,7 +27,7 @@ compute core_shells all temp/cs cores shells :pre
Define a computation that calculates the temperature of a system based
on the center-of-mass velocity of atom pairs that are bonded to each
other. This compute is designed to be used with the adiabatic
core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham. See
core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1. See
"Section 6.25"_Section_howto.html#howto_25 of the manual for an
overview of the model as implemented in LAMMPS. Specifically, this
compute enables correct temperature calculation and thermostatting of
@ -114,6 +114,6 @@ temp/chunk"_compute_temp_chunk.html
:line
:link(MitchellFinchham)
:link(MitchellFinchham1)
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter,
5, 1031-1038 (1993).

View File

@ -43,7 +43,7 @@ atoms, after subtracting out a spatially-averaged center-of-mass
velocity field, before computing the kinetic energy. This can be
useful for thermostatting a collection of atoms undergoing a complex
flow, e.g. via a profile-unbiased thermostat (PUT) as described in
"(Evans)"_#Evans. A compute of this style can be used by any command
"(Evans)"_#Evans1. A compute of this style can be used by any command
that computes a temperature, e.g. "thermo_modify"_thermo_modify.html,
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
@ -75,7 +75,7 @@ atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the
simulation, N = number of atoms in the group, k = Boltzmann constant,
and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom
subtracted to adjust for the removal of the center-of-mass velocity in
each of Nx*Ny*Nz bins, as discussed in the "(Evans)"_#Evans paper.
each of Nx*Ny*Nz bins, as discussed in the "(Evans)"_#Evans1 paper.
If the {out} keyword is used with a {tensor} value, which is the
default, a kinetic energy tensor, stored as a 6-element vector, is
@ -126,7 +126,7 @@ See "this howto section"_Section_howto.html#howto_16 of the manual for
a discussion of different ways to compute temperature and perform
thermostatting. Using this compute in conjunction with a
thermostatting fix, as explained there, will effectively implement a
profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans.
profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1.
[Output info:]
@ -178,5 +178,5 @@ The option default is out = tensor.
:line
:link(Evans)
:link(Evans1)
[(Evans)] Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986).

View File

@ -134,6 +134,17 @@ not overlap existing atoms inappropriately, especially if molecules
are being added. The "delete_atoms"_delete_atoms.html command can be
used to remove overlapping atoms or molecules.
NOTE: You cannot use any of the styles explained above to create atoms
that are outside the simulation box; they will just be ignored by
LAMMPS. This is true even if you are using shrink-wrapped box
boundaries, as specified by the "boundary"_boundary.html command.
However, you can first use the "change_box"_change_box.html command to
temporarily expand the box, then add atoms via create_atoms, then
finally use change_box command again if needed to re-shrink-wrap the
new atoms. See the "change_box"_change_box.html doc page for an
example of how to do this, using the create_atoms {single} style to
insert a new atom outside the current simulation box.
:line
Individual atoms are inserted by this command, unless the {mol}

View File

@ -10,21 +10,25 @@ dihedral_style charmm command :h3
dihedral_style charmm/intel command :h3
dihedral_style charmm/kk command :h3
dihedral_style charmm/omp command :h3
dihedral_style charmmfsw command :h3
[Syntax:]
dihedral_style charmm :pre
dihedral_style style :pre
style = {charmm} or {charmmfsw} :ul
[Examples:]
dihedral_style charmm
dihedral_style charmmfsw
dihedral_coeff 1 0.2 1 180 1.0
dihedral_coeff 2 1.8 1 0 1.0
dihedral_coeff 1 3.1 2 180 0.5 :pre
[Description:]
The {charmm} dihedral style uses the potential
The {charmm} and {charmmfsw} dihedral styles use the potential
:c,image(Eqs/dihedral_charmm.jpg)
@ -34,6 +38,16 @@ field (see comment on weighting factors below). See
"(Cornell)"_#dihedral-Cornell for a description of the AMBER force
field.
NOTE: The newer {charmmfsw} style was released in March 2017. We
recommend it be used instead of the older {charmm} style when running
a simulation with the CHARMM force field, either with long-range
Coulombics or a Coulomb cutoff, via the "pair_style
lj/charmmfsw/coul/long"_pair_charmm.html and "pair_style
lj/charmmfsw/coul/charmmfsh"_pair_charmm.html commands respectively.
Otherwise the older {charmm} style is fine to use. See the discussion
below and more details on the "pair_style charmm"_pair_charmm.html doc
page.
The following coefficients must be defined for each dihedral type via the
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in
the data file or restart files read by the "read_data"_read_data.html
@ -73,13 +87,29 @@ special_bonds 1-4 scaling factor to 0.0 (which is the
default). Otherwise 1-4 non-bonded interactions in dihedrals will be
computed twice.
Also note that for AMBER force fields, which use pair styles with
"lj/cut", the special_bonds 1-4 scaling factor should be set to the
AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors
(4th coeff above) must be set to 0.0. In this case, you can use any
pair style you wish, since the dihedral does not need any
Lennard-Jones parameter information and will not compute any 1-4
non-bonded interactions.
For simulations using the CHARMM force field with a Coulomb cutoff,
the difference between the {charmm} and {charmmfsw} styles is in the
computation of the 1-4 non-bond interactions, though only if the
distance between the two atoms is within the switching region of the
pairwise potential defined by the corresponding CHARMM pair style,
i.e. within the outer cutoff specified for the pair style. The
{charmmfsw} style should only be used when using the corresponding
"pair_style lj/charmmfsw/coul/charmmfsw"_pair_charmm.html or
"pair_style lj/charmmfsw/coul/long"_pair_charmm.html commands. Use
the {charmm} style with the older "pair_style"_pair_charmm.html
commands that have just "charmm" in their style name. See the
discussion on the "CHARMM pair_style"_pair_charmm.html doc page for
details.
Note that for AMBER force fields, which use pair styles with "lj/cut",
the special_bonds 1-4 scaling factor should be set to the AMBER
defaults (1/2 and 5/6) and all the dihedral weighting factors (4th
coeff above) must be set to 0.0. In this case, you can use any pair
style you wish, since the dihedral does not need any Lennard-Jones
parameter information and will not compute any 1-4 non-bonded
interactions. Likewise the {charmm} or {charmmfsw} styles are
identical in this case since no 1-4 non-bonded interactions are
computed.
:line

View File

@ -14,10 +14,10 @@ dihedral_style spherical :pre
[Examples:]
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
dihedral_coeff 1 3 286.1 1 114 1 1 90 0 1 90.0 0 &
17.3 0 0.0 0 1 158 1 0 0.0 0 &
15.1 0 0.0 0 0 0.0 0 1 167.3 1 :pre
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
dihedral_coeff 1 3 69.3 1 93.9 1 1 90 0 1 90 0 &
49.1 0 0.00 0 1 74.4 1 0 0.00 0 &
25.2 0 0.00 0 0 0.00 0 1 48.1 1
[Description:]
@ -35,13 +35,14 @@ the dihedral interaction even if it requires adding additional terms to
the expansion (as was done in the second example). A careful choice of
parameters can prevent singularities that occur with traditional
force-fields whenever theta1 or theta2 approach 0 or 180 degrees.
The last example above corresponds to an interaction with a single energy
minima located at phi=114, theta1=158, theta2=167.3 degrees, and it remains
minima located near phi=93.9, theta1=74.4, theta2=48.1 degrees, and it remains
numerically stable at all angles (phi, theta1, theta2). In this example,
the coefficients 17.3, and 15.1 can be physically interpreted as the
the coefficients 49.1, and 25.2 can be physically interpreted as the
harmonic spring constants for theta1 and theta2 around their minima.
The coefficient 286.1 is the harmonic spring constant for phi after
division by sin(158)*sin(167.3) (the minima positions for theta1 and theta2).
The coefficient 69.3 is the harmonic spring constant for phi after
division by sin(74.4)*sin(48.1) (the minima positions for theta1 and theta2).
The following coefficients must be defined for each dihedral type via the
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in

View File

@ -7,12 +7,12 @@
:line
dump command :h3
"dump custom/vtk"_dump_custom_vtk.html command :h3
"dump vtk"_dump_vtk.html command :h3
"dump h5md"_dump_h5md.html command :h3
"dump molfile"_dump_molfile.html command :h3
"dump netcdf"_dump_netcdf.html command :h3
"dump image"_dump_image.html command :h3
"dump movie"_dump_image.html command :h3
"dump molfile"_dump_molfile.html command :h3
"dump nc"_dump_nc.html command :h3
[Syntax:]
@ -20,7 +20,7 @@ dump ID group-ID style N file args :pre
ID = user-assigned name for the dump :ulb,l
group-ID = ID of the group of atoms to be dumped :l
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {dcd} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} or {h5md} or {image} or {movie} or {molfile} or {local} or {custom} or {custom/gz} or {custom/mpiio} :l
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
N = dump every this many timesteps :l
file = name of file to write dump info to :l
args = list of arguments for a particular style :l
@ -30,33 +30,22 @@ args = list of arguments for a particular style :l
{cfg} args = same as {custom} args, see below
{cfg/gz} args = same as {custom} args, see below
{cfg/mpiio} args = same as {custom} args, see below
{custom}, {custom/gz}, {custom/mpiio} args = see below
{dcd} args = none
{h5md} args = discussed on "dump h5md"_dump_h5md.html doc page
{image} args = discussed on "dump image"_dump_image.html doc page
{local} args = see below
{molfile} args = discussed on "dump molfile"_dump_molfile.html doc page
{movie} args = discussed on "dump image"_dump_image.html doc page
{netcdf} args = discussed on "dump netcdf"_dump_netcdf.html doc page
{netcdf/mpiio} args = discussed on "dump netcdf"_dump_netcdf.html doc page
{vtk} args = same as {custom} args, see below, also "dump vtk"_dump_vtk.html doc page
{xtc} args = none
{xyz} args = none :pre
{xyz/gz} args = none :pre
{xyz} args = none
{xyz/gz} args = none
{xyz/mpiio} args = none :pre
{custom/vtk} args = similar to custom args below, discussed on "dump custom/vtk"_dump_custom_vtk.html doc page :pre
{h5md} args = discussed on "dump h5md"_dump_h5md.html doc page :pre
{image} args = discussed on "dump image"_dump_image.html doc page :pre
{movie} args = discussed on "dump image"_dump_image.html doc page :pre
{molfile} args = discussed on "dump molfile"_dump_molfile.html doc page
{nc} args = discussed on "dump nc"_dump_nc.html doc page :pre
{local} args = list of local attributes
possible attributes = index, c_ID, c_ID\[I\], f_ID, f_ID\[I\]
index = enumeration of local values
c_ID = local vector calculated by a compute with ID
c_ID\[I\] = Ith column of local array calculated by a compute with ID, I can include wildcard (see below)
f_ID = local vector calculated by a fix with ID
f_ID\[I\] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) :pre
{custom} or {custom/gz} or {custom/mpiio} args = list of atom attributes
{custom} or {custom/gz} or {custom/mpiio} args = list of atom attributes :l
possible attributes = id, mol, proc, procp1, type, element, mass,
x, y, z, xs, ys, zs, xu, yu, zu,
xsu, ysu, zsu, ix, iy, iz,
@ -94,6 +83,15 @@ args = list of arguments for a particular style :l
v_name = per-atom vector calculated by an atom-style variable with name
d_name = per-atom floating point vector with name, managed by fix property/atom
i_name = per-atom integer vector with name, managed by fix property/atom :pre
{local} args = list of local attributes :l
possible attributes = index, c_ID, c_ID\[I\], f_ID, f_ID\[I\]
index = enumeration of local values
c_ID = local vector calculated by a compute with ID
c_ID\[I\] = Ith column of local array calculated by a compute with ID, I can include wildcard (see below)
f_ID = local vector calculated by a fix with ID
f_ID\[I\] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) :pre
:ule
[Examples:]
@ -331,10 +329,7 @@ bonds and colors.
Note that {atom}, {custom}, {dcd}, {xtc}, and {xyz} style dump files
can be read directly by "VMD"_http://www.ks.uiuc.edu/Research/vmd, a
popular molecular viewing program. See
"Section 9"_Section_tools.html#vmd of the manual and the
tools/lmp2vmd/README.txt file for more information about support in
VMD for reading and visualizing LAMMPS dump files.
popular molecular viewing program.
:line

View File

@ -1,339 +0,0 @@
"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
dump custom/vtk command :h3
[Syntax:]
dump ID group-ID style N file args :pre
ID = user-assigned name for the dump :ulb,l
group-ID = ID of the group of atoms to be dumped :l
style = {custom/vtk} :l
N = dump every this many timesteps :l
file = name of file to write dump info to :l
args = list of arguments for a particular style :l
{custom/vtk} args = list of atom attributes
possible attributes = id, mol, proc, procp1, type, element, mass,
x, y, z, xs, ys, zs, xu, yu, zu,
xsu, ysu, zsu, ix, iy, iz,
vx, vy, vz, fx, fy, fz,
q, mux, muy, muz, mu,
radius, diameter, omegax, omegay, omegaz,
angmomx, angmomy, angmomz, tqx, tqy, tqz,
spin, eradius, ervel, erforce,
c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre
id = atom ID
mol = molecule ID
proc = ID of processor that owns atom
procp1 = ID+1 of processor that owns atom
type = atom type
element = name of atom element, as defined by "dump_modify"_dump_modify.html command
mass = atom mass
x,y,z = unscaled atom coordinates
xs,ys,zs = scaled atom coordinates
xu,yu,zu = unwrapped atom coordinates
xsu,ysu,zsu = scaled unwrapped atom coordinates
ix,iy,iz = box image that the atom is in
vx,vy,vz = atom velocities
fx,fy,fz = forces on atoms
q = atom charge
mux,muy,muz = orientation of dipole moment of atom
mu = magnitude of dipole moment of atom
radius,diameter = radius,diameter of spherical particle
omegax,omegay,omegaz = angular velocity of spherical particle
angmomx,angmomy,angmomz = angular momentum of aspherical particle
tqx,tqy,tqz = torque on finite-size particles
c_ID = per-atom vector calculated by a compute with ID
c_ID\[N\] = Nth column of per-atom array calculated by a compute with ID
f_ID = per-atom vector calculated by a fix with ID
f_ID\[N\] = Nth 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
:ule
[Examples:]
dump dmpvtk all custom/vtk 100 dump*.myforce.vtk id type vx fx
dump dmpvtp flow custom/vtk 100 dump*.%.displace.vtp id type c_myD\[1\] c_myD\[2\] c_myD\[3\] v_ke
dump e_data all custom/vtk 100 dump*.vtu id type spin eradius fx fy fz eforce :pre
The style {custom/vtk} is similar to the "custom"_dump.html style but
uses the VTK library to write data to VTK simple legacy or XML format
depending on the filename extension specified. This can be either
{*.vtk} for the legacy format or {*.vtp} and {*.vtu}, respectively,
for the XML format; see the "VTK
homepage"_http://www.vtk.org/VTK/img/file-formats.pdf for a detailed
description of these formats. Since this naming convention conflicts
with the way binary output is usually specified (see below),
"dump_modify binary"_dump_modify.html allows to set the binary
flag for this dump style explicitly.
[Description:]
Dump a snapshot of atom quantities to one or more files every N
timesteps in a format readable by the "VTK visualization
toolkit"_http://www.vtk.org or other visualization tools that use it,
e.g. "ParaView"_http://www.paraview.org. The timesteps on which dump
output is written can also be controlled by a variable; see the
"dump_modify every"_dump_modify.html command for details.
Only information for atoms in the specified group is dumped. The
"dump_modify thresh and region"_dump_modify.html commands can also
alter what atoms are included; see details below.
As described below, special characters ("*", "%") in the filename
determine the kind of output.
IMPORTANT NOTE: Because periodic boundary conditions are enforced only
on timesteps when neighbor lists are rebuilt, the coordinates of an
atom written to a dump file may be slightly outside the simulation
box.
IMPORTANT NOTE: Unless the "dump_modify sort"_dump_modify.html
option is invoked, the lines of atom information written to dump files
will be in an indeterminate order for each snapshot. This is even
true when running on a single processor, if the "atom_modify
sort"_atom_modify.html option is on, which it is by default. In this
case atoms are re-ordered periodically during a simulation, due to
spatial sorting. It is also true when running in parallel, because
data for a single snapshot is collected from multiple processors, each
of which owns a subset of the atoms.
For the {custom/vtk} style, sorting is off by default. See the
"dump_modify"_dump_modify.html doc page for details.
:line
The dimensions of the simulation box are written to a separate file
for each snapshot (either in legacy VTK or XML format depending on
the format of the main dump file) with the suffix {_boundingBox}
appended to the given dump filename.
For an orthogonal simulation box this information is saved as a
rectilinear grid (legacy .vtk or .vtr XML format).
Triclinic simulation boxes (non-orthogonal) are saved as
hexahedrons in either legacy .vtk or .vtu XML format.
Style {custom/vtk} allows you to specify a list of atom attributes
to be written to the dump file for each atom. Possible attributes
are listed above. In contrast to the {custom} style, the attributes
are rearranged to ensure correct ordering of vector components
(except for computes and fixes - these have to be given in the right
order) and duplicate entries are removed.
You cannot specify a quantity that is not defined for a particular
simulation - such as {q} for atom style {bond}, since that atom style
doesn't assign charges. Dumps occur at the very end of a timestep,
so atom attributes will include effects due to fixes that are applied
during the timestep. An explanation of the possible dump custom/vtk attributes
is given below. Since position data is required to write VTK files "x y z"
do not have to be specified explicitly.
The VTK format uses a single snapshot of the system per file, thus
a wildcard "*" must be included in the filename, as discussed below.
Otherwise the dump files will get overwritten with the new snapshot
each time.
:line
Dumps are performed on timesteps that are a multiple of N (including
timestep 0) and on the last timestep of a minimization if the
minimization converges. Note that this means a dump will not be
performed on the initial timestep after the dump command is invoked,
if the current timestep is not a multiple of N. This behavior can be
changed via the "dump_modify first"_dump_modify.html command, which
can also be useful if the dump command is invoked after a minimization
ended on an arbitrary timestep. N can be changed between runs by
using the "dump_modify every"_dump_modify.html command.
The "dump_modify every"_dump_modify.html command
also allows a variable to be used to determine the sequence of
timesteps on which dump files are written. In this mode a dump on the
first timestep of a run will also not be written unless the
"dump_modify first"_dump_modify.html command is used.
Dump filenames can contain two wildcard characters. If a "*"
character appears in the filename, then one file per snapshot is
written and the "*" character is replaced with the timestep value.
For example, tmp.dump*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk,
tmp.dump20000.vtk, etc. Note that the "dump_modify pad"_dump_modify.html
command can be used to insure all timestep numbers are the same length
(e.g. 00010), which can make it easier to read a series of dump files
in order with some post-processing tools.
If a "%" character appears in the filename, then each of P processors
writes a portion of the dump file, and the "%" character is replaced
with the processor ID from 0 to P-1 preceded by an underscore character.
For example, tmp.dump%.vtp becomes tmp.dump_0.vtp, tmp.dump_1.vtp, ...
tmp.dump_P-1.vtp, etc. This creates smaller files and can be a fast
mode of output on parallel machines that support parallel I/O for output.
By default, P = the number of processors meaning one file per
processor, but P can be set to a smaller value via the {nfile} or
{fileper} keywords of the "dump_modify"_dump_modify.html command.
These options can be the most efficient way of writing out dump files
when running on large numbers of processors.
For the legacy VTK format "%" is ignored and P = 1, i.e., only
processor 0 does write files.
Note that using the "*" and "%" characters together can produce a
large number of small dump files!
If {dump_modify binary} is used, the dump file (or files, if "*" or
"%" is also used) is written in binary format. A binary dump file
will be about the same size as a text version, but will typically
write out much faster.
:line
This section explains the atom attributes that can be specified as
part of the {custom/vtk} style.
The {id}, {mol}, {proc}, {procp1}, {type}, {element}, {mass}, {vx},
{vy}, {vz}, {fx}, {fy}, {fz}, {q} attributes are self-explanatory.
{id} is the atom ID. {mol} is the molecule ID, included in the data
file for molecular systems. {type} is the atom type. {element} is
typically the chemical name of an element, which you must assign to
each type via the "dump_modify element"_dump_modify.html command.
More generally, it can be any string you wish to associate with an
atom type. {mass} is the atom mass. {vx}, {vy}, {vz}, {fx}, {fy},
{fz}, and {q} are components of atom velocity and force and atomic
charge.
There are several options for outputting atom coordinates. The {x},
{y}, {z} attributes are used to write atom coordinates "unscaled", in
the appropriate distance "units"_units.html (Angstroms, sigma, etc).
Additionally, you can use {xs}, {ys}, {zs} if you want to also save the
coordinates "scaled" to the box size, so that each value is 0.0 to
1.0. If the simulation box is triclinic (tilted), then all atom
coords will still be between 0.0 and 1.0. Use {xu}, {yu}, {zu} if you
want the coordinates "unwrapped" by the image flags for each atom.
Unwrapped means that if the atom has passed through a periodic
boundary one or more times, the value is printed for what the
coordinate would be if it had not been wrapped back into the periodic
box. Note that using {xu}, {yu}, {zu} means that the coordinate
values may be far outside the box bounds printed with the snapshot.
Using {xsu}, {ysu}, {zsu} is similar to using {xu}, {yu}, {zu}, except
that the unwrapped coordinates are scaled by the box size. Atoms that
have passed through a periodic boundary will have the corresponding
coordinate increased or decreased by 1.0.
The image flags can be printed directly using the {ix}, {iy}, {iz}
attributes. For periodic dimensions, they specify which image of the
simulation box the atom is considered to be in. An image of 0 means
it is inside the box as defined. A value of 2 means add 2 box lengths
to get the true value. A value of -1 means subtract 1 box length to
get the true value. LAMMPS updates these flags as atoms cross
periodic boundaries during the simulation.
The {mux}, {muy}, {muz} attributes are specific to dipolar systems
defined with an atom style of {dipole}. They give the orientation of
the atom's point dipole moment. The {mu} attribute gives the
magnitude of the atom's dipole moment.
The {radius} and {diameter} attributes are specific to spherical
particles that have a finite size, such as those defined with an atom
style of {sphere}.
The {omegax}, {omegay}, and {omegaz} attributes are specific to
finite-size spherical particles that have an angular velocity. Only
certain atom styles, such as {sphere} define this quantity.
The {angmomx}, {angmomy}, and {angmomz} attributes are specific to
finite-size aspherical particles that have an angular momentum. Only
the {ellipsoid} atom style defines this quantity.
The {tqx}, {tqy}, {tqz} attributes are for finite-size particles that
can sustain a rotational torque due to interactions with other
particles.
The {spin}, {eradius}, {ervel}, and {erforce} attributes are for
particles that represent nuclei and electrons modeled with the
electronic force field (EFF). See "atom_style
electron"_atom_style.html and "pair_style eff"_pair_eff.html for more
details.
The {c_ID} and {c_ID\[N\]} attributes allow per-atom vectors or arrays
calculated by a "compute"_compute.html to be output. The ID in the
attribute should be replaced by the actual ID of the compute that has
been defined previously in the input script. See the
"compute"_compute.html command for details. There are computes for
calculating the per-atom energy, stress, centro-symmetry parameter,
and coordination number of individual atoms.
Note that computes which calculate global or local quantities, as
opposed to per-atom quantities, cannot be output in a dump custom/vtk
command. Instead, global quantities can be output by the
"thermo_style custom"_thermo_style.html command, and local quantities
can be output by the dump local command.
If {c_ID} is used as an attribute, then the per-atom vector calculated
by the compute is printed. If {c_ID\[N\]} is used, then N must be in
the range from 1-M, which will print the Nth column of the M-length
per-atom array calculated by the compute.
The {f_ID} and {f_ID\[N\]} attributes allow vector or array per-atom
quantities calculated by a "fix"_fix.html to be output. The ID in the
attribute should be replaced by the actual ID of the fix that has been
defined previously in the input script. The "fix
ave/atom"_fix_ave_atom.html command is one that calculates per-atom
quantities. Since it can time-average per-atom quantities produced by
any "compute"_compute.html, "fix"_fix.html, or atom-style
"variable"_variable.html, this allows those time-averaged results to
be written to a dump file.
If {f_ID} is used as a attribute, then the per-atom vector calculated
by the fix is printed. If {f_ID\[N\]} is used, then N must be in the
range from 1-M, which will print the Nth column of the M-length
per-atom array calculated by the fix.
The {v_name} attribute allows per-atom vectors calculated by a
"variable"_variable.html to be output. The name in the attribute
should be replaced by the actual name of the variable that has been
defined previously in the input script. Only an atom-style variable
can be referenced, since it is the only style that generates per-atom
values. Variables of style {atom} can reference individual atom
attributes, per-atom atom attributes, thermodynamic keywords, or
invoke other computes, fixes, or variables when they are evaluated, so
this is a very general means of creating quantities to output to a
dump file.
See "Section 10"_Section_modify.html of the manual for information
on how to add new compute and fix styles to LAMMPS to calculate
per-atom quantities which could then be output into dump files.
:line
[Restrictions:]
The {custom/vtk} style does not support writing of gzipped dump files.
The {custom/vtk} dump style is part of the USER-VTK package. It is
only enabled if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
To use this dump style, you also must link to the VTK library. See
the info in lib/vtk/README and insure the Makefile.lammps file in that
directory is appropriate for your machine.
The {custom/vtk} dump style neither supports buffering nor custom
format strings.
[Related commands:]
"dump"_dump.html, "dump image"_dump_image.html,
"dump_modify"_dump_modify.html, "undump"_undump.html
[Default:]
By default, files are written in ASCII format. If the file extension
is not one of .vtk, .vtp or .vtu, the legacy VTK file format is used.

View File

@ -17,9 +17,7 @@ group-ID = ID of the group of atoms to be imaged :l
h5md = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l
N = dump every this many timesteps :l
file.h5 = name of file to write to :l
args = list of data elements to dump, with their dump "subintervals".
At least one element must be given and image may only be present if
position is specified first. :l
args = list of data elements to dump, with their dump "subintervals"
position options
image
velocity options
@ -29,15 +27,17 @@ position is specified first. :l
box value = {yes} or {no}
create_group value = {yes} or {no}
author value = quoted string :pre
:ule
For the elements {position}, {velocity}, {force} and {species}, one
may specify a sub-interval to write the data only every N_element
Note that at least one element must be specified and image may only be
present if position is specified first.
For the elements {position}, {velocity}, {force} and {species}, a
sub-interval may be specified to write the data only every N_element
iterations of the dump (i.e. every N*N_element time steps). This is
specified by the option
specified by this option directly following the element declaration:
every N_element :pre
that follows directly the element declaration.
every N_element :pre
:ule

View File

@ -34,10 +34,7 @@ to one or more files every N timesteps in one of several formats.
Only information for atoms in the specified group is dumped. This
specific dump style uses molfile plugins that are bundled with the
"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and
analysis program. See "Section 9"_Section_tools.html#vmd of the
manual and the tools/lmp2vmd/README.txt file for more information
about support in VMD for reading and visualizing native LAMMPS dump
files.
analysis program.
Unless the filename contains a * character, the output will be written
to one single file with the specified format. Otherwise there will be

View File

@ -1,66 +0,0 @@
"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
dump nc command :h3
dump nc/mpiio command :h3
[Syntax:]
dump ID group-ID nc N file.nc args
dump ID group-ID nc/mpiio N file.nc args :pre
ID = user-assigned name for the dump :ulb,l
group-ID = ID of the group of atoms to be imaged :l
{nc} or {nc/mpiio} = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l
N = dump every this many timesteps :l
file.nc = name of file to write to :l
args = list of per atom data elements to dump, same as for the 'custom' dump style. :l,ule
[Examples:]
dump 1 all nc 100 traj.nc type x y z vx vy vz
dump_modify 1 append yes at -1 global c_thermo_pe c_thermo_temp c_thermo_press :pre
dump 1 all nc/mpiio 1000 traj.nc id type x y z :pre
[Description:]
Dump a snapshot of atom coordinates every N timesteps in Amber-style
NetCDF file format. NetCDF files are binary, portable and
self-describing. This dump style will write only one file on the root
node. The dump style {nc} uses the "standard NetCDF
library"_netcdf-home all data is collected on one processor and then
written to the dump file. Dump style {nc/mpiio} used the "parallel
NetCDF library"_pnetcdf-home and MPI-IO; it has better performance on
a larger number of processors. Note that 'nc' outputs all atoms sorted
by atom tag while 'nc/mpiio' outputs in order of the MPI rank.
In addition to per-atom data, also global (i.e. not per atom, but per
frame) quantities can be included in the dump file. This can be
variables, output from computes or fixes data prefixed with v_, c_ and
f_, respectively. These properties are included via
"dump_modify"_dump_modify.html {global}.
:link(netcdf-home,http://www.unidata.ucar.edu/software/netcdf/)
:link(pnetcdf-home,http://trac.mcs.anl.gov/projects/parallel-netcdf/)
:line
[Restrictions:]
The {nc} and {nc/mpiio} dump styles are part of the USER-NC-DUMP
package. It is only enabled if LAMMPS was built with that
package. See the "Making LAMMPS"_Section_start.html#start_3 section
for more info.
:line
[Related commands:]
"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html

82
doc/src/dump_netcdf.txt Normal file
View File

@ -0,0 +1,82 @@
"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
dump netcdf command :h3
dump netcdf/mpiio command :h3
[Syntax:]
dump ID group-ID netcdf N file args
dump ID group-ID netcdf/mpiio N file args :pre
ID = user-assigned name for the dump :ulb,l
group-ID = ID of the group of atoms to be imaged :l
{netcdf} or {netcdf/mpiio} = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l
N = dump every this many timesteps :l
file = name of file to write dump info to :l
args = list of atom attributes, same as for "dump_style custom"_dump.html :l,ule
[Examples:]
dump 1 all netcdf 100 traj.nc type x y z vx vy vz
dump_modify 1 append yes at -1 global c_thermo_pe c_thermo_temp c_thermo_press
dump 1 all netcdf/mpiio 1000 traj.nc id type x y z :pre
[Description:]
Dump a snapshot of atom coordinates every N timesteps in Amber-style
NetCDF file format. NetCDF files are binary, portable and
self-describing. This dump style will write only one file on the root
node. The dump style {netcdf} uses the "standard NetCDF
library"_netcdf-home. All data is collected on one processor and then
written to the dump file. Dump style {netcdf/mpiio} uses the
"parallel NetCDF library"_pnetcdf-home and MPI-IO to write to the dump
file in parallel; it has better performance on a larger number of
processors. Note that style {netcdf} outputs all atoms sorted by atom
tag while style {netcdf/mpiio} outputs atoms in order of their MPI
rank.
NetCDF files can be directly visualized via the following tools:
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention and
all of the above extensions. :ule,b
VMD (http://www.ks.uiuc.edu/Research/vmd/). :l
AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye
contains a NetCDF reader that is not present in the standard
distribution of AtomEye. :l,ule
In addition to per-atom data, global data can be included in the dump
file, which are the kinds of values output by the
"thermo_style"_thermo_style.html command . See "Section howto
6.15"_Section_howto.html#howto_15 for an explanation of per-atom
versus global data. The global output written into the dump file can
be from computes, fixes, or variables, by prefixing the compute/fix ID
or variable name with "c_" or "f_" or "v_" respectively, as in the
example above. These global values are specified via the "dump_modify
global"_dump_modify.html command.
:link(netcdf-home,http://www.unidata.ucar.edu/software/netcdf/)
:link(pnetcdf-home,http://trac.mcs.anl.gov/projects/parallel-netcdf/)
:line
[Restrictions:]
The {netcdf} and {netcdf/mpiio} dump styles are part of the
USER-NETCDF package. They are only enabled if LAMMPS was built with
that package. See the "Making LAMMPS"_Section_start.html#start_3
section for more info.
:line
[Related commands:]
"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html

179
doc/src/dump_vtk.txt Normal file
View File

@ -0,0 +1,179 @@
"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
dump vtk command :h3
[Syntax:]
dump ID group-ID vtk N file args :pre
ID = user-assigned name for the dump
group-ID = ID of the group of atoms to be dumped
vtk = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page)
N = dump every this many timesteps
file = name of file to write dump info to
args = same as arguments for "dump_style custom"_dump.html :ul
[Examples:]
dump dmpvtk all vtk 100 dump*.myforce.vtk id type vx fx
dump dmpvtp flow vtk 100 dump*.%.displace.vtp id type c_myD\[1\] c_myD\[2\] c_myD\[3\] v_ke :pre
[Description:]
Dump a snapshot of atom quantities to one or more files every N
timesteps in a format readable by the "VTK visualization
toolkit"_http://www.vtk.org or other visualization tools that use it,
e.g. "ParaView"_http://www.paraview.org. The timesteps on which dump
output is written can also be controlled by a variable; see the
"dump_modify every"_dump_modify.html command for details.
This dump style is similar to "dump_style custom"_dump.html but uses
the VTK library to write data to VTK simple legacy or XML format
depending on the filename extension specified for the dump file. This
can be either {*.vtk} for the legacy format or {*.vtp} and {*.vtu},
respectively, for XML format; see the "VTK
homepage"_http://www.vtk.org/VTK/img/file-formats.pdf for a detailed
description of these formats. Since this naming convention conflicts
with the way binary output is usually specified (see below), the
"dump_modify binary"_dump_modify.html command allows setting of a
binary option for this dump style explicitly.
Only information for atoms in the specified group is dumped. The
"dump_modify thresh and region"_dump_modify.html commands can also
alter what atoms are included; see details below.
As described below, special characters ("*", "%") in the filename
determine the kind of output.
IMPORTANT NOTE: Because periodic boundary conditions are enforced only
on timesteps when neighbor lists are rebuilt, the coordinates of an
atom written to a dump file may be slightly outside the simulation
box.
IMPORTANT NOTE: Unless the "dump_modify sort"_dump_modify.html option
is invoked, the lines of atom information written to dump files will
be in an indeterminate order for each snapshot. This is even true
when running on a single processor, if the "atom_modify
sort"_atom_modify.html option is on, which it is by default. In this
case atoms are re-ordered periodically during a simulation, due to
spatial sorting. It is also true when running in parallel, because
data for a single snapshot is collected from multiple processors, each
of which owns a subset of the atoms.
For the {vtk} style, sorting is off by default. See the
"dump_modify"_dump_modify.html doc page for details.
:line
The dimensions of the simulation box are written to a separate file
for each snapshot (either in legacy VTK or XML format depending on the
format of the main dump file) with the suffix {_boundingBox} appended
to the given dump filename.
For an orthogonal simulation box this information is saved as a
rectilinear grid (legacy .vtk or .vtr XML format).
Triclinic simulation boxes (non-orthogonal) are saved as
hexahedrons in either legacy .vtk or .vtu XML format.
Style {vtk} allows you to specify a list of atom attributes to be
written to the dump file for each atom. The list of possible attributes
is the same as for the "dump_style custom"_dump.html command; see
its doc page for a listing and an explanation of each attribute.
NOTE: Since position data is required to write VTK files the atom
attributes "x y z" do not have to be specified explicitly; they will
be included in the dump file regardless. Also, in contrast to the
{custom} style, the specified {vtk} attributes are rearranged to
ensure correct ordering of vector components (except for computes and
fixes - these have to be given in the right order) and duplicate
entries are removed.
The VTK format uses a single snapshot of the system per file, thus
a wildcard "*" must be included in the filename, as discussed below.
Otherwise the dump files will get overwritten with the new snapshot
each time.
:line
Dumps are performed on timesteps that are a multiple of N (including
timestep 0) and on the last timestep of a minimization if the
minimization converges. Note that this means a dump will not be
performed on the initial timestep after the dump command is invoked,
if the current timestep is not a multiple of N. This behavior can be
changed via the "dump_modify first"_dump_modify.html command, which
can also be useful if the dump command is invoked after a minimization
ended on an arbitrary timestep. N can be changed between runs by
using the "dump_modify every"_dump_modify.html command.
The "dump_modify every"_dump_modify.html command
also allows a variable to be used to determine the sequence of
timesteps on which dump files are written. In this mode a dump on the
first timestep of a run will also not be written unless the
"dump_modify first"_dump_modify.html command is used.
Dump filenames can contain two wildcard characters. If a "*"
character appears in the filename, then one file per snapshot is
written and the "*" character is replaced with the timestep value.
For example, tmp.dump*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk,
tmp.dump20000.vtk, etc. Note that the "dump_modify pad"_dump_modify.html
command can be used to insure all timestep numbers are the same length
(e.g. 00010), which can make it easier to read a series of dump files
in order with some post-processing tools.
If a "%" character appears in the filename, then each of P processors
writes a portion of the dump file, and the "%" character is replaced
with the processor ID from 0 to P-1 preceded by an underscore character.
For example, tmp.dump%.vtp becomes tmp.dump_0.vtp, tmp.dump_1.vtp, ...
tmp.dump_P-1.vtp, etc. This creates smaller files and can be a fast
mode of output on parallel machines that support parallel I/O for output.
By default, P = the number of processors meaning one file per
processor, but P can be set to a smaller value via the {nfile} or
{fileper} keywords of the "dump_modify"_dump_modify.html command.
These options can be the most efficient way of writing out dump files
when running on large numbers of processors.
For the legacy VTK format "%" is ignored and P = 1, i.e., only
processor 0 does write files.
Note that using the "*" and "%" characters together can produce a
large number of small dump files!
If {dump_modify binary} is used, the dump file (or files, if "*" or
"%" is also used) is written in binary format. A binary dump file
will be about the same size as a text version, but will typically
write out much faster.
:line
[Restrictions:]
The {vtk} style does not support writing of gzipped dump files.
The {vtk} dump style is part of the USER-VTK package. It is
only enabled if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
To use this dump style, you also must link to the VTK library. See
the info in lib/vtk/README and insure the Makefile.lammps file in that
directory is appropriate for your machine.
The {vtk} dump style supports neither buffering or custom format
strings.
[Related commands:]
"dump"_dump.html, "dump image"_dump_image.html,
"dump_modify"_dump_modify.html, "undump"_undump.html
[Default:]
By default, files are written in ASCII format. If the file extension
is not one of .vtk, .vtp or .vtu, the legacy VTK file format is used.

View File

@ -22,6 +22,11 @@ attribute = {pair} or {kspace} or {atom} :l
pparam = parameter to adapt over time
I,J = type pair(s) to set parameter for
v_name = variable with name that calculates value of pparam
{bond} args = bstyle bparam I v_name
bstyle = bond style name, e.g. harmonic
bparam = parameter to adapt over time
I = type bond to set parameter for
v_name = variable with name that calculates value of bparam
{kspace} arg = v_name
v_name = variable with name that calculates scale factor on K-space terms
{atom} args = aparam v_name
@ -42,7 +47,10 @@ keyword = {scale} or {reset} :l
fix 1 all adapt 1 pair soft a 1 1 v_prefactor
fix 1 all adapt 1 pair soft a 2* 3 v_prefactor
fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes
fix 1 all adapt 10 atom diameter v_size :pre
fix 1 all adapt 10 atom diameter v_size
variable ramp_up equal "ramp(0.01,0.5)"
fix stretch all adapt 1 bond harmonic r0 1 v_ramp_up :pre
[Description:]
@ -192,6 +200,19 @@ fix 1 all adapt 1 pair soft a * * v_prefactor :pre
:line
The {bond} keyword uses the specified variable to change the value of
a bond coefficient over time, very similar to how the {pair} keyword
operates. The only difference is that now a bond coefficient for a
given bond type is adapted.
Currently {bond} does not support bond_style hybrid nor bond_style
hybrid/overlay as bond styles. The only bonds that currently are
working with fix_adapt are
"harmonic"_bond_harmonic.html: k,r0: type bonds :tb(c=3,s=:)
:line
The {kspace} keyword used the specified variable as a scale factor on
the energy, forces, virial calculated by whatever K-Space solver is
defined by the "kspace_style"_kspace_style.html command. If the

View File

@ -191,8 +191,15 @@ remain constant for the duration of the simulation. This fix forces
the chunk/atom compute specified by chunkID to hold {Nchunk} constant
for the appropriate time windows, by not allowing it to re-calculate
{Nchunk}, which can also affect how it assigns chunk IDs to atoms.
More details are given on the "compute
chunk/atom"_compute_chunk_atom.html doc page.
This is particularly important to understand if the chunks defined by
the "compute chunk/atom"_compute_chunk_atom.html command are spatial
bins. If its {units} keyword is set to {box} or {lattice}, then the
number of bins {Nchunk} and size of each bin will be fixed over the
{Nfreq} time window, which can affect which atoms are discarded if the
simulation box size changes. If its {units} keyword is set to
{reduced}, then the number of bins {Nchunk} will still be fixed, but
the size of each bin can vary at each timestep if the simulation box
size changes, e.g. for an NPT simulation.
:line
@ -290,24 +297,32 @@ It the {norm} setting is {all}, which is the default, a chunk value is
summed over all atoms in all {Nrepeat} samples, as is the count of
atoms in the chunk. The averaged output value for the chunk on the
{Nfreq} timesteps is Total-sum / Total-count. In other words it is an
average over atoms across the entire {Nfreq} timescale.
average over atoms across the entire {Nfreq} timescale. For the
{density/number} and {density/mass} values, the volume (bin volume or
system volume) used in the final normalization will be the volume at
the final {Nfreq} timestep.
If the {norm} setting is {sample}, the chunk value is summed over atoms
for each sample, as is the count, and an "average sample value" is
computed for each sample, i.e. Sample-sum / Sample-count. The output
value for the chunk on the {Nfreq} timesteps is the average of the
{Nrepeat} "average sample values", i.e. the sum of {Nrepeat} "average
sample values" divided by {Nrepeat}. In other words it is an average
of an average.
If the {norm} setting is {sample}, the chunk value is summed over
atoms for each sample, as is the count, and an "average sample value"
is computed for each sample, i.e. Sample-sum / Sample-count. The
output value for the chunk on the {Nfreq} timesteps is the average of
the {Nrepeat} "average sample values", i.e. the sum of {Nrepeat}
"average sample values" divided by {Nrepeat}. In other words it is an
average of an average. For the {density/number} and {density/mass}
values, the volume (bin volume or system volume) used in the
per-sample normalization will be the current volume at each sampling
step.
If the {norm} setting is {none}, a similar computation as for the
{sample} setting is done, except the individual "average sample values"
are "summed sample values". A summed sample value is simply the chunk
value summed over atoms in the sample, without dividing by the number
of atoms in the sample. The output value for the chunk on the
{Nfreq} timesteps is the average of the {Nrepeat} "summed sample
{sample} setting is done, except the individual "average sample
values" are "summed sample values". A summed sample value is simply
the chunk value summed over atoms in the sample, without dividing by
the number of atoms in the sample. The output value for the chunk on
the {Nfreq} timesteps is the average of the {Nrepeat} "summed sample
values", i.e. the sum of {Nrepeat} "summed sample values" divided by
{Nrepeat}.
{Nrepeat}. For the {density/number} and {density/mass} values, the
volume (bin volume or system volume) used in the per-sample sum
normalization will be the current volume at each sampling step.
The {ave} keyword determines how the per-chunk values produced every
{Nfreq} steps are averaged with values produced on previous steps that

View File

@ -245,8 +245,8 @@ appear the system is converging to your specified pressure. The
solution for this is to either (a) zero the velocities of all atoms
before performing the minimization, or (b) make sure you are
monitoring the pressure without its kinetic component. The latter can
be done by outputting the pressure from the fix this command creates
(see below) or a pressure fix you define yourself.
be done by outputting the pressure from the pressure compute this
command creates (see below) or a pressure compute you define yourself.
NOTE: Because pressure is often a very sensitive function of volume,
it can be difficult for the minimizer to equilibrate the system the
@ -308,7 +308,7 @@ thermo_modify command (or in two separate commands), then the order in
which the keywords are specified is important. Note that a "pressure
compute"_compute_pressure.html defines its own temperature compute as
an argument when it is specified. The {temp} keyword will override
this (for the pressure compute being used by fix npt), but only if the
this (for the pressure compute being used by fix box/relax), but only if the
{temp} keyword comes after the {press} keyword. If the {temp} keyword
comes before the {press} keyword, then the new pressure compute
specified by the {press} keyword will be unaffected by the {temp}
@ -316,18 +316,16 @@ setting.
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#howto_15. The scalar is the
pressure-volume energy, plus the strain energy, if it exists.
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#howto_15. The scalar is given
by the energy expression shown above. The energy values reported
at the end of a minimization run under "Minimization stats" include
this energy, and so differ from what LAMMPS normally reports as
potential energy. This fix does not support the
"fix_modify"_fix_modify.html {energy} option,
because that would result in double-counting of the fix energy in the
minimization energy. Instead, the fix energy can be explicitly
added to the potential energy using one of these two variants:
pressure-volume energy, plus the strain energy, if it exists,
as described above.
The energy values reported at the
end of a minimization run under "Minimization stats" include this
energy, and so differ from what LAMMPS normally reports as potential
energy. This fix does not support the "fix_modify"_fix_modify.html
{energy} option, because that would result in double-counting of the
fix energy in the minimization energy. Instead, the fix energy can be
explicitly added to the potential energy using one of these two
variants:
variable emin equal pe+f_1 :pre

View File

@ -27,7 +27,7 @@ fix_modify myCMAP energy yes :pre
This command enables CMAP crossterms to be added to simulations which
use the CHARMM force field. These are relevant for any CHARMM model
of a peptide or protein sequences that is 3 or more amino-acid
residues long; see "(Buck)"_#Buck and "(Brooks)"_#Brooks for details,
residues long; see "(Buck)"_#Buck and "(Brooks)"_#Brooks2 for details,
including the analytic energy expressions for CMAP interactions. The
CMAP crossterms add additional potential energy contributions to pairs
of overlapping phi-psi dihedrals of amino-acids, which are important
@ -87,8 +87,11 @@ the note below about how to include the CMAP energy when performing an
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html.
This fix writes the list of CMAP crossterms to "binary restart
files"_restart.html. See the "read_restart"_read_restart.html command
for info on how to re-specify a fix in an input script that reads a
restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the potential "energy" of the CMAP interactions system's
@ -128,5 +131,5 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
[(Buck)] Buck, Bouguet-Bonnet, Pastor, MacKerell Jr., Biophys J, 90, L36
(2006).
:link(Brooks)
:link(Brooks2)
[(Brooks)] Brooks, Brooks, MacKerell Jr., J Comput Chem, 30, 1545 (2009).

View File

@ -150,6 +150,12 @@ treated as rigid bodies, use the {rigid} keyword, specifying as its
value the ID of a separate "fix rigid/small"_fix_rigid.html
command which also appears in your input script.
NOTE: If you wish the new rigid molecules (and other rigid molecules)
to be thermostatted correctly via "fix rigid/small/nvt"_fix_rigid.html
or "fix rigid/small/npt"_fix_rigid.html, then you need to use the
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
inform that fix that the molecule count will vary dynamically.
If you wish to insert molecules via the {mol} keyword, that will have
their bonds or angles constrained via SHAKE, use the {shake} keyword,
specifying as its value the ID of a separate "fix

View File

@ -70,13 +70,13 @@ mesoparticle equation of state for each particle.
:line
:link(Lisal)
:link(Lisal1)
[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative
particle dynamics at isothermal, isobaric, isoenergetic, and
isoenthalpic conditions using Shardlow-like splitting algorithms.",
J. Chem. Phys., 135, 204105 (2011).
:link(Larentzos)
:link(Larentzos3)
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research

View File

@ -32,7 +32,7 @@ fix 1 all drude/transform/inverse :pre
Transform the coordinates of Drude oscillators from real to reduced
and back for thermalizing the Drude oscillators as described in
"(Lamoureux)"_#Lamoureux using a Nose-Hoover thermostat. This fix is
"(Lamoureux)"_#Lamoureux1 using a Nose-Hoover thermostat. This fix is
designed to be used with the "thermalized Drude oscillator
model"_tutorial_drude.html. Polarizable models in LAMMPS are
described in "this Section"_Section_howto.html#howto_25.
@ -160,5 +160,5 @@ files"_restart.html.
:line
:link(Lamoureux)
:link(Lamoureux1)
[(Lamoureux)] Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003).

View File

@ -53,7 +53,7 @@ command.
:line
:link(Larentzos)
:link(Larentzos4)
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research

View File

@ -0,0 +1,87 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix filter/corotate command :h3
[Syntax:]
fix ID group-ID filter/corotate keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
one or more constraint/value pairs are appended :l
constraint = {b} or {a} or {t} or {m} :l
{b} values = one or more bond types
{a} values = one or more angle types
{t} values = one or more atom types
{m} value = one or more mass values :pre
:ule
[Examples:]
timestep 8
run_style respa 3 2 8 bond 1 pair 2 kspace 3
fix cor all filter/corotate m 1.0 :pre
fix cor all filter/corotate b 4 19 a 3 5 2 :pre
[Description:]
This fix implements a corotational filter for a mollified impulse
method. In biomolecular simulations, it allows the usage of larger
timesteps for long-range electrostatic interactions. For details, see
"(Fath)"_#Fath2017.
When using "run_style respa"_run_style.html for a biomolecular
simulation with high-frequency covalent bonds, the outer time-step is
restricted to below ~ 4fs due to resonance problems. This fix filters
the outer stage of the respa and thus a larger (outer) time-step can
be used. Since in large biomolecular simulations the computation of
the long-range electrostatic contributions poses a major bottleneck,
this can significantly accelerate the simulation.
The filter computes a cluster decomposition of the molecular structure
following the criteria indicated by the options a, b, t and m. This
process is similar to the approach in "fix shake"_fix_shake.html,
however, the clusters are not kept contrained. Instead, the position
is slightly modified only for the computation of long-range forces. A
good cluster decomposition constitutes in building clusters which
contain the fastest covalent bonds inside clusters.
If the clusters are chosen suitably, the "run_style
respa"_run_style.html is stable for outer time-steps of at least 8fs.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about these fixes is written to "binary restart
files"_restart.html. None of the "fix_modify"_fix_modify.html options
are relevant to these fixes. No global or per-atom quantities are
stored by these fixes for access by various "output
commands"_Section_howto.html#howto_15. No parameter of these fixes
can be used with the {start/stop} keywords of the "run"_run.html
command. These fixes are not invoked during "energy
minimization"_minimize.html.
[Restrictions:]
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
Currently, it does not support "molecule templates"_molecule.html.
[Related commands:]
[Default:] none
:line
:link(Fath2017)
[(Fath)] Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017).

View File

@ -153,7 +153,7 @@ The option default for the {energy} keyword is energy = no.
:link(Strong)
[(Strong)] Strong and Eaves, J. Phys. Chem. B 121, 189 (2017).
:link(Evans)
:link(Evans2)
[(Evans)] Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986).
:link(Zhu)

View File

@ -23,9 +23,11 @@ T = temperature of the ideal gas reservoir (temperature units) :l
mu = chemical potential of the ideal gas reservoir (energy units) :l
displace = maximum Monte Carlo translation distance (length units) :l
zero or more keyword/value pairs may be appended to args :l
keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, {charge}, {group}, {grouptype}, {intra_energy}, or {tfac_insert}
keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, {charge}, {group}, {grouptype}, {intra_energy}, {tfac_insert}, or {overlap_cutoff}
{mol} value = template-ID
template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command
{rigid} value = fix-ID
fix-ID = ID of "fix rigid/small"_fix_rigid.html command
{shake} value = fix-ID
fix-ID = ID of "fix shake"_fix_shake.html command
{region} value = region-ID
@ -41,7 +43,8 @@ keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energ
type = atom type (int)
group-ID = group-ID for inserted atoms (string)
{intra_energy} value = intramolecular energy (energy units)
{tfac_insert} value = scale up/down temperature of inserted atoms (unitless) :pre
{tfac_insert} value = scale up/down temperature of inserted atoms (unitless)
{overlap_cutoff} value = maximum pair distance for overlap rejection (distance units) :pre
:ule
[Examples:]
@ -53,26 +56,25 @@ fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk :pre
[Description:]
This fix performs grand canonical Monte Carlo (GCMC) exchanges of
atoms or molecules of the given type with an imaginary ideal gas reservoir at
the specified T and chemical potential (mu) as discussed in
"(Frenkel)"_#Frenkel. If used with the "fix nvt"_fix_nh.html command,
simulations in the grand canonical ensemble (muVT, constant chemical
potential, constant volume, and constant temperature) can be
atoms or molecules of the given type with an imaginary ideal gas
reservoir at the specified T and chemical potential (mu) as discussed
in "(Frenkel)"_#Frenkel. If used with the "fix nvt"_fix_nh.html
command, simulations in the grand canonical ensemble (muVT, constant
chemical potential, constant volume, and constant temperature) can be
performed. Specific uses include computing isotherms in microporous
materials, or computing vapor-liquid coexistence curves.
Every N timesteps the fix attempts a number of GCMC exchanges (insertions
or deletions) of gas atoms or molecules of
the given type between the simulation cell and the imaginary
reservoir. It also attempts a number of Monte Carlo
moves (translations and molecule rotations) of gas of the given type
within the simulation cell or region. The average number of
attempted GCMC exchanges is X. The average number of attempted MC moves is M.
M should typically be chosen to be
approximately equal to the expected number of gas atoms or molecules
of the given type within the simulation cell or region,
which will result in roughly one
MC translation per atom or molecule per MC cycle.
Every N timesteps the fix attempts a number of GCMC exchanges
(insertions or deletions) of gas atoms or molecules of the given type
between the simulation cell and the imaginary reservoir. It also
attempts a number of Monte Carlo moves (translations and molecule
rotations) of gas of the given type within the simulation cell or
region. The average number of attempted GCMC exchanges is X. The
average number of attempted MC moves is M. M should typically be
chosen to be approximately equal to the expected number of gas atoms
or molecules of the given type within the simulation cell or region,
which will result in roughly one MC translation per atom or molecule
per MC cycle.
For MC moves of molecular gasses, rotations and translations are each
attempted with 50% probability. For MC moves of atomic gasses,
@ -80,50 +82,50 @@ translations are attempted 100% of the time. For MC exchanges of
either molecular or atomic gasses, deletions and insertions are each
attempted with 50% probability.
All inserted particles are always assigned to two groups: the default group
"all" and the group specified in the fix gcmc command (which can also
be "all"). In addition, particles are also added to any groups specified
by the {group} and {grouptype} keywords.
If inserted particles are individual atoms, they are
assigned the atom type given by the type argument. If they are molecules,
the type argument has no effect and must be set to zero. Instead,
the type of each atom in the inserted molecule is specified
in the file read by the "molecule"_molecule.html command.
All inserted particles are always assigned to two groups: the default
group "all" and the group specified in the fix gcmc command (which can
also be "all"). In addition, particles are also added to any groups
specified by the {group} and {grouptype} keywords. If inserted
particles are individual atoms, they are assigned the atom type given
by the type argument. If they are molecules, the type argument has no
effect and must be set to zero. Instead, the type of each atom in the
inserted molecule is specified in the file read by the
"molecule"_molecule.html command.
This fix cannot be used to perform MC insertions of gas atoms or
molecules other than the exchanged type, but MC deletions,
translations, and rotations can be performed on any atom/molecule in
the fix group. All atoms in the simulation cell can be moved using
regular time integration translations, e.g. via
"fix nvt"_fix_nh.html, resulting in a hybrid GCMC+MD simulation. A
smaller-than-usual timestep size may be needed when running such a
hybrid simulation, especially if the inserted molecules are not well
equilibrated.
regular time integration translations, e.g. via "fix nvt"_fix_nh.html,
resulting in a hybrid GCMC+MD simulation. A smaller-than-usual
timestep size may be needed when running such a hybrid simulation,
especially if the inserted molecules are not well equilibrated.
This command may optionally use the {region} keyword to define an
exchange and move volume. The specified region must have been
previously defined with a "region"_region.html command. It must be
defined with side = {in}. Insertion attempts occur only within the
specified region. For non-rectangular regions, random trial
points are generated within the rectangular bounding box until a point is found
that lies inside the region. If no valid point is generated after 1000 trials,
no insertion is performed, but it is counted as an attempted insertion.
Move and deletion attempt candidates are selected
from gas atoms or molecules within the region. If there are no candidates,
no move or deletion is performed, but it is counted as an attempt move
or deletion. If an attempted move places the atom or molecule center-of-mass outside
the specified region, a new attempted move is generated. This process is repeated
until the atom or molecule center-of-mass is inside the specified region.
specified region. For non-rectangular regions, random trial points are
generated within the rectangular bounding box until a point is found
that lies inside the region. If no valid point is generated after 1000
trials, no insertion is performed, but it is counted as an attempted
insertion. Move and deletion attempt candidates are selected from gas
atoms or molecules within the region. If there are no candidates, no
move or deletion is performed, but it is counted as an attempt move or
deletion. If an attempted move places the atom or molecule
center-of-mass outside the specified region, a new attempted move is
generated. This process is repeated until the atom or molecule
center-of-mass is inside the specified region.
If used with "fix nvt"_fix_nh.html, the temperature of the imaginary
reservoir, T, should be set to be equivalent to the target temperature
used in fix nvt. Otherwise, the imaginary reservoir
will not be in thermal equilibrium with the simulation cell. Also,
it is important that the temperature used by fix nvt be dynamic,
which can be achieved as follows:
used in fix nvt. Otherwise, the imaginary reservoir will not be in
thermal equilibrium with the simulation cell. Also, it is important
that the temperature used by fix nvt be dynamic/dof, which can be
achieved as follows:
compute mdtemp mdatoms temp
compute_modify mdtemp dynamic yes
compute_modify mdtemp dynamic/dof yes
fix mdnvt mdatoms nvt temp 300.0 300.0 10.0
fix_modify mdnvt temp mdtemp :pre
@ -134,16 +136,16 @@ interactions. Specifically, avoid performing so many MC translations
per timestep that atoms can move beyond the neighbor list skin
distance. See the "neighbor"_neighbor.html command for details.
When an atom or molecule is to be inserted, its
coordinates are chosen at a random position within the current
simulation cell or region, and new atom velocities are randomly chosen from
the specified temperature distribution given by T. The effective
temperature for new atom velocities can be increased or decreased
using the optional keyword {tfac_insert} (see below). Relative
coordinates for atoms in a molecule are taken from the template
molecule provided by the user. The center of mass of the molecule
is placed at the insertion point. The orientation of the molecule
is chosen at random by rotating about this point.
When an atom or molecule is to be inserted, its coordinates are chosen
at a random position within the current simulation cell or region, and
new atom velocities are randomly chosen from the specified temperature
distribution given by T. The effective temperature for new atom
velocities can be increased or decreased using the optional keyword
{tfac_insert} (see below). Relative coordinates for atoms in a
molecule are taken from the template molecule provided by the
user. The center of mass of the molecule is placed at the insertion
point. The orientation of the molecule is chosen at random by rotating
about this point.
Individual atoms are inserted, unless the {mol} keyword is used. It
specifies a {template-ID} previously defined using the
@ -155,53 +157,97 @@ command for details. The only settings required to be in this file
are the coordinates and types of atoms in the molecule.
When not using the {mol} keyword, you should ensure you do not delete
atoms that are bonded to other atoms, or LAMMPS will
soon generate an error when it tries to find bonded neighbors. LAMMPS will
warn you if any of the atoms eligible for deletion have a non-zero
molecule ID, but does not check for this at the time of deletion.
atoms that are bonded to other atoms, or LAMMPS will soon generate an
error when it tries to find bonded neighbors. LAMMPS will warn you if
any of the atoms eligible for deletion have a non-zero molecule ID,
but does not check for this at the time of deletion.
If you wish to insert molecules via the {mol} keyword, that will be
treated as rigid bodies, use the {rigid} keyword, specifying as its
value the ID of a separate "fix rigid/small"_fix_rigid.html command
which also appears in your input script.
NOTE: If you wish the new rigid molecules (and other rigid molecules)
to be thermostatted correctly via "fix rigid/small/nvt"_fix_rigid.html
or "fix rigid/small/npt"_fix_rigid.html, then you need to use the
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
inform that fix that the molecule count will vary dynamically.
If you wish to insert molecules via the {mol} keyword, that will have
their bonds or angles constrained via SHAKE, use the {shake} keyword,
specifying as its value the ID of a separate "fix
shake"_fix_shake.html command which also appears in your input script.
Optionally, users may specify the maximum rotation angle for
molecular rotations using the {maxangle} keyword and specifying
the angle in degrees. Rotations are performed by generating a random
point on the unit sphere and a random rotation angle on the
range \[0,maxangle). The molecule is then rotated by that angle about an
Optionally, users may specify the maximum rotation angle for molecular
rotations using the {maxangle} keyword and specifying the angle in
degrees. Rotations are performed by generating a random point on the
unit sphere and a random rotation angle on the range
\[0,maxangle). The molecule is then rotated by that angle about an
axis passing through the molecule center of mass. The axis is parallel
to the unit vector defined by the point on the unit sphere.
The same procedure is used for randomly rotating molecules when they
are inserted, except that the maximum angle is 360 degrees.
to the unit vector defined by the point on the unit sphere. The same
procedure is used for randomly rotating molecules when they are
inserted, except that the maximum angle is 360 degrees.
Note that fix GCMC does not use configurational bias
MC or any other kind of sampling of intramolecular degrees of freedom.
Inserted molecules can have different orientations, but they will all
have the same intramolecular configuration,
which was specified in the molecule command input.
Note that fix GCMC does not use configurational bias MC or any other
kind of sampling of intramolecular degrees of freedom. Inserted
molecules can have different orientations, but they will all have the
same intramolecular configuration, which was specified in the molecule
command input.
For atomic gasses, inserted atoms have the specified atom type, but
deleted atoms are any atoms that have been inserted or that belong
to the user-specified fix group. For molecular gasses, exchanged
molecules use the same atom types as in the template molecule
supplied by the user. In both cases, exchanged
atoms/molecules are assigned to two groups: the default group "all"
and the group specified in the fix gcmc command (which can also be
"all").
deleted atoms are any atoms that have been inserted or that belong to
the user-specified fix group. For molecular gasses, exchanged
molecules use the same atom types as in the template molecule supplied
by the user. In both cases, exchanged atoms/molecules are assigned to
two groups: the default group "all" and the group specified in the fix
gcmc command (which can also be "all").
The gas reservoir pressure can be specified using the {pressure}
keyword, in which case the user-specified chemical potential is
ignored. For non-ideal gas reservoirs, the user may also specify the
fugacity coefficient using the {fugacity_coeff} keyword.
The chemical potential is a user-specified input parameter defined
as:
:c,image(Eqs/fix_gcmc1.jpg)
The second term mu_ex is the excess chemical potential due to
energetic interactions and is formally zero for the fictitious gas
reservoir but is non-zero for interacting systems. So, while the
chemical potential of the reservoir and the simulation cell are equal,
mu_ex is not, and as a result, the densities of the two are generally
quite different. The first term mu_id is the ideal gas contribution
to the chemical potential. mu_id can be related to the density or
pressure of the fictitious gas reservoir by:
:c,image(Eqs/fix_gcmc2.jpg)
where k is Boltzman's constant,
T is the user-specified temperature, rho is the number density,
P is the pressure, and phi is the fugacity coefficient.
The constant Lambda is required for dimensional consistency.
For all unit styles except {lj} it is defined as the thermal
de Broglie wavelength
:c,image(Eqs/fix_gcmc3.jpg)
where h is Planck's constant, and m is the mass of the exchanged atom
or molecule. For unit style {lj}, Lambda is simply set to the
unity. Note that prior to March 2017, lambda for unit style {lj} was
calculated using the above formula with h set to the rather specific
value of 0.18292026. Chemical potential under the old definition can
be converted to an equivalent value under the new definition by
subtracting 3kTln(Lambda_old).
As an alternative to specifying mu directly, the ideal gas reservoir
can be defined by its pressure P using the {pressure} keyword, in
which case the user-specified chemical potential is ignored. The user
may also specify the fugacity coefficient phi using the
{fugacity_coeff} keyword, which defaults to unity.
The {full_energy} option means that fix GCMC will compute the total
potential energy of the entire simulated system. The total system
energy before and after the proposed GCMC move is then used in the
Metropolis criterion to determine whether or not to accept the
proposed GCMC move. By default, this option is off, in which case
only partial energies are computed to determine the difference in
energy that would be caused by the proposed GCMC move.
proposed GCMC move. By default, this option is off, in which case only
partial energies are computed to determine the difference in energy
that would be caused by the proposed GCMC move.
The {full_energy} option is needed for systems with complicated
potential energy calculations, including the following:
@ -210,7 +256,7 @@ potential energy calculations, including the following:
many-body pair styles
hybrid pair styles
eam pair styles
triclinic systems
tail corrections
need to include potential energy contributions from other fixes :ul
In these cases, LAMMPS will automatically apply the {full_energy}
@ -219,42 +265,43 @@ keyword and issue a warning message.
When the {mol} keyword is used, the {full_energy} option also includes
the intramolecular energy of inserted and deleted molecules. If this
is not desired, the {intra_energy} keyword can be used to define an
amount of energy that is subtracted from the final energy when a molecule
is inserted, and added to the initial energy when a molecule is
deleted. For molecules that have a non-zero intramolecular energy, this
will ensure roughly the same behavior whether or not the {full_energy}
option is used.
amount of energy that is subtracted from the final energy when a
molecule is inserted, and added to the initial energy when a molecule
is deleted. For molecules that have a non-zero intramolecular energy,
this will ensure roughly the same behavior whether or not the
{full_energy} option is used.
Inserted atoms and molecules are assigned random velocities based on the
specified temperature T. Because the relative velocity of
all atoms in the molecule is zero, this may result in inserted molecules
that are systematically too cold. In addition, the intramolecular potential
energy of the inserted molecule may cause the kinetic energy
of the molecule to quickly increase or decrease after insertion.
The {tfac_insert} keyword allows the user to counteract these effects
by changing the temperature used to assign velocities to
inserted atoms and molecules by a constant factor. For a
particular application, some experimentation may be required
to find a value of {tfac_insert} that results in inserted molecules that
equilibrate quickly to the correct temperature.
Inserted atoms and molecules are assigned random velocities based on
the specified temperature T. Because the relative velocity of all
atoms in the molecule is zero, this may result in inserted molecules
that are systematically too cold. In addition, the intramolecular
potential energy of the inserted molecule may cause the kinetic energy
of the molecule to quickly increase or decrease after insertion. The
{tfac_insert} keyword allows the user to counteract these effects by
changing the temperature used to assign velocities to inserted atoms
and molecules by a constant factor. For a particular application, some
experimentation may be required to find a value of {tfac_insert} that
results in inserted molecules that equilibrate quickly to the correct
temperature.
Some fixes have an associated potential energy. Examples of such fixes
include: "efield"_fix_efield.html, "gravity"_fix_gravity.html,
"addforce"_fix_addforce.html, "langevin"_fix_langevin.html,
"restrain"_fix_restrain.html, "temp/berendsen"_fix_temp_berendsen.html,
"restrain"_fix_restrain.html,
"temp/berendsen"_fix_temp_berendsen.html,
"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html.
For that energy to be included in the total potential energy of the
system (the quantity used when performing GCMC moves),
you MUST enable the "fix_modify"_fix_modify.html {energy} option for
that fix. The doc pages for individual "fix"_fix.html commands
specify if this should be done.
system (the quantity used when performing GCMC moves), you MUST enable
the "fix_modify"_fix_modify.html {energy} option for that fix. The
doc pages for individual "fix"_fix.html commands specify if this
should be done.
Use the {charge} option to insert atoms with a user-specified point
charge. Note that doing so will cause the system to become non-neutral.
LAMMPS issues a warning when using long-range electrostatics (kspace)
with non-neutral systems. See the
"compute group/group"_compute_group_group.html documentation for more
details about simulating non-neutral systems with kspace on.
charge. Note that doing so will cause the system to become
non-neutral. LAMMPS issues a warning when using long-range
electrostatics (kspace) with non-neutral systems. See the "compute
group/group"_compute_group_group.html documentation for more details
about simulating non-neutral systems with kspace on.
Use of this fix typically will cause the number of atoms to fluctuate,
therefore, you will want to use the
@ -262,6 +309,24 @@ therefore, you will want to use the
current number of atoms is used as a normalizing factor each time
temperature is computed. Here is the necessary command:
NOTE: If the density of the cell is initially very small or zero, and
increases to a much larger density after a period of equilibration,
then certain quantities that are only calculated once at the start
(kspace parameters, tail corrections) may no longer be accurate. The
solution is to start a new simulation after the equilibrium density
has been reached.
With some pair_styles, such as "Buckingham"_pair_buck.html,
"Born-Mayer-Huggins"_pair_born.html and "ReaxFF"_pair_reaxc.html, two
atoms placed close to each other may have an arbitrary large, negative
potential energy due to the functional form of the potential. While
these unphysical configurations are inaccessible to typical dynamical
trajectories, they can be generated by Monte Carlo moves. The
{overlap_cutoff} keyword suppresses these moves by effectively
assigning an infinite positive energy to all new configurations that
place any pair of atoms closer than the specified overlap cutoff
distance.
compute_modify thermo_temp dynamic yes :pre
If LJ units are used, note that a value of 0.18292026 is used by this
@ -270,10 +335,10 @@ derived from LJ parameters for argon, where h* = h/sqrt(sigma^2 *
epsilon * mass), sigma = 3.429 angstroms, epsilon/k = 121.85 K, and
mass = 39.948 amu.
The {group} keyword assigns all inserted atoms to the "group"_group.html
of the group-ID value. The {grouptype} keyword assigns all
inserted atoms of the specified type to the "group"_group.html
of the group-ID value.
The {group} keyword assigns all inserted atoms to the
"group"_group.html of the group-ID value. The {grouptype} keyword
assigns all inserted atoms of the specified type to the
"group"_group.html of the group-ID value.
[Restart, fix_modify, output, run start/stop, minimize info:]
@ -321,19 +386,15 @@ well in parallel. Only usable for 3D simulations.
Note that very lengthy simulations involving insertions/deletions of
billions of gas molecules may run out of atom or molecule IDs and
trigger an error, so it is better to run multiple shorter-duration
simulations. Likewise, very large molecules have not been tested
and may turn out to be problematic.
simulations. Likewise, very large molecules have not been tested and
may turn out to be problematic.
Use of multiple fix gcmc commands in the same input script can be
problematic if using a template molecule. The issue is that the
user-referenced template molecule in the second fix gcmc command
may no longer exist since it might have been deleted by the first
fix gcmc command. An existing template molecule will need to be
referenced by the user for each subsequent fix gcmc command.
Because molecule insertion does not work in combination with
fix rigid, simulataneous use of fix rigid or fix rigid/small
with this fix is not allowed.
user-referenced template molecule in the second fix gcmc command may
no longer exist since it might have been deleted by the first fix gcmc
command. An existing template molecule will need to be referenced by
the user for each subsequent fix gcmc command.
[Related commands:]
@ -344,7 +405,8 @@ with this fix is not allowed.
[Default:]
The option defaults are mol = no, maxangle = 10, full_energy = no,
The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0,
fugacity_coeff = 1, and full_energy = no,
except for the situations where full_energy is required, as
listed above.

View File

@ -67,9 +67,10 @@ target value as the {Tstart} and {Tstop} arguments, so that the diffusion
matrix that gives canonical sampling for a given A is computed automatically.
However, the GLE framework also allow for non-equilibrium sampling, that
can be used for instance to model inexpensively zero-point energy
effects "(Ceriotti2)"_#Ceriotti2. This is achieved specifying the
{noneq} keyword followed by the name of the file that contains the
static covariance matrix for the non-equilibrium dynamics.
effects "(Ceriotti2)"_#Ceriotti2. This is achieved specifying the {noneq}
keyword followed by the name of the file that contains the static covariance
matrix for the non-equilibrium dynamics. Please note, that the covariance
matrix is expected to be given in [temperature units].
Since integrating GLE dynamics can be costly when used together with
simple potentials, one can use the {every} optional keyword to
@ -148,7 +149,7 @@ dpd/tstat"_pair_dpd.html, "fix gld"_fix_gld.html
1170-80 (2010)
:link(GLE4MD)
[(GLE4MD)] "http://epfl-cosmo.github.io/gle4md/"_http://epfl-cosmo.github.io/gle4md/
[(GLE4MD)] "http://gle4md.org/"_http://gle4md.org/
:link(Ceriotti2)
[(Ceriotti2)] Ceriotti, Bussi and Parrinello, Phys Rev Lett 103,

View File

@ -15,15 +15,16 @@ fix ID group-ID halt N attribute operator avalue keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
halt = style name of this fix command :l
N = check halt condition every N steps :l
attribute = hstyle or v_name :l
hstyle = {bondmax}
attribute = {bondmax} or {tlimit} or v_name :l
bondmax = length of longest bond in the system
tlimit = elapsed CPU time
v_name = name of "equal-style variable"_variable.html :pre
operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "|^" :l
avalue = numeric value to compare attribute to :l
string = text string to print with optional variable names :l
zero or more keyword/value pairs may be appended :l
keyword = {error} :l
{error} value = {hard} or {soft} or {continue} :pre
keyword = {error} or {message} :l
{error} value = {hard} or {soft} or {continue}
{message} value = {yes} or {no} :pre
:ule
[Examples:]
@ -40,14 +41,33 @@ specified by the "run"_run.html or "minimize"_minimize.html command.
The specified group-ID is ignored by this fix.
The specified {attribute} can be one of the {hstyle} options listed
above, or an "equal-style variable"_variable.html referenced as
{v_name}, where "name" is the name of a variable that has been defined
previously in the input script.
The specified {attribute} can be one of the options listed above,
namely {bondmax} or {tlimit}, or an "equal-style
variable"_variable.html referenced as {v_name}, where "name" is the
name of a variable that has been defined previously in the input
script.
The only {hstyle} option currently implemented is {bondmax}. This
will loop over all bonds in the system, compute their current
lengths, and set {attribute} to the longest bond distance.
The {bondmax} attribute will loop over all bonds in the system,
compute their current lengths, and set {attribute} to the longest bond
distance.
The {tlimit} attribute queries the elapsed CPU time (in seconds) since
the current run began, and sets {attribute} to that value. This is an
alternative way to limit the length of a simulation run, similar to
the "timer"_timer.html timeout command. There are two differences in
using this method versus the timer command option. The first is that
the clock starts at the beginning of the current run (not when the
timer or fix command is specified), so that any setup time for the run
is not included in the elapsed time. The second is that the timer
invocation and syncing across all processors (via MPI_Allreduce) is
not performed once every {N} steps by this command. Instead it is
performed (typically) only a small number of times and the elapsed
times are used to predict when the end-of-the-run will be. Both of
these attributes can be useful when performing benchmark calculations
for a desired length of time with minmimal overhead. For example, if
a run is performing 1000s of timesteps/sec, the overhead for syncing
the timer frequently across a large number of processors may be
non-negligble.
Equal-style variables evaluate to a numeric value. See the
"variable"_variable.html command for a description. They calculate
@ -100,6 +120,14 @@ Note that you may wish use the "unfix"_unfix.html command on the fix
halt ID, so that the same condition is not immediately triggered in a
subsequent run.
The optional {message} keyword determines whether a message is printed
to the screen and logfile when the halt condition is triggered. If
{message} is set to yes, a one line message with the values that
triggered the halt is printed. If {message} is set to no, no message
is printed; the run simply exits. The latter may be desirable for
post-processing tools that extract thermodyanmic information from log
files.
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
@ -118,4 +146,4 @@ This fix is not invoked during "energy minimization"_minimize.html.
[Default:]
The option defaults are error = hard.
The option defaults are error = hard and message = yes.

View File

@ -49,7 +49,7 @@ fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 :pre
[Description:]
Apply a Langevin thermostat as described in "(Schneider)"_#Schneider
Apply a Langevin thermostat as described in "(Schneider)"_#Schneider1
to a group of atoms which models an interaction with a background
implicit solvent. Used with "fix nve"_fix_nve.html, this command
performs Brownian dynamics (BD), since the total force on each atom
@ -80,7 +80,7 @@ dt damp), where Kb is the Boltzmann constant, T is the desired
temperature, m is the mass of the particle, dt is the timestep size,
and damp is the damping factor. Random numbers are used to randomize
the direction and magnitude of this force as described in
"(Dunweg)"_#Dunweg, where a uniform random number is used (instead of
"(Dunweg)"_#Dunweg1, where a uniform random number is used (instead of
a Gaussian random number) for speed.
Note that unless you use the {omega} or {angmom} keywords, the
@ -332,10 +332,10 @@ types, tally = no, zero = no, gjf = no.
:line
:link(Dunweg)
:link(Dunweg1)
[(Dunweg)] Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
:link(Schneider)
:link(Schneider1)
[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978).
:link(Gronbech-Jensen)

View File

@ -41,7 +41,7 @@ fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes :pre
[Description:]
Apply two Langevin thermostats as described in "(Jiang)"_#Jiang for
Apply two Langevin thermostats as described in "(Jiang)"_#Jiang1 for
thermalizing the reduced degrees of freedom of Drude oscillators.
This link describes how to use the "thermalized Drude oscillator
model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS
@ -268,6 +268,6 @@ The option defaults are zero = no.
:line
:link(Jiang)
:link(Jiang1)
[(Jiang)] Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J
Phys Chem Lett, 2, 87-92 (2011).

View File

@ -37,7 +37,7 @@ fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 :pre
[Description:]
Apply a Langevin thermostat as described in "(Schneider)"_#Schneider
Apply a Langevin thermostat as described in "(Schneider)"_#Schneider2
to a group of nuclei and electrons in the "electron force
field"_pair_eff.html model. Used with "fix nve/eff"_fix_nve_eff.html,
this command performs Brownian dynamics (BD), since the total force on
@ -106,8 +106,8 @@ The option defaults are scale = 1.0 for all types and tally = no.
:line
:link(Dunweg)
:link(Dunweg2)
[(Dunweg)] Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
:link(Schneider)
:link(Schneider2)
[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978).

View File

@ -24,7 +24,7 @@ fix 1 all lb/pc :pre
Update the positions and velocities of the individual particles
described by {group-ID}, experiencing velocity-dependent hydrodynamic
forces, using the integration algorithm described in "Mackay et
al."_#Mackay. This integration algorithm should only be used if a
al."_#Mackay1. This integration algorithm should only be used if a
user-specified value for the force-coupling constant used in "fix
lb/fluid"_fix_lb_fluid.html has been set; do not use this integration
algorithm if the force coupling constant has been set by default.
@ -58,5 +58,5 @@ lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html
:line
:link(Mackay)
:link(Mackay1)
[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

View File

@ -44,7 +44,7 @@ hydrodynamic forces to the particles.
:line
For further details, as well as descriptions and results of several
test runs, see "Mackay et al."_#Mackay. Please include a citation to
test runs, see "Mackay et al."_#Mackay3. Please include a citation to
this paper if this fix is used in work contributing to published
research.
@ -90,5 +90,5 @@ lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html
:line
:link(Mackay)
:link(Mackay3)
[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031.

View File

@ -14,11 +14,13 @@ fix_modify fix-ID keyword value ... :pre
fix-ID = ID of the fix to modify :ulb,l
one or more keyword/value pairs may be appended :l
keyword = {temp} or {press} or {energy} or {respa} :l
keyword = {temp} or {press} or {energy} or {respa} or {dynamic/dof} :l
{temp} value = compute ID that calculates a temperature
{press} value = compute ID that calculates a pressure
{energy} value = {yes} or {no}
{respa} value = {1} to {max respa level} or {0} (for outermost level) :pre
{respa} value = {1} to {max respa level} or {0} (for outermost level)
{dynamic/dof} value = {yes} or {no}
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature :pre
:ule
[Examples:]
@ -78,6 +80,27 @@ enabled to support this feature; if not, {fix_modify} will report an
error. Active fixes with a custom RESPA level setting are reported
with their specified level at the beginning of a r-RESPA run.
The {dynamic/dof} keyword determines whether the number of atoms N in
the fix group and their associated degrees of freedom are re-computed
each time a temperature is computed. Only fix styles that calculate
their own internal temperature use this option. Currently this is
only the "fix rigid/nvt/small"_fix_rigid.html and "fix
rigid/npt/small"_fix_rigid.html commands for the purpose of
thermostatting rigid body translation and rotation. By default, N and
their DOF are assumed to be constant. If you are adding atoms or
molecules to the system (see the "fix pour"_fix_pour.html, "fix
deposit"_fix_deposit.html, and "fix gcmc"_fix_gcmc.html commands) or
expect atoms or molecules to be lost (e.g. due to exiting the
simulation box or via "fix evaporate"_fix_evaporate.html), then
this option should be used to insure the temperature is correctly
normalized.
NOTE: Other thermostatting fixes, such as "fix nvt"_fix_nh.html, do
not use the {dynamic/dof} keyword because they use a temperature
compute to calculate temperature. See the "compute_modify
dynamic/dof"_compute_modify.html command for a similar way to insure
correct temperature normalization for those thermostats.
[Restrictions:] none
[Related commands:]

View File

@ -466,16 +466,6 @@ to undergo a slow random walk. This can be mitigated by resetting
the momentum at infrequent intervals using the
"fix momentum"_fix_momentum.html command.
NOTE: This implementation has been shown to conserve linear momentum
up to machine precision under NVT dynamics. Under NPT dynamics,
for a system with zero initial total linear momentum, the total
momentum fluctuates close to zero. It may occasionally undergo brief
excursions to non-negligible values, before returning close to zero.
Over long simulations, this has the effect of causing the center-of-mass
to undergo a slow random walk. This can be mitigated by resetting
the momentum at infrequent intervals using the
"fix momentum"_fix_momentum.html command.
:line
The fix npt and fix nph commands can be used with rigid bodies or

View File

@ -128,15 +128,15 @@ ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none.
:line
:link(Martyna)
:link(Martyna1)
[(Martyna)] Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).
:link(Parrinello)
[(Parrinello)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
:link(Tuckerman)
:link(Tuckerman1)
[(Tuckerman)] Tuckerman, Alejandre, Lopez-Rendon, Jochim, and
Martyna, J Phys A: Math Gen, 39, 5629 (2006).
:link(Shinoda)
:link(Shinoda2)
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

View File

@ -13,14 +13,17 @@ fix nph/sphere/omp command :h3
fix ID group-ID nph/sphere args keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command
nph/sphere = style name of this fix command
additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nph/sphere = style name of this fix command :l
keyword = {disc} :l
{disc} value = none = treat particles as 2d discs, not spheres :pre
additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :l,ule
[Examples:]
fix 1 all nph/sphere iso 0.0 0.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0
fix 2 all nph/sphere x 5.0 5.0 1000.0 disc
fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial :pre
@ -35,6 +38,12 @@ isenthalpic ensemble.
This fix differs from the "fix nph"_fix_nh.html command, which assumes
point particles and only updates their position and velocity.
If the {disc} keyword is used, then each particle is treated as a 2d
disc (circle) instead of as a sphere. This is only possible for 2d
simulations, as defined by the "dimension"_dimension.html keyword.
The only difference between discs and spheres in this context is their
moment of inertia, as used in the time integration.
Additional parameters affecting the barostat are specified by keywords
and values documented with the "fix nph"_fix_nh.html command. See,
for example, discussion of the {aniso}, and {dilate} keywords.
@ -139,6 +148,9 @@ command.
All particles in the group must be finite-size spheres. They cannot
be point particles.
Use of the {disc} keyword is only allowed for 2d simulations, as
defined by the "dimension"_dimension.html keyword.
[Related commands:]
"fix nph"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix

View File

@ -49,7 +49,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pch
This command is a variant of the Nose-Hoover
"fix npt"_fix_nh.html fix style.
It performs time integration of the Hugoniostat equations
of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo.
of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo1.
These equations compress the system to a state with average
axial stress or pressure equal to the specified target value
and that satisfies the Rankine-Hugoniot (RH)
@ -225,5 +225,5 @@ The keyword defaults are the same as those for "fix npt"_fix_nh.html
:line
:link(Ravelo)
:link(Ravelo1)
[(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).

View File

@ -15,12 +15,17 @@ fix ID group-ID npt/sphere keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command
npt/sphere = style name of this fix command
additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul
zero or more keyword/value pairs may be appended :l
keyword = {disc} :l
{disc} value = none = treat particles as 2d discs, not spheres :pre
additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :l,ule
[Examples:]
fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 disc
fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre
@ -42,6 +47,12 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
If the {disc} keyword is used, then each particle is treated as a 2d
disc (circle) instead of as a sphere. This is only possible for 2d
simulations, as defined by the "dimension"_dimension.html keyword.
The only difference between discs and spheres in this context is their
moment of inertia, as used in the time integration.
Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the "fix
npt"_fix_nh.html command. See, for example, discussion of the {temp},
@ -163,6 +174,9 @@ command.
All particles in the group must be finite-size spheres. They cannot
be point particles.
Use of the {disc} keyword is only allowed for 2d simulations, as
defined by the "dimension"_dimension.html keyword.
[Related commands:]
"fix npt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix

View File

@ -22,11 +22,11 @@ fix 1 all nve/dot :pre
[Description:]
Apply a rigid-body integrator as described in "(Davidchack)"_#Davidchack
Apply a rigid-body integrator as described in "(Davidchack)"_#Davidchack1
to a group of atoms, but without Langevin dynamics.
This command performs Molecular dynamics (MD)
via a velocity-Verlet algorithm and an evolution operator that rotates
the quaternion degrees of freedom, similar to the scheme outlined in "(Miller)"_#Miller.
the quaternion degrees of freedom, similar to the scheme outlined in "(Miller)"_#Miller1.
This command is the equivalent of the "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
without damping and noise and can be used to determine the stability range
@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
:line
:link(Davidchack)
:link(Davidchack1)
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, and M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
:link(Miller)
:link(Miller1)
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).

View File

@ -29,14 +29,14 @@ fix 1 all nve/dotc/langevin 1.0 1.0 0.03 457145 angmom 10 :pre
[Description:]
Apply a rigid-body Langevin-type integrator of the kind "Langevin C"
as described in "(Davidchack)"_#Davidchack
as described in "(Davidchack)"_#Davidchack2
to a group of atoms, which models an interaction with an implicit background
solvent. This command performs Brownian dynamics (BD)
via a technique that splits the integration into a deterministic Hamiltonian
part and the Ornstein-Uhlenbeck process for noise and damping.
The quaternion degrees of freedom are updated though an evolution
operator which performs a rotation in quaternion space, preserves
the quaternion norm and is akin to "(Miller)"_#Miller.
the quaternion norm and is akin to "(Miller)"_#Miller2.
In terms of syntax this command has been closely modelled on the
"fix langevin"_fix_langevin.html and its {angmom} option. But it combines
@ -72,7 +72,7 @@ dt damp), where Kb is the Boltzmann constant, T is the desired
temperature, m is the mass of the particle, dt is the timestep size,
and damp is the damping factor. Random numbers are used to randomize
the direction and magnitude of this force as described in
"(Dunweg)"_#Dunweg, where a uniform random number is used (instead of
"(Dunweg)"_#Dunweg3, where a uniform random number is used (instead of
a Gaussian random number) for speed.
:line
@ -126,9 +126,9 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
:line
:link(Davidchack)
:link(Davidchack2)
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
:link(Miller)
:link(Miller2)
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
:link(Dunweg)
:link(Dunweg3)
[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991).

View File

@ -33,7 +33,7 @@ fix step all nve/manifold/rattle 1e-8 100 ellipsoid 2.5 2.5 5.0 every 25 :pre
Perform constant NVE integration to update position and velocity for
atoms constrained to a curved surface (manifold) in the group each
timestep. The constraint is handled by RATTLE "(Andersen)"_#Andersen
timestep. The constraint is handled by RATTLE "(Andersen)"_#Andersen1
written out for the special case of single-particle constraints as
explained in "(Paquay)"_#Paquay2. V is volume; E is energy. This way,
the dynamics of particles constrained to curved surfaces can be
@ -92,7 +92,7 @@ manifoldforce"_fix_manifoldforce.html
:line
:link(Andersen)
:link(Andersen1)
[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983).
:link(Paquay2)

View File

@ -16,16 +16,18 @@ fix ID group-ID nve/sphere :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nve/sphere = style name of this fix command :l
zero or more keyword/value pairs may be appended :l
keyword = {update}
keyword = {update} or {disc} :l
{update} value = {dipole} or {dipole/dlm}
dipole = update orientation of dipole moment during integration
dipole/dlm = use DLM integrator to update dipole orientation :pre
dipole/dlm = use DLM integrator to update dipole orientation
{disc} value = none = treat particles as 2d discs, not spheres :pre
:ule
[Examples:]
fix 1 all nve/sphere
fix 1 all nve/sphere update dipole
fix 1 all nve/sphere disc
fix 1 all nve/sphere update dipole/dlm :pre
[Description:]
@ -52,6 +54,12 @@ Dullweber-Leimkuhler-McLachlan integration scheme
giving better energy conservation and allows slightly longer timesteps
at only a small additional computational cost.
If the {disc} keyword is used, then each particle is treated as a 2d
disc (circle) instead of as a sphere. This is only possible for 2d
simulations, as defined by the "dimension"_dimension.html keyword.
The only difference between discs and spheres in this context is their
moment of inertia, as used in the time integration.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
@ -98,6 +106,9 @@ command.
All particles in the group must be finite-size spheres. They cannot
be point particles.
Use of the {disc} keyword is only allowed for 2d simulations, as
defined by the "dimension"_dimension.html keyword.
[Related commands:]
"fix nve"_fix_nve.html, "fix nve/asphere"_fix_nve_asphere.html

View File

@ -37,7 +37,7 @@ fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0
[Description:]
This fix combines the RATTLE-based "(Andersen)"_#Andersen time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the
This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the
canonical ensemble of particles constrained to a curved surface (manifold). This sampling does suffer from discretization bias of O(dt).
For a list of currently supported manifolds and their parameters, see "manifolds"_manifolds.html
@ -72,7 +72,7 @@ section for more info.
:line
:link(Andersen)
:link(Andersen2)
[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983).
:link(Paquay3)

View File

@ -54,9 +54,9 @@ by fix nvt/sllod. LAMMPS will give an error if this setting is not
consistent.
The SLLOD equations of motion, originally proposed by Hoover and Ladd
(see "(Evans and Morriss)"_#Evans), were proven to be equivalent to
(see "(Evans and Morriss)"_#Evans3), were proven to be equivalent to
Newton's equations of motion for shear flow by "(Evans and
Morriss)"_#Evans. They were later shown to generate the desired
Morriss)"_#Evans3. They were later shown to generate the desired
velocity gradient and the correct production of work by stresses for
all forms of homogeneous flow by "(Daivis and Todd)"_#Daivis. As
implemented in LAMMPS, they are coupled to a Nose/Hoover chain
@ -173,7 +173,7 @@ Same as "fix nvt"_fix_nh.html, except tchain = 1.
:line
:link(Evans)
:link(Evans3)
[(Evans and Morriss)] Evans and Morriss, Phys Rev A, 30, 1528 (1984).
:link(Daivis)

View File

@ -89,6 +89,6 @@ Same as "fix nvt/eff"_fix_nh_eff.html, except tchain = 1.
:line
:link(Tuckerman)
:link(Tuckerman2)
[(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys,
106, 5615 (1997).

View File

@ -13,13 +13,17 @@ fix nvt/sphere/omp command :h3
fix ID group-ID nvt/sphere keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command
nvt/sphere = style name of this fix command
additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nvt/sphere = style name of this fix command :l
zero or more keyword/value pairs may be appended :l
keyword = {disc} :l
{disc} value = none = treat particles as 2d discs, not spheres :pre
additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :l,ule
[Examples:]
fix 1 all nvt/sphere temp 300.0 300.0 100.0
fix 1 all nvt/sphere temp 300.0 300.0 100.0 disc
fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2 :pre
[Description:]
@ -40,6 +44,12 @@ degrees of freedom (see below). The translational degrees of freedom
can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
If the {disc} keyword is used, then each particle is treated as a 2d
disc (circle) instead of as a sphere. This is only possible for 2d
simulations, as defined by the "dimension"_dimension.html keyword.
The only difference between discs and spheres in this context is their
moment of inertia, as used in the time integration.
Additional parameters affecting the thermostat are specified by
keywords and values documented with the "fix nvt"_fix_nh.html
command. See, for example, discussion of the {temp} and {drag}
@ -140,6 +150,9 @@ command.
All particles in the group must be finite-size spheres. They cannot
be point particles.
Use of the {disc} keyword is only allowed for 2d simulations, as
defined by the "dimension"_dimension.html keyword.
[Related commands:]
"fix nvt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix

View File

@ -117,6 +117,12 @@ treated as rigid bodies, use the {rigid} keyword, specifying as its
value the ID of a separate "fix rigid/small"_fix_rigid.html
command which also appears in your input script.
NOTE: If you wish the new rigid molecules (and other rigid molecules)
to be thermostatted correctly via "fix rigid/small/nvt"_fix_rigid.html
or "fix rigid/small/npt"_fix_rigid.html, then you need to use the
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
inform that fix that the molecule count will vary dynamically.
If you wish to insert molecules via the {mol} keyword, that will have
their bonds or angles constrained via SHAKE, use the {shake} keyword,
specifying as its value the ID of a separate "fix

View File

@ -35,7 +35,7 @@ fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial :pre
[Description:]
Reset the pressure of the system by using a Berendsen barostat
"(Berendsen)"_#Berendsen, which rescales the system volume and
"(Berendsen)"_#Berendsen1, which rescales the system volume and
(optionally) the atoms coordinates within the simulation box every
timestep.
@ -221,7 +221,7 @@ pressure for whatever "units"_units.html are defined.
:line
:link(Berendsen)
:link(Berendsen1)
[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem
Phys, 81, 3684 (1984).

76
doc/src/fix_python.txt Normal file
View File

@ -0,0 +1,76 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix python command :h3
[Syntax:]
fix ID group-ID python N callback function_name :pre
ID, group-ID are ignored by this fix :ulb,l
python = style name of this fix command :l
N = execute every N steps :l
callback = {post_force} or {end_of_step} :l
{post_force} = callback after force computations on atoms every N time steps
{end_of_step} = callback after every N time steps :pre
:ule
[Examples:]
python post_force_callback here """
from lammps import lammps :pre
def post_force_callback(lammps_ptr, vflag):
lmp = lammps(ptr=lammps_ptr)
# access LAMMPS state using Python interface
""" :pre
python end_of_step_callback here """
def end_of_step_callback(lammps_ptr):
lmp = lammps(ptr=lammps_ptr)
# access LAMMPS state using Python interface
""" :pre
fix pf all python 50 post_force post_force_callback
fix eos all python 50 end_of_step end_of_step_callback :pre
[Description:]
This fix allows you to call a Python function during a simulation run.
The callback is either executed after forces have been applied to atoms
or at the end of every N time steps.
Callback functions must be declared in the global scope of the
active Python interpreter. This can either be done by defining it
inline using the python command or by importing functions from other
Python modules. If LAMMPS is driven using the library interface from
Python, functions defined in the driving Python interpreter can also
be executed.
Each callback is given a pointer object as first argument. This can be
used to initialize an instance of the lammps Python interface, which
gives access to the LAMMPS state from Python.
IMPORTANT NOTE: While you can access the state of LAMMPS via library functions
from these callbacks, trying to execute input script commands will in the best
case not work or in the worst case result in undefined behavior.
[Restrictions:]
This fix is part of the PYTHON package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
Building LAMMPS with the PYTHON package will link LAMMPS with the
Python library on your system. Settings to enable this are in the
lib/python/Makefile.lammps file. See the lib/python/README file for
information on those settings.
[Related commands:]
"python command"_python.html

View File

@ -43,8 +43,8 @@ fix 1 all qeq/fire 1 10 1.0e-3 100 my_qeq qdamp 0.2 qstep 0.1 :pre
[Description:]
Perform the charge equilibration (QEq) method as described in "(Rappe
and Goddard)"_#Rappe and formulated in "(Nakano)"_#Nakano (also known
as the matrix inversion method) and in "(Rick and Stuart)"_#Rick (also
and Goddard)"_#Rappe1 and formulated in "(Nakano)"_#Nakano1 (also known
as the matrix inversion method) and in "(Rick and Stuart)"_#Rick1 (also
known as the extended Lagrangian method) based on the
electronegativity equilization principle.
@ -74,7 +74,7 @@ NOTE: The "fix qeq/comb"_fix_qeq_comb.html command must still be used
to perform charge equilibration with the "COMB
potential"_pair_comb.html. The "fix qeq/reax"_fix_qeq_reax.html
command can be used to perform charge equilibration with the "ReaxFF
force field"_pair_reax_c.html, although fix qeq/shielded yields the
force field"_pair_reaxc.html, although fix qeq/shielded yields the
same results as fix qeq/reax if {Nevery}, {cutoff}, and {tolerance}
are the same. Eventually the fix qeq/reax command will be deprecated.
@ -97,8 +97,8 @@ below, thus the others can be set to 0.0 if desired.
{chi} = electronegativity in energy units
{eta} = self-Coulomb potential in energy units
{gamma} = shielded Coulomb constant defined by "ReaxFF force field"_#vanDuin in distance units
{zeta} = Slater type orbital exponent defined by the "Streitz-Mintmire"_#Streitz potential in reverse distance units
{qcore} = charge of the nucleus defined by the "Streitz-Mintmire potential"_#Streitz potential in charge units :ul
{zeta} = Slater type orbital exponent defined by the "Streitz-Mintmire"_#Streitz1 potential in reverse distance units
{qcore} = charge of the nucleus defined by the "Streitz-Mintmire potential"_#Streitz1 potential in charge units :ul
The {qeq/point} style describes partial charges on atoms as point
charges. Interaction between a pair of charged particles is 1/r,
@ -116,7 +116,7 @@ the shielded Coulomb is given by equation (13) of the "ReaxFF force
field"_#vanDuin paper. The shielding accounts for charge overlap
between charged particles at small separation. This style is the same
as "fix qeq/reax"_fix_qeq_reax.html, and can be used with "pair_style
reax/c"_pair_reax_c.html. Only the {chi}, {eta}, and {gamma}
reax/c"_pair_reaxc.html. Only the {chi}, {eta}, and {gamma}
parameters from the {qfile} file are used. This style solves partial
charges on atoms via the matrix inversion method. A tolerance of
1.0e-6 is usually a good number.
@ -126,7 +126,7 @@ charge densities centered around atoms via the Slater 1{s} orbital, so
that the interaction between a pair of charged particles is the
product of two Slater 1{s} orbitals. The expression for the Slater
1{s} orbital is given under equation (6) of the
"Streitz-Mintmire"_#Streitz paper. Only the {chi}, {eta}, {zeta}, and
"Streitz-Mintmire"_#Streitz1 paper. Only the {chi}, {eta}, {zeta}, and
{qcore} parameters from the {qfile} file are used. This style solves
partial charges on atoms via the matrix inversion method. A tolerance
of 1.0e-6 is usually a good number. Keyword {alpha} can be used to
@ -194,18 +194,18 @@ LAMMPS"_Section_start.html#start_3 section for more info.
:line
:link(Rappe)
:link(Rappe1)
[(Rappe and Goddard)] A. K. Rappe and W. A. Goddard III, J Physical
Chemistry, 95, 3358-3363 (1991).
:link(Nakano)
:link(Nakano1)
[(Nakano)] A. Nakano, Computer Physics Communications, 104, 59-69 (1997).
:link(Rick)
:link(Rick1)
[(Rick and Stuart)] S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics
101, 16141 (1994).
:link(Streitz)
:link(Streitz1)
[(Streitz-Mintmire)] F. H. Streitz, J. W. Mintmire, Physical Review B, 50,
16, 11996 (1994)

View File

@ -28,21 +28,21 @@ fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq :pre
[Description:]
Perform the charge equilibration (QEq) method as described in "(Rappe
and Goddard)"_#Rappe and formulated in "(Nakano)"_#Nakano. It is
and Goddard)"_#Rappe2 and formulated in "(Nakano)"_#Nakano2. It is
typically used in conjunction with the ReaxFF force field model as
implemented in the "pair_style reax/c"_pair_reax_c.html command, but
implemented in the "pair_style reax/c"_pair_reaxc.html command, but
it can be used with any potential in LAMMPS, so long as it defines and
uses charges on each atom. The "fix qeq/comb"_fix_qeq_comb.html
command should be used to perform charge equilibration with the "COMB
potential"_pair_comb.html. For more technical details about the
charge equilibration performed by fix qeq/reax, see the
"(Aktulga)"_#Aktulga paper.
"(Aktulga)"_#qeq-Aktulga paper.
The QEq method minimizes the electrostatic energy of the system by
adjusting the partial charge on individual atoms based on interactions
with their neighbors. It requires some parameters for each atom type.
If the {params} setting above is the word "reax/c", then these are
extracted from the "pair_style reax/c"_pair_reax_c.html command and
extracted from the "pair_style reax/c"_pair_reaxc.html command and
the ReaxFF force field file it reads in. If a file name is specified
for {params}, then the parameters are taken from the specified file
and the file must contain one line for each atom type. The latter
@ -106,19 +106,19 @@ be used for periodic cell dimensions less than 10 angstroms.
[Related commands:]
"pair_style reax/c"_pair_reax_c.html
"pair_style reax/c"_pair_reaxc.html
[Default:] none
:line
:link(Rappe)
:link(Rappe2)
[(Rappe)] Rappe and Goddard III, Journal of Physical Chemistry, 95,
3358-3363 (1991).
:link(Nakano)
:link(Nakano2)
[(Nakano)] Nakano, Computer Physics Communications, 104, 59-69 (1997).
:link(Aktulga)
(Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38,
:link(qeq-Aktulga)
[(Aktulga)] Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38,
245-259 (2012).

View File

@ -28,13 +28,30 @@ fix 1 all reax/c/bonds 100 bonds.reaxc :pre
Write out the bond information computed by the ReaxFF potential
specified by "pair_style reax"_pair_reax.html or "pair_style
reax/c"_pair_reax_c.html in the exact same format as the original
reax/c"_pair_reaxc.html in the exact same format as the original
stand-alone ReaxFF code of Adri van Duin. The bond information is
written to {filename} on timesteps that are multiples of {Nevery},
including timestep 0. For time-averaged chemical species analysis,
please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
The format of the output file should be self-explanatory.
The format of the output file should be reasonably self-explanatory.
The meaning of the column header abbreviations is as follows:
id = atom id
type = atom type
nb = number of bonds
id_1 = atom id of first bond
id_nb = atom id of Nth bond
mol = molecule id
bo_1 = bond order of first bond
bo_nb = bond order of Nth bond
abo = atom bond order (sum of all bonds)
nlp = number of lone pairs
q = atomic charge :ul
If the filename ends with ".gz", the output file is written in gzipped
format. A gzipped dump file will be about 3x smaller than the text
version, but will also take longer to write.
:line
@ -80,14 +97,17 @@ reax"_pair_reax.html be invoked. This fix is part of the REAX
package. It is only enabled if LAMMPS was built with that package,
which also requires the REAX library be built and linked with LAMMPS.
The fix reax/c/bonds command requires that the "pair_style
reax/c"_pair_reax_c.html be invoked. This fix is part of the
reax/c"_pair_reaxc.html be invoked. This fix is part of the
USER-REAXC package. It is only enabled if LAMMPS was built with that
package. See the "Making LAMMPS"_Section_start.html#start_3 section
for more info.
To write gzipped bond files, you must compile LAMMPS with the
-DLAMMPS_GZIP option.
[Related commands:]
"pair_style reax"_pair_reax.html, "pair_style
reax/c"_pair_reax_c.html, "fix reax/c/species"_fix_reaxc_species.html
reax/c"_pair_reaxc.html, "fix reax/c/species"_fix_reaxc_species.html
[Default:] none

View File

@ -41,7 +41,7 @@ fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH
[Description:]
Write out the chemical species information computed by the ReaxFF
potential specified by "pair_style reax/c"_pair_reax_c.html.
potential specified by "pair_style reax/c"_pair_reaxc.html.
Bond-order values (either averaged or instantaneous, depending on
value of {Nrepeat}) are used to determine chemical bonds. Every
{Nfreq} timesteps, chemical species information is written to
@ -52,6 +52,10 @@ number of molecules of each species. In this context, "species" means
a unique molecule. The chemical formula of each species is given in
the first line.
If the filename ends with ".gz", the output file is written in gzipped
format. A gzipped dump file will be about 3x smaller than the text version,
but will also take longer to write.
Optional keyword {cutoff} can be assigned to change the minimum
bond-order values used in identifying chemical bonds between pairs of
atoms. Bond-order cutoffs should be carefully chosen, as bond-order
@ -65,7 +69,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must
match the number of LAMMPS atom types and each symbol must consist of
1 or 2 alphanumeric characters. Normally, these symbols should be
chosen to match the chemical identity of each LAMMPS atom type, as
specified using the "reax/c pair_coeff"_pair_reax_c.html command and
specified using the "reax/c pair_coeff"_pair_reaxc.html command and
the ReaxFF force field file.
The optional keyword {position} writes center-of-mass positions of
@ -158,19 +162,22 @@ more instructions on how to use the accelerated styles effectively.
[Restrictions:]
The fix species currently only works with
"pair_style reax/c"_pair_reax_c.html and it requires that the "pair_style
reax/c"_pair_reax_c.html be invoked. This fix is part of the
"pair_style reax/c"_pair_reaxc.html and it requires that the "pair_style
reax/c"_pair_reaxc.html be invoked. This fix is part of the
USER-REAXC package. It is only enabled if LAMMPS was built with that
package. See the "Making LAMMPS"_Section_start.html#start_3 section
for more info.
To write gzipped species files, you must compile LAMMPS with the
-DLAMMPS_GZIP option.
It should be possible to extend it to other reactive pair_styles (such as
"rebo"_pair_airebo.html, "airebo"_pair_airebo.html,
"comb"_pair_comb.html, and "bop"_pair_bop.html), but this has not yet been done.
[Related commands:]
"pair_style reax/c"_pair_reax_c.html, "fix
"pair_style reax/c"_pair_reaxc.html, "fix
reax/bonds"_fix_reax_bonds.html
[Default:]

View File

@ -93,7 +93,7 @@ Examples of large rigid bodies are a colloidal particle, or portions
of a biomolecule such as a protein.
Example of small rigid bodies are patchy nanoparticles, such as those
modeled in "this paper"_#Zhang by Sharon Glotzer's group, clumps of
modeled in "this paper"_#Zhang1 by Sharon Glotzer's group, clumps of
granular particles, lipid molecules consiting of one or more point
dipoles connected to other spheroids or ellipsoids, irregular
particles built from line segments (2d) or triangles (3d), and
@ -299,12 +299,12 @@ perform constant NVE time integration. They are referred to below as
the 4 NVE rigid styles. The only difference is that the {rigid} and
{rigid/small} styles use an integration technique based on Richardson
iterations. The {rigid/nve} and {rigid/small/nve} styles uses the
methods described in the paper by "Miller"_#Miller, which are thought
methods described in the paper by "Miller"_#Miller3, which are thought
to provide better energy conservation than an iterative approach.
The {rigid/nvt} and {rigid/nvt/small} styles performs constant NVT
integration using a Nose/Hoover thermostat with chains as described
originally in "(Hoover)"_#Hoover and "(Martyna)"_#Martyna, which
originally in "(Hoover)"_#Hoover and "(Martyna)"_#Martyna2, which
thermostats both the translational and rotational degrees of freedom
of the rigid bodies. They are referred to below as the 2 NVT rigid
styles. The rigid-body algorithm used by {rigid/nvt} is described in
@ -788,13 +788,13 @@ torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3.
:link(Kamberaj)
[(Kamberaj)] Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).
:link(Martyna)
:link(Martyna2)
[(Martyna)] Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992);
Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.
:link(Miller)
:link(Miller3)
[(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns,
J Chem Phys, 116, 8649 (2002).
:link(Zhang)
:link(Zhang1)
[(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).

View File

@ -53,7 +53,7 @@ velocities are approximated as finite differences to the trajectories
integrated explicitly, as with velocity Verlet which is what LAMMPS
uses as an integration method, a second set of constraining forces is
required in order to eliminate velocity components along the bonds
("Andersen (1983)"_#Andersen).
("Andersen (1983)"_#Andersen3).
In order to formulate individual constraints for SHAKE and RATTLE,
focus on a single molecule whose bonds are constrained. Let Ri and Vi
@ -171,7 +171,7 @@ more instructions on how to use the accelerated styles effectively.
The velocity constraints lead to a linear system of equations which
can be solved analytically. The implementation of the algorithm in
LAMMPS closely follows ("Andersen (1983)"_#Andersen).
LAMMPS closely follows ("Andersen (1983)"_#Andersen3).
NOTE: The fix rattle command modifies forces and velocities and thus
should be defined after all other integration fixes in your input
@ -223,5 +223,5 @@ SHAKE or RATTLE should not be used to constrain an angle at 180 degrees
[(Ryckaert)] J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen,
J of Comp Phys, 23, 327-341 (1977).
:link(Andersen)
:link(Andersen3)
[(Andersen)] H. Andersen, J of Comp Phys, 52, 24-34 (1983).

View File

@ -30,7 +30,7 @@ nve"_fix_nve.html or "fix nph"_fix_nh.html). The stochastic
integration of the dissipative and random forces is performed prior to
the deterministic integration of the conservative force. Further
details regarding the method are provided in "(Lisal)"_#Lisal and
"(Larentzos1)"_#Larentzos1.
"(Larentzos1)"_#Larentzos1sh.
The fix {shardlow} must be used with the "pair_style
dpd/fdt"_pair_style.html or "pair_style
@ -83,13 +83,13 @@ particle dynamics as isothermal, isobaric, isoenergetic, and
isoenthalpic conditions using Shardlow-like splitting algorithms.",
J. Chem. Phys., 135, 204105 (2011).
:link(Larentzos1)
:link(Larentzos1sh)
[(Larentzos1)] J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and
W.D. Mattson, "Parallel Implementation of Isothermal and Isoenergetic
Dissipative Particle Dynamics Using Shardlow-Like Splitting
Algorithms", Comput. Phys. Commun., 185, 1987-1998 (2014).
:link(Larentzos2)
:link(Larentzos2sh)
[(Larentzos2)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research

View File

@ -72,7 +72,7 @@ viscosity"_fix_viscosity.html, and "fix nvt/sllod"_fix_nvt_sllod.html,
can be used in conjunction with the SRD model.
For more details on how the SRD model is implemented in LAMMPS, "this
paper"_#Petersen describes the implementation and usage of pure SRD
paper"_#Petersen1 describes the implementation and usage of pure SRD
fluids. "This paper"_#Lechman, which is nearly complete, describes
the implementation and usage of mixture systems (solute particles in
an SRD fluid). See the examples/srd directory for sample input
@ -390,7 +390,7 @@ rescale = yes.
:link(Hecht)
[(Hecht)] Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005).
:link(Petersen)
:link(Petersen1)
[(Petersen)] Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J
Chem Phys, 132, 174106 (2010).

View File

@ -26,7 +26,7 @@ fix 1 all temp/berendsen 300.0 300.0 100.0 :pre
[Description:]
Reset the temperature of a group of atoms by using a Berendsen
thermostat "(Berendsen)"_#Berendsen, which rescales their velocities
thermostat "(Berendsen)"_#Berendsen2, which rescales their velocities
every timestep.
The thermostat is applied to only the translational degrees of freedom
@ -157,7 +157,7 @@ temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html,
:line
:link(Berendsen)
:link(Berendsen2)
[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem
Phys, 81, 3684 (1984).

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