Compare commits

...

346 Commits

Author SHA1 Message Date
52bec0f380 patch 10Aug17 2017-08-10 16:44:09 -06:00
f68c6254d4 Merge pull request #611 from akohlmey/final-tweaks
More tweaks for stable release
2017-08-10 08:02:55 -06:00
146aa4cdbd fall back to wget when curl is not available 2017-08-10 09:05:23 -04:00
2f3747eb6e we need to override compiler flags in lib/voronoi/Install.py
The default compiler flags in voro++'s config.mk file do not include
-fPIC, which makes it incompatible with building the shared object for
the python wrapper.
2017-08-10 08:34:46 -04:00
2bc6ad80d4 avoid writable string and deprecated implicit conversion warning 2017-08-10 07:45:21 -04:00
f9a515efd3 add some remarks about makefile settings on windows 2017-08-10 07:24:24 -04:00
5b55744209 fix a header line formatting issue 2017-08-10 07:21:39 -04:00
0dc3cbaa8a Revert "remove -DLAMMPS_MEMALIGN from "make mpi" and "make serial" for increased portability"
This reverts commit 4e97b57508.
2017-08-10 06:51:57 -04:00
ce62c41252 when recomputing special bonds, make certain we do not shrink atom->maxspecial and add force->special_extra only once 2017-08-10 06:47:26 -04:00
4e97b57508 remove -DLAMMPS_MEMALIGN from "make mpi" and "make serial" for increased portability 2017-08-10 05:46:42 -04:00
7f437d7690 Merge pull request #609 from akohlmey/doc-changes-for-stable
Final tweaks and doc changes for stable release
2017-08-09 17:37:35 -06:00
77a628e4ef make the deprecation warning nicer looking 2017-08-09 19:13:40 -04:00
f01103dd08 correctly use the term CUDA (instead of Cuda) when not referring to the KOKKOS device flag (which is Cuda) 2017-08-09 19:08:23 -04:00
81f4d7ecb5 rework section 4 (Packages) in the manual to match Install.py scripts 2017-08-09 19:07:20 -04:00
210a77c5a0 add a deprecation warning to pair style meam and make the reax one consistent with it 2017-08-09 16:36:51 -04:00
6780c73907 restore mpic++ makefile to resolve regression test failure 2017-08-09 07:10:08 -04:00
be25a7d9a4 updated comment for fix neb by steve 2017-08-08 20:37:20 -04:00
691d1b730d Merge pull request #607 from akohlmey/final-changes-for-stable
Final build system changes for stable release
2017-08-08 17:26:22 -06:00
95ece8a6c0 consistently use $(PYTHON) in the master makefile (which defaults to "python") 2017-08-08 17:03:52 -04:00
b7b1257b01 remove attempts to use urllib and use curl for all downloading. restore printing help with no flags. 2017-08-08 17:00:09 -04:00
30431d4edb rework Install.py for gpu library. make it consistent with other lib folders and support python3 2017-08-08 16:57:27 -04:00
c53a84a967 update README file for lib/mscg 2017-08-08 13:55:12 -04:00
b7b62f6893 do not pollute global namespace by including mscg header in fix header 2017-08-08 13:20:25 -04:00
d2b0c287d2 add local makefile overrides to be compatible with standard suffixes 2017-08-08 13:19:44 -04:00
b3244f9c98 more lib compilation updates 2017-08-08 07:20:33 -04:00
8bba29d91e more lib installation cleanup 2017-08-07 17:21:45 -04:00
135b1650f1 revamp of library builds
- remove cross compiler stuff
- make use of Install.py consistent
- provide options for Makefile.serial and Makefile.mpi that match those in src
2017-08-07 17:13:01 -04:00
0a54c34e34 Merge pull request #600 from akohlmey/install-and-docs-reviewed
Installation scripts and docs reviewed for release
2017-08-07 08:02:04 -06:00
a8f6a95cba Merge pull request #605 from rbberger/bash_on_windows
Adds tutorial for using LAMMPS in Bash on Windows
2017-08-07 08:00:56 -06:00
e0f9a7c34c Adds BOW tutorial link in main menu 2017-08-07 00:06:53 -04:00
aaf17bde3f Added tutorial for using LAMMPS in Bash on Windows 2017-08-07 00:06:12 -04:00
5ad8a3332d Merge pull request #55 from GarrettTow/patch-1
Fixed typo in "compute_voronoi_atom.txt"
2017-08-04 19:18:57 -04:00
ca7a3a6316 Fixed typo in "compute_voronoi_atom.txt"
There was the typo "requiers" in the Restrictions section of compute_voronoi_atom.txt.
2017-08-04 17:48:27 -04:00
163ed27618 update .gitignore 2017-08-04 16:10:59 -04:00
23ca0099f7 more updates to kim/Install.py to restore missing functionality and align with other scripts
- build into local directory to replace existing installation is now default
- add wrapper function that calls curl in case python package has not ssl support
- have to specify -n flag to avoid wiping out the existing installation
- can specify -p to point to an existing kim-api installation (implies -n)
2017-08-04 14:47:32 -04:00
59ac6ef573 correct a link and a name for OpenKIM 2017-08-04 11:19:09 -04:00
2fa16bcd4c make overlapping links to references unique to avoid anchor label errors 2017-08-04 11:11:41 -04:00
e84b6d8067 Merge pull request #602 from rbberger/pylammps_fixes
PyLammps corrections
2017-08-04 08:35:00 -06:00
96d3712817 Add missing link flag 2017-07-31 15:52:44 -06:00
b395ef00b4 Update tutorial_pylammps.txt 2017-07-31 15:50:14 -06:00
d3169eeab3 Remove Make.py reference in PyLammps examples
Also fixes some regressions due to command syntax changes
2017-07-31 13:56:20 -06:00
71553cf732 Fix PyLammps regression after output.cpp change 2017-07-31 13:53:41 -06:00
9bfd9267fa update and automate the QUIP configuration so that no environment variables are needed 2017-07-28 16:11:13 -04:00
7d0d701eaf add reference outputs for QUIP/GAP example 2017-07-28 16:05:16 -04:00
841a92c7fa remove unused variable 2017-07-28 16:03:24 -04:00
85120842dd update QUIP examples to closer match typical LAMMPS examples 2017-07-28 15:20:33 -04:00
3ebf561e0d remove tarball after unpacking 2017-07-28 14:25:47 -04:00
ffb778cf9b make Install.py for lib/smd and lib/voronoi consistent 2017-07-28 14:03:29 -04:00
f3850da9fe clean up makefiles provide "serial" and "mpi" targets for atc and awpmd 2017-07-28 13:36:06 -04:00
e7d9aabca6 Merge branch 'kim-install' into install-and-docs-reviewed 2017-07-28 11:25:08 -04:00
e3973796ba fix bug in power operator in LAMMPS variable expressions 2017-07-27 15:51:45 -04:00
c494ec35e2 correct symbolic links to shared Install.py file 2017-07-27 12:48:32 -04:00
6d0a228624 Merge pull request #599 from lammps/kim-doc
restore lost KIM doc section in Section packages
2017-07-27 10:34:44 -06:00
acf6d54ec1 python3 port, yet untested 2017-07-27 09:25:39 -04:00
0427f6205e fix typo 2017-07-27 09:25:02 -04:00
72419b6313 Merge remote-tracking branch 'github/kim-doc' into install-and-docs-reviewed 2017-07-26 19:35:15 -04:00
da7a5f55d3 Merge branch 'kim-install' into install-and-docs-reviewed 2017-07-26 19:32:55 -04:00
934cbbbeca restore lost KIM doc section in Section packages 2017-07-26 16:07:08 -06:00
2806f070a4 Merge pull request #598 from akohlmey/last-minute-changes
last minute changes for stable release
2017-07-26 15:46:51 -06:00
715c797df0 simplify Install.py for voronoi 2017-07-26 15:14:12 -04:00
fd6e11f821 convert copies of Install.py files to symlinks 2017-07-26 14:29:52 -04:00
f7a243a4d9 convert explicit copies back into symbolic links 2017-07-26 14:20:03 -04:00
f0d286358e must not include system headers within 'extern "C"' blocks. breaks with MPICH 2017-07-26 14:02:02 -04:00
51a06334ad avoid invalid calls to memcpy(): when ndot == 0, pointers may be NULL 2017-07-26 12:08:42 -04:00
aa5ea95a0f avoid integer overflow and remove unused function argument causing it 2017-07-26 11:55:50 -04:00
60c67b07dc import updated fix msst file with some additional cleanup and simplification 2017-07-26 10:45:11 -04:00
a59b7e4d56 patch 24Jul17 2017-07-24 09:09:22 -06:00
2eaea2d274 Merge pull request #594 from junghans/license
LICENSE: update address of Free Software Foundation
2017-07-24 08:56:11 -06:00
1ddace4dba Merge pull request #595 from libAtoms/idces2quip
Add a (contrived) molecular example for USER-QUIP
2017-07-24 08:55:03 -06:00
af3d0ca381 Merge pull request #593 from akohlmey/collected-bug-fixes-and-small-updates
Collected bug fixes and small updates
2017-07-24 08:54:16 -06:00
c24e316baa avoid floating point overflows in iterative solvers of fix shake 2017-07-22 23:15:01 -04:00
2c6e177d5c avoid reporting negative memory allocation when memory_usage() is called before initialized 2017-07-22 23:14:17 -04:00
7b2182833f disallow binary output with dump style local. fixes #596 2017-07-22 10:35:16 -04:00
1afab981b0 Clarified some points in in.molecular example 2017-07-22 14:40:33 +01:00
1af937e99d Update in.molecular
- expand comments to provide more details on the choice of exclusion settings
- comment out dump file generation
2017-07-21 22:00:29 -04:00
4e0a249e27 Add a (contrived) molecular example for USER-QUIP
This example showcases the use of different 'special_bonds' settings for
different pair styles, so quip gets all the bonded neighbours but lj can
exclude them if it needs to.

The results have been checked against a pure quip implementation of the
potential; the expected lammps output is included.

DISCLAIMER: This example mixes parameters for methane and silane and is
NOT intended to be a realistic representation of either system.
2017-07-22 01:33:15 +01:00
edc756a65f LICENSE: update address of Free Software Foundation 2017-07-21 17:13:28 -06:00
a477f26477 add support for trapping floating point exception as an optional compile time feature
we may make this a run time setting by connecting this code to a command.
2017-07-21 15:37:40 -04:00
b1b399d5c3 update readme for examples 2017-07-21 15:06:15 -04:00
00474ab09d handle one more case where allowing shifted potential with cutoff 0.0 would create NaNs 2017-07-21 10:30:11 -04:00
733ea61bf1 correct typo in USER-REAXC code 2017-07-21 01:15:24 -04:00
5c13b087e4 Merge pull request #592 from akohlmey/reaxc-bugfix
Bugfix for USER-REAXC and reaxc in KOKKOS and USER-OMP
2017-07-20 16:26:20 -06:00
ec23aef20b fix reaxc division by zero bug also for USER-OMP variant 2017-07-20 18:19:53 -04:00
61b1487cbd avoid division by zero in reaxff bond interaction computations in very rare cases
this addresses the issue reported by stan and ishan
2017-07-20 18:17:19 -04:00
3449d42267 include pair style kim doc changes that were accidentally included in PR #590 2017-07-20 17:58:49 -04:00
e53583d9c6 Merge pull request #590 from lammps/fortran-dftb
update of Fortran-DFTB interface to be compatible with fix msst
2017-07-20 15:30:23 -06:00
551001f172 revert change, that is part of the kim-install branch and changeset 2017-07-20 17:08:19 -04:00
5dbe2df854 revert change that accidentally undoes part of PRs #583 and #588 2017-07-20 17:07:31 -04:00
3f83396837 Merge pull request #588 from akohlmey/colvars-quickfix
avoid makefile failure, if LAMMPS has not been configured yet
2017-07-20 14:45:25 -06:00
59db5f6a17 update of Fortran-DFTB interface to be compatible with fix msst 2017-07-20 14:40:35 -06:00
1b704bab18 Merge branch 'colvars-safer-makefiles' of https://github.com/giacomofiorin/lammps into colvars-quickfix 2017-07-20 15:59:23 -04:00
c98f6140e7 Change order of targets in Makefiles for Colvars 2017-07-20 15:49:31 -04:00
5031f5b807 Comment out use by Colvars of Makefile.lammps from other packages 2017-07-20 15:48:10 -04:00
9d0d90c038 README clarification from giacomo 2017-07-20 15:25:27 -04:00
66154e8a8b avoid makefile failure, if LAMMPS has not been configured yet 2017-07-20 15:05:58 -04:00
d2f76ae394 Merge pull request #586 from ellio167/kim-install
Refactor lib/kim/Install.py; works with python 3 and 2.7
2017-07-20 14:40:57 -04:00
3cd597e948 Merge pull request #585 from akohlmey/make-py-manual-cleanup
Make.py removal and manual cleanup
2017-07-20 12:05:04 -06:00
eca61226c2 Merge pull request #583 from giacomofiorin/colvars-update-2017-07-19
Update Colvars to version 2017-07-15 and support automated builds for it
2017-07-20 12:04:49 -06:00
fac3e3daa2 Merge pull request #581 from libAtoms/idces2quip
Modified USER-QUIP interface to pass lammps atom IDs
2017-07-20 12:04:32 -06:00
72e5f537c8 Merge pull request #576 from akohlmey/sanitizer-changes
Collected changes for issues detected by gcc -fsanitize
2017-07-20 12:03:40 -06:00
84065dde21 Refactor lib/kim/Install.py; works with phtyon 3 2.7 2017-07-20 12:02:50 -05:00
bdd2f3a6b2 remove references to Make.py and USER-CUDA 2017-07-20 12:25:42 -04:00
a351977c59 update manual links that got broken when removing and renumbering a section 2017-07-20 12:25:42 -04:00
8499e72cdc updates to USER-REAXC code in USER-OMP from Chris Knight. addresses issues with multiple threads in use 2017-07-20 12:11:46 -04:00
ef9fb944c7 Detect number of processors for make 2017-07-20 10:53:08 -04:00
187a80be77 Add forgotten decode() in Install.py 2017-07-19 22:21:49 -04:00
355aad9691 restore python3 support. this now can run with python 2.7.13 and 3.5.3. 2017-07-19 17:19:44 -04:00
ec42a60587 Merge pull request #584 from ellio167/kim-install
Update lib/kim/Install.py for phthon 2.7 conversion
2017-07-19 16:21:04 -04:00
ee6cac826e Update Colvars to version 2017-07-15 and support automated builds for it 2017-07-19 14:24:07 -04:00
f181a0bfab Update lib/kim/Install.py for phthon 2.7 conversion 2017-07-19 12:54:33 -05:00
52a1c54d50 support QUIP wrapper API version query, relax hybrid restriction to allow hybrid/overlay, update docs 2017-07-19 13:17:35 -04:00
fcf9607a66 Update USER_QUIP docs to clarify use of "special_bonds" 2017-07-19 17:47:21 +01:00
81f342aafa fix variable name bug and synchronize with other ported Install.py files 2017-07-18 18:06:18 -04:00
7ccb0d37cd port USER-SMD folder. make voronoi consistent with it 2017-07-18 17:37:48 -04:00
03cd4c5255 ported lib/voronoi/Install.py to python 3.x and tested with 2.7 2017-07-18 17:16:10 -04:00
148364949e fix memory corruption issue in fix reax/c/species 2017-07-18 16:11:49 -04:00
17aff29fe2 fix off-by-one bug when copying strings 2017-07-18 15:48:31 -04:00
f96b9e0dcf add various checks and improvements to identify incompatible uses and warn or exit with error message 2017-07-18 15:48:18 -04:00
5cbaf7ca1d correct commands table format issue 2017-07-18 14:47:54 -04:00
02572a4099 add workaround that allows pair style quip to work with -DLAMMPS_BIGBIG, assuming tags are still only 32-bit signed integer 2017-07-18 14:41:38 -04:00
49b4cf9a77 remove references to Make.py and USER-CUDA 2017-07-18 13:24:32 -04:00
49e6c2eb7d remove references to Make.py from the manual and instead refer to section 4 2017-07-18 13:14:03 -04:00
a92d792537 update manual links that got broken when removing and renumbering a section 2017-07-18 12:55:55 -04:00
085cbee116 protect LAMMPS from calling incompatible QUIP library with -DLAMMPS_BIGBIG 2017-07-18 11:17:25 -04:00
4ad9528999 safer handling of memory management for lists in reax/c 2017-07-18 07:37:14 -04:00
358915d16e avoid division by zero in peri pair styles 2017-07-18 07:26:45 -04:00
d9186c8fde Revert "use neighbor list exclusions instead of a zero cutoff"
This reverts commit bbb4d63db9.
2017-07-18 01:17:34 -04:00
bc5186bc30 fix unitialized pointer issue in USER-OMP with pppm/disp 2017-07-18 00:44:24 -04:00
c083d5d6f3 fix memory leak in list of neighbor list requests 2017-07-18 00:18:03 -04:00
c3a2ed0d1b plug small memory leak in USER-OMP variants of pppm kspace styles 2017-07-17 23:56:38 -04:00
23033404b0 skip table consistency check for bitmapped tables 2017-07-17 18:18:21 -04:00
bda0730169 Modified the quip/lammps interface to pass lammps atom ids 2017-07-17 16:55:05 +01:00
992ce79701 add sanity checks to EAM potential file reader subroutine 2017-07-16 14:37:30 -04:00
d7355801df Make KIM Install.py Python 3 compatible 2017-07-15 12:03:04 -05:00
4ec07422f0 avoid division by zero when using cutoff 0.0 with pair_modify shift yes 2017-07-14 23:33:00 -04:00
3f297382ac Revert "do not allow pairwise cutoffs <= 0.0. avoids undefined behavior and division by zero errors"
This reverts commit a04711b21f.
2017-07-14 22:41:59 -04:00
296e572e69 better Install.py script for KIM from Ryan Elliott 2017-07-14 16:25:16 -06:00
cc9b3864bf Merge pull request #577 from v0i0/airebo-kim-difference
AIREBO: Add doc about OpenKIM issue
2017-07-14 16:22:15 -06:00
bbb4d63db9 use neighbor list exclusions instead of a zero cutoff 2017-07-14 14:52:08 -04:00
1c92eecea7 move updated gauss_flow example to the correct folder 2017-07-14 14:01:41 -04:00
a04711b21f do not allow pairwise cutoffs <= 0.0. avoids undefined behavior and division by zero errors 2017-07-14 13:49:28 -04:00
e084d4dad6 print warnings in Pair::init() only on MPI rank 0 2017-07-14 13:48:21 -04:00
522bc13d67 avoid casts to the wrong derived class, which upsets code analysis tools. seems to improve performance, too. 2017-07-14 13:47:49 -04:00
14f1d646ad provide working examples for all four peridynamics models and reference outputs 2017-07-14 13:46:19 -04:00
3b1134c164 correct formatting error in peridynamics pair style docs 2017-07-14 13:42:02 -04:00
4d4c03a1e4 restore gaussian flow example that was lost. tweak input to make it usable for comparing 2017-07-14 12:33:40 -04:00
e5405cdb04 AIREBO: Add doc about OpenKIM issue 2017-07-14 17:57:25 +02:00
8a1db83b73 silence static code analysis warning 2017-07-14 10:31:51 -04:00
de45a46529 Merge branch 'compute_rdf_dynamic' into sanitizer-changes 2017-07-13 17:39:12 -04:00
32ca58bdf2 whitespace cleanup 2017-07-13 17:34:30 -04:00
111786e92e avoid trying to free NULL pointers and reallocate storage for OpenMP, when not using OpenMP styles 2017-07-13 17:33:56 -04:00
132cee9840 protect warning printf()s to be only printed on rank 0 2017-07-13 17:33:00 -04:00
609c8b1e87 add flag to reax/c system struct to signaling, whether OpenMP is active 2017-07-13 17:32:27 -04:00
9988030409 Merge pull request #563 from akohlmey/airebo-example
Add AIREBO and AIREBO-M example input deck
2017-07-13 13:12:30 -06:00
fc36754ca2 Merge pull request #561 from v0i0/fix-airebo-various
Fix Various AIREBO issues
2017-07-13 13:10:42 -06:00
3a46c34c2f Merge pull request #574 from lammps/snap-virial
changes to SNAP virial from Aidan
2017-07-13 13:07:29 -06:00
cb935730c0 Merge branch 'master' into compute_rdf_dynamic 2017-07-13 15:02:50 -04:00
983eb0e80d Merge pull request #572 from junghans/data2xmovie
tools/Makefile: remove remains of data2xmovie
2017-07-13 11:27:46 -06:00
fc6c10c9a9 Merge pull request #571 from hasanmetin/reaxc-omp-credits-update
updated the credits and citations for pair style reaxc/omp and qeq/reax/omp
2017-07-13 11:27:18 -06:00
a3a0c9b144 Merge pull request #570 from akohlmey/collected-small-changes
Collected small changes
2017-07-13 11:26:47 -06:00
b64849d574 Merge pull request #569 from ellio167/kim-install-py
Kim install py
2017-07-13 11:24:43 -06:00
e58bcd8b4a Merge pull request #568 from akohlmey/fix_gcmc_parallel_workaround
Workaround for data corruption when using fix gcmc in parallel with shake or fix rigid
2017-07-13 11:23:49 -06:00
ef2f4980e9 Merge pull request #566 from akohlmey/compute_rdf_dynamic
Dynamic group and normalization support for compute rdf
2017-07-13 11:23:22 -06:00
d3a45f6d50 Merge pull request #560 from aershadinia/master
EES wall potential
2017-07-13 11:22:47 -06:00
d0cc1dfbb8 changes to SNAP virial from Aidan 2017-07-13 11:19:35 -06:00
de8d417aec fix off-by-one memory allocation bug 2017-07-13 10:55:13 -04:00
0af9203fdc remove useless and incorrect neighbor list request in fix qeq/comb/omp 2017-07-12 18:32:04 -04:00
c24fca61f3 fix possible uninitialized data access with pppm and pppm/disp 2017-07-12 18:14:11 -04:00
01e848387a avoid accessing uninitialized data when exiting LAMMPS early 2017-07-12 18:00:38 -04:00
734729b0a4 avoid small memory leak with USER-REAXC + USER-OMP, spotted by GCC's address sanitizer 2017-07-12 17:27:49 -04:00
a419c7c57c update src/.gitignore for fix wall*/ees sources 2017-07-12 11:40:35 -04:00
69d97fa60c fix enforce2d has to be defined after fixes with enforce2d_flag set
this check currently only applies to rigid fixes and is needed
so that their respective enforce2d function is called _after_
the post force functions. this is required in combination with
commit a9ff593763 to allow rigid
fixes use the langevin option correctly for 2d systems
2017-07-12 11:26:16 -04:00
a9ff593763 avoid segfault when calling enforce2d before langevin data has been initialized 2017-07-12 09:48:07 -04:00
ddc9621325 remove absolutely last reference to xmovie 2017-07-11 18:30:41 -04:00
f717a70638 tools/Makefile: remove remains of data2xmovie
data2xmovie was removed in e110d6961a
2017-07-11 16:16:03 -06:00
f7f4a24930 whitspace cleanup 2017-07-11 15:01:15 -04:00
338fc28970 combine citeme.log entry for pair reax/c/omp and fix qeq/reax/omp 2017-07-11 14:59:08 -04:00
5a1e020bf0 updated the credits and citations for pair style reaxc/omp and qeq/reax/omp 2017-07-11 08:05:36 -07:00
c8939d8df6 clarify explanation of body style molecule in rigid fixes 2017-07-11 09:43:54 -04:00
e30c5fc956 Fixed shebang and renamed to lib/kim/Install.py 2017-07-10 21:05:29 -05:00
c29e8fba9b Updated lib/kim/README file to go along with new install.py 2017-07-10 17:00:30 -05:00
8d592f4b9e Finalized code for lib/kim/install.py 2017-07-10 16:43:23 -05:00
c9a0d38a3e mention restriction for use with fix shake or fix rigid in fix gcmc docs 2017-07-10 17:34:00 -04:00
b5e9e90bb6 white space cleanup 2017-07-10 17:21:20 -04:00
92395e9bb4 disallow MC moves with fix rigid and fix shake active. update examples and add shake example 2017-07-10 17:19:37 -04:00
71ddcaf0b6 whitespace cleanup 2017-07-07 15:50:19 -04:00
fe888e4622 add support for recomputing normalization factors and finite size correction during 2017-07-07 15:39:25 -04:00
b0be8b24ea Further work on lib/kim/install.py 2017-07-06 15:50:03 -05:00
16fc2d6fe1 Add install.py and update config for kim lib 2017-07-06 15:49:58 -05:00
7193fffe0d make example input / output conform with LAMMPS conventions (no dump files, no log command) and update reference outputs 2017-07-06 16:08:25 -04:00
4339379948 patch 6Jul17 2017-07-06 13:58:26 -06:00
23925b3a57 update fix wall/ees and wall/region/ees file to conform more to common formatting
also fix some typos and formatting issues
2017-07-06 14:47:44 -04:00
423e3b6389 integrate fix wall/ees and wall/region/ees into doc system 2017-07-06 14:45:51 -04:00
87af3b1fd9 Merge pull request #564 from lammps/fix-external
bugfix for fix msst
2017-07-06 08:58:20 -06:00
8be6d5bfd8 Merged two doc files 2017-07-06 20:21:55 +09:00
a62eb43791 Delete "fix_wall_region_ees.txt" 2017-07-06 20:20:12 +09:00
33be51af54 Deleted "fix wall/region/ees" doc file 2017-07-06 20:19:40 +09:00
47649ff50f some edits to make examples more illustrative. 2017-07-06 15:35:06 +09:00
0423971205 whitespace cleanup 2017-07-06 00:24:00 -04:00
4ee7c6f5ca remove code without effect 2017-07-06 00:23:50 -04:00
7f63c09667 correct comment for Fix::ev_setup() 2017-07-05 22:35:58 -04:00
a5234d7aea fix bug reported by richard berger via https://ci.lammps.org/job/lammps/job/master/job/regression/160/testReport/junit/examples/msst/msst/ 2017-07-05 22:34:34 -04:00
fa469ae1d0 add polyethylene airebo example for future reference 2017-07-05 17:44:18 -04:00
e493b6a648 Fix sigcut class variable actually used 2017-07-05 22:52:29 +02:00
be8360ac4b Merge pull request #562 from lammps/fix-external
additional fix external hooks for calling programs
2017-07-05 14:46:10 -06:00
4de9cec1b6 make old_velocities allocation safer while retaining the test for nlocal 2017-07-05 16:22:39 -04:00
8c3f6947ad remove unused variables to silence compiler warnings 2017-07-05 16:19:59 -04:00
894e0c3cf5 simplify parsing of optional arguments 2017-07-05 16:19:24 -04:00
09ad293425 remove dead code 2017-07-05 15:04:35 -04:00
e625e79171 safer handling of processors w/o local atoms 2017-07-05 15:04:27 -04:00
f1088a5003 changes requested by @sjplimp 2017-07-05 15:03:58 -04:00
d451dbb1a0 adjust EES wall input example to print out some thermodynamic info that can be used for testing 2017-07-05 13:54:56 -04:00
6eddc1a2ee coding style and whitespace cleanup to match LAMMPS style 2017-07-05 12:33:41 -04:00
1bf1cb150f Updated credits 2017-07-05 18:26:32 +02:00
ea4f16bd79 additional fix external hooks for calling programs 2017-07-05 10:01:19 -06:00
9fa4588eb7 fixed a typo 2017-07-05 23:46:48 +09:00
f5440a777b Merge branch 'master' of https://github.com/aershadinia/lammps
hello
2017-07-05 23:25:03 +09:00
92831f185b Merge branch 'master' of https://github.com/aershadinia/lammps 2017-07-05 23:23:09 +09:00
8e279d4ec8 Examples moved 2017-07-05 23:16:42 +09:00
cbd8f99754 Restrictions Added 2017-07-05 23:15:27 +09:00
b720f39163 Restrictions Added 2017-07-05 23:15:23 +09:00
ff761d639a Sync AIREBO USER-OMP implementation. 2017-07-05 15:29:40 +02:00
d2f7f4843a AIREBO Fix Credits 2017-07-05 15:16:45 +02:00
7e42af18bc Feature: AIREBO parametrize cutoff switching
In #514 it has been raised that the switching function that
ensures a smooth transition to the cutoff is only correct if
cutlj = 3.0. This patch gives users an opportunity to configure
the switching function together with the cutoff by specifying
the start of the transition region. Behaviour in the default case
remaing unchanged.
This allows users to specify larger cutoffs than 3 (which used to
have no effect) and get correct cutoff behaviour for values less
then 3.
2017-07-05 15:11:58 +02:00
74d63c24fd Fix AIREBO missing derivative in bondorderLJ
This change replaces the bondorderLJ() function with code provided
by Github user CF17, which is based on the bondorder() code.
It could be fixed with a shorter patch [1], but layering fix upon
fix seems to be unwise in this case.
While the code at this point departs from following the Fortran
code closely, the reason is that the bug is present in the Fortran
code as well.
Instead, the new code follows closely the bondorder() code that
already exists, which should be easier to maintain in the future.
This patch makes the two functions consistent with each other,
and makes outside contributions easier.
Since it uses a different approach to compute its value, some
explanation of that reasoning has been added on top.

1: e8c5c662b2
2017-07-05 14:51:34 +02:00
769870cfc9 Proper spline coefficient calculation for AIREBO 2017-07-05 12:55:53 +02:00
e0521f27b4 Added reference to example directory. 2017-07-05 15:08:07 +09:00
5eb5391b20 Add reference to example 2017-07-05 15:06:34 +09:00
d3b8e688c9 Files Added to MISC 2017-07-05 14:57:43 +09:00
67d474df2a deleteing USER-EES 2017-07-05 14:39:37 +09:00
d0a397d6cb Merge pull request #559 from lammps/fortran3
3rd variant of Fortran wrapper for DFTB+ calling LAMMPS
2017-07-03 14:50:33 -06:00
f670dba3d0 3rd variant of Fortran wrapper for DFTB+ calling LAMMPS 2017-07-03 14:24:16 -06:00
6fc0a94e87 Merge pull request #524 from martok/package-meamc
Package USER-MEAMC
2017-07-03 12:30:01 -06:00
5c0c8bb4cd Merge pull request #558 from lammps/intel
memory allocation bugfix for USER-INTEL pppm from M Brown
2017-07-03 12:25:12 -06:00
9eeb97b039 Merge pull request #544 from akohlmey/tip4p-triclinic
Correct handling of triclinic box support in pppm/tip4p and pppm/tip4p/omp
2017-07-03 12:24:18 -06:00
9ca9b5e2ff add authors tag to pull request template 2017-07-03 12:06:36 -04:00
db73eca29f correct example inputs for recent changes to create_bonds command 2017-07-03 11:43:55 -04:00
2d1941ed9b make USER-INTEL compilable again with gcc and without OpenMP active 2017-07-03 11:33:08 -04:00
e634c5a2de memory allocation bugfix for USER-INTEL pppm from M Brown 2017-07-03 08:53:53 -06:00
22f3db4723 remove some dead code and prune argument lists accordingly 2017-07-01 18:16:36 -04:00
a1574fc03d remove unused variables 2017-07-01 17:55:13 -04:00
d68fb1cbb8 avoid repeated computation of deltaik and deltajk, calls to pow() 2017-07-01 17:49:14 -04:00
060e32973e another speedup by folding dsij() into meam_force() 2017-07-01 17:07:56 -04:00
a4a15f24bd fold screen() function into getscreen() and avoid some repeated operations 2017-06-30 18:44:51 -04:00
883b7aaa0e Merge pull request #557 from lammps/create-bonds
add single options to create_bonds command
2017-06-30 14:18:15 -06:00
1fff30af90 update or create example outputs for meam and meam/c 2017-06-30 15:30:06 -04:00
a490e04d24 add backward compatibility item to pull request template 2017-06-30 15:07:43 -04:00
b445f8eadf spell-check new additions to create_bonds doc page 2017-06-30 14:59:08 -04:00
b79044d4f6 Merge pull request #554 from jewettaij/master
Have extra/XXX/per/atom set by keyword to the read_data command
2017-06-30 11:47:46 -06:00
711afe5062 add single options to create_bonds command 2017-06-30 11:30:43 -06:00
3bf2c60276 Merge pull request #553 from Pakketeretet2/USER-MANIFOLD-gaussian-bump
Update to USER-MANIFOLD gaussian bump
2017-06-30 11:08:47 -06:00
d5119b2d75 Merge pull request #550 from stanmoore1/kokkos_leakfix
Fix Memory Leak in Kokkos NeighList
2017-06-30 11:08:30 -06:00
b2b621a2e1 Merge pull request #547 from akohlmey/collected-bugfixes
Collected small bugfixes and updates
2017-06-30 11:08:02 -06:00
b5250d11f6 Merge pull request #545 from akohlmey/issue-and-pull-request-templates
Add folder .github containing administrative files for use with GitHub
2017-06-30 11:06:58 -06:00
9dad95d101 performance improvement through moving inlinable functions to header file 2017-06-30 13:04:09 -04:00
f6faad335c update documentation for nb3/harmonic pair style according to e-mail to lammps-users 2017-06-30 11:37:18 -04:00
5548704700 Move stateless functions to separate module, improve style
- use static/const
- return instead of ptr-parameter, &ref if more than one return
- replace macros from header with inline functions
- remove useless/old comments
2017-06-30 15:37:26 +02:00
e0939ac795 Re-Run clang-format 2017-06-30 12:28:22 +02:00
d5921e9fb9 consolidate and update error message and read_data documentation for the updated read_data command 2017-06-29 16:30:49 -04:00
aa3f4b7690 change the handling of reading "extra XXX per atom", so that the final choice is the larger of the value in the file and the keyword 2017-06-29 16:09:23 -04:00
38075455b6 new keywords for read_data: extra/X/per/atoms + changes to docs 2017-06-28 17:55:30 -07:00
fa30635465 Revert "added feature to write_data.cpp to support "extra bonds" (angles,dihedrals,impropers,special)."
This reverts commit 0c2f7c74be.
2017-06-28 17:48:32 -07:00
0c2f7c74be added feature to write_data.cpp to support "extra bonds" (angles,dihedrals,impropers,special). 2017-06-28 14:12:03 -07:00
91bce7ccf9 Replaced std::fabs with fabs. 2017-06-28 09:48:00 -04:00
d0470799ac consistently check for all per-atom-type masses being set only when per-atom masses are not set
rather than placing an if statement around every incidence of calling atom->check_mass() to ensure it is only called when per atom masses are not set, we place that check _inside_ Atom::check_mass(). This avoids unexpected error messages.
2017-06-28 06:26:21 -04:00
076990c28a Updated Gaussian bump so that it has a better taper function. 2017-06-27 16:48:33 -04:00
661e51b607 remove non-ascii characters and spell check 2017-06-27 00:38:53 -04:00
d076040471 use itemized list instead of paragraphs for links at the top 2017-06-27 00:24:04 -04:00
2f9c0a3b8e more formatting issues addressed 2017-06-27 00:23:10 -04:00
b9d213ee2b update formatting for contributing ToC 2017-06-27 00:21:29 -04:00
fa3c7727e1 contributing guidelines, issue and pull request template are now feature complete
This is still a draft and in need of editing, proofreading and testing for formatting.
2017-06-27 00:17:37 -04:00
9fec8a0470 Remove clean_copy function from pair_vashishta_kokkos 2017-06-26 10:56:03 -06:00
b889776557 Fixing memory leak in Kokkos neighborlist 2017-06-26 10:51:26 -06:00
8fca667e4b Change indexing of remaining variables and locals
- Voigt index tables
- local variables
- remove shims from header
2017-06-26 18:09:11 +02:00
f7077d9672 Merge branch 'collected-bugfixes' of github.com:akohlmey/lammps into collected-bugfixes 2017-06-26 11:27:31 -04:00
f89a7266bf make USER-INTEL compilable again with gcc and without OpenMP active 2017-06-25 23:57:42 -04:00
1257955662 Merge branch 'master' of https://www.github.com/lammps/lammps 2017-06-23 19:31:43 -04:00
1370385c8c patch 23Jun17 2017-06-23 17:10:59 -06:00
2240c3d7d3 Merge pull request #548 from lammps/doc-update
doc page clarifications for CHARMM energy and dipole pre-factors
2017-06-23 16:48:37 -06:00
4fcbd58d5a doc page clarifications for CHARMM energy and dipole pre-factors 2017-06-23 15:54:14 -06:00
c2c6dc1458 remove spurious comment line 2017-06-23 16:24:37 -04:00
18983c307e fix qeq/reax/omp bugfix from metin 2017-06-23 16:24:00 -04:00
25a5d12af3 Merge pull request #541 from lammps/charmm
use CHARMM energy conversion factor with new CHARMM pair styles
2017-06-23 09:10:04 -06:00
05fbf93455 skip deleting internal data before setup has been run 2017-06-23 10:37:00 -04:00
73b948dcfc pppm must be fully reinitialized after switching to triclinic box to avoid memory corruption 2017-06-23 10:01:45 -04:00
374eef2b17 add first draft of issue template 2017-06-23 01:13:10 -04:00
dc7243838b first draft of a contributor's guide file 2017-06-23 00:54:20 -04:00
57d5cfede3 add first draft of a pull request template 2017-06-22 23:07:09 -04:00
feb500b526 reword the kspace_modify fftbench keyword docs to reflect the current state (i.e. off by default) of code 2017-06-22 19:17:41 -04:00
a714b57741 make neighbor list reset message for minimization more explicit 2017-06-22 19:07:57 -04:00
c5430b0a26 print info messages when changing qqr2e constant in fully CHARMM compatible pair styles 2017-06-22 18:41:44 -04:00
c081d383d1 Merge branch 'master' of https://www.github.com/lammps/lammps 2017-06-22 18:37:37 -04:00
f8364342c2 port corrected triclinic handling from pppm/tip4p to pppm/tip4p/omp 2017-06-22 18:12:28 -04:00
488d1b7a79 correct find_M() function in pppm/tip4p to properly account for ghost atoms not being in lamda space with triclinic cells 2017-06-22 17:36:18 -04:00
dadd1c8b4d Remove neigh_f2c/c2f, related cleanup
- neighbour lists now use C indexing
- removed many arr*v() macros
- removed some unneccessary pointers
- minor reformatting
2017-06-22 19:02:14 +02:00
60c3f3d64c use CHARMM energy conversion factor with new CHARMM pair styles 2017-06-22 09:15:15 -06:00
7a4a569859 Merge pull request #540 from lammps/neighrespa
fix issue with rRESPA inner/middle neighbor lists
2017-06-22 07:54:12 -06:00
4fc3f4f7e5 Merge pull request #538 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2017-06-22 07:52:21 -06:00
f092da80a9 Fix some shadowing warnings 2017-06-22 13:28:12 +02:00
b0ddabbcde update examples for fix filter/corotate to comply with new CHARMM restrictions 2017-06-22 00:19:21 -04:00
b9029ada77 fix bug in incorrect use of O coordinate instead of M coordinate in pppm/tip4p 2017-06-22 00:07:59 -04:00
de3157f720 document new restrictions to CHARMM compatible dihedral styles 2017-06-21 19:31:40 -04:00
0c6a751751 may check for 1-4 scaling factors in CHARMM dihedral styles only when "weightflag" is set, since they may be used with amber 2017-06-21 19:29:31 -04:00
612b44a895 enforce using 'special_bonds charmm' for dihedral styles charmm and charmmfsw 2017-06-21 19:15:52 -04:00
684b7334a5 enforce that CHARMM dihedral styles are run at the same r-RESPA level as pair 2017-06-21 19:08:02 -04:00
1fc2eb1e3e fix issue with rRESPA inner/middle neighbor lists 2017-06-21 15:12:51 -06:00
e69ef56f10 Merge pull request #539 from lammps/neighsize
insure compute pair/property local will use a copy of granular neighbor list
2017-06-21 15:03:12 -06:00
7dc380b113 insure compute pair/property local will use a copy of granular neigh list 2017-06-21 12:44:35 -06:00
f47aaa5f3c Merge branch 'master' of https://www.github.com/lammps/lammps 2017-06-21 14:11:12 -04:00
5e165e6782 fix array bounds issue due to typo. spotted by GCC. 2017-06-21 13:33:26 -04:00
02625b2855 fix typos introduced in original translation: results are correct again 2017-06-21 18:54:21 +02:00
1a77135ed6 whitespace cleanup in docs 2017-06-21 09:38:10 -04:00
f45c7e1fb0 update fix ti/spring docs to reflect it is part of USER-MISC 2017-06-21 09:36:30 -04:00
0cfe8980d4 dead code removal 2017-06-20 22:07:40 -04:00
2988508cee correct indexing bug in pair style lj/long/tip4p/long 2017-06-20 17:53:45 -04:00
15c596153a remove dead code 2017-06-20 17:38:28 -04:00
e13c94ed4f fix uninitialized variable bug spotted by coverity scan 2017-06-20 17:25:01 -04:00
812f1a8fab remove local variables shadowing global ones in BondsOMP() 2017-06-20 17:20:57 -04:00
218bc92c82 make pre-processor defines for using libc's qsort() consistent 2017-06-20 17:13:42 -04:00
ffa906de6f add C++ format identifiers to .h files 2017-06-20 16:18:34 -04:00
cccf72a21d make certain class member list is initialized to NULL before assigned to a neighbor list 2017-06-20 16:09:11 -04:00
bb47fa8783 Change indexing of all MEAM element arrays
- arrays in MEAM class
- eltind setting
- remove fmap translation
2017-06-20 19:56:14 +02:00
c79dc53c6a code improvement, less pointer params 2017-06-20 19:36:07 +02:00
72a1364d85 Merge branch 'master' into package-meamc 2017-06-20 13:21:46 -04:00
198fe7ecd7 fix storing of invalid memory pointer 2017-06-20 19:00:57 +02:00
a9f3f90025 fix uninitialized members 2017-06-19 12:51:18 +02:00
3d066283b6 fix compilation, move meam_cleanup to destructor 2017-06-13 19:41:29 +02:00
29e60fa53a Move rho/gamma arrays to fields of MEAM, remove arguments and arrdim macros 2017-06-13 18:39:40 +02:00
078f2a0a47 Convert/Reindex phir* arrays 2017-06-12 17:41:09 +02:00
bdd908c303 update documentation for USER-MEAMC package and pair style meam/c 2017-06-11 21:54:18 -04:00
b45a95107d remove ambiguous access conflict to fm_exp() in pair style agni/omp after moving fm_exp() to math_special.h 2017-06-11 18:45:40 -04:00
9f852f5f58 Improve C++-ness, eliminate some macros
- fm_exp moved to math_special (exp2 was already there)
- use std::min/max template instead of macros
- use memory->create for dynamic arrays (still 1-indexed with macro)
- remove _ from function names, adjust method visibility
2017-06-11 16:55:41 +02:00
fea28d8028 ensure that allocatable_double_2d types are initialized 2017-06-11 07:29:44 -04:00
afed8bb978 make changes to pass compilation test
- move MEAM class into LAMMPS_NS namespace
- move inclusion of meam.h header to pair_meamc.cpp to reduce namespace pollution
- use forward declaration for MEAM class reference
- make that class reference a pointer and add a destructor
- replace MAX/MIN macros with versions compatible with older compilers
2017-06-11 07:18:13 -04:00
03c93b31d6 Convert to C++, allow multiple instances 2017-06-11 11:29:24 +02:00
d3f31547f9 Reformat code with clang-format (Mozilla style guide) 2017-06-11 11:29:24 +02:00
7c7468ffc2 Change c->cpp for better integration with makefile 2017-06-11 11:29:23 +02:00
bab292b551 Create package USER-MEAMC
Step 1: very literal translation of lib/meam
2017-06-11 11:29:23 +02:00
13643e185c Merge branch 'USER-MANIFOLD-gaussian-bump' 2017-06-06 15:47:41 -04:00
8f37285b05 UPLOAD examples 2017-03-16 21:12:10 +09:00
ef72145540 Readme for examples 2017-03-16 21:10:41 +09:00
d17d99b9dd UPLOAD Formulas for EES 2017-03-13 22:54:09 +09:00
68b2a454b5 UPLOAD fix_wall_ees_image 2017-03-13 22:53:10 +09:00
23c3f5622a DOC files for USER-EES
txt doc files for fix_wall_ees and fix_wall_region_ees added.
2017-03-13 22:51:15 +09:00
6311d33a5d UPLOAD source files
source files and install.sh added
2017-03-13 22:49:04 +09:00
e136a9db02 Create README 2017-03-13 22:48:12 +09:00
774 changed files with 24699 additions and 12154 deletions

112
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,112 @@
# Contributing to LAMMPS via GitHub
Thank your for considering to contribute to the LAMMPS software project.
The following is a set of guidelines as well as explanations of policies and workflows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
Thus please also have a look at:
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](http://lammps.sandia.gov/doc/Section_modify.html#mod-15)
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/tutorial_github.html)
## Table of Contents
[I don't want to read this whole thing, I just have a question!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question)
[How Can I Contribute?](#how-can-i-contribute)
* [Discussing How To Use LAMMPS](#discussing-how-to-use-lammps)
* [Reporting Bugs](#reporting-bugs)
* [Suggesting Enhancements](#suggesting-enhancements)
* [Contributing Code](#contributing-code)
[GitHub Workflows](#github-workflows)
* [Issues](#issues)
* [Pull Requests](#pull-requests)
__
## I don't want to read this whole thing I just have a question!
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the ['lammps-users' mailing list](http://lammps.sandia.gov/mail.html). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using.
## How Can I Contribute?
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list), and you can contribute by submitting pull requests on GitHub or e-mail your code
to one of the [LAMMPS core developers](http://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
### Discussing How To Use LAMMPS
The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response.
Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better.
If you post a message and you are a subscriber, your message will appear immediately. If you are not a subscriber, your message will be moderated, which typically takes one business day. Either way, when someone replies the reply will usually be sent to both, your personal email address and the mailing list. When replying to people, that responded to your post to the list, please always included the mailing list in your replies (i.e. use "Reply All" and **not** "Reply"). Responses will appear on the list in a few minutes, but it can take a few hours for postings and replies to show up in the SourceForge archive. Sending replies also to the mailing list is important, so that responses are archived and people with a similar issue can search for possible solutions in the mailing list archive.
### Reporting Bugs
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](http://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions.
You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly).
To be able to submit an issue on GitHub, you have to register for an account (for GitHub in general). If you do not want to do that, or have other reservations against submitting an issue there, you can - as an alternative and in decreasing preference - either send an e-mail to the lammps-users mailing list, the original authors of the feature that you suspect to be affected, or one or more of the core LAMMPS developers.
### Suggesting Enhancements
The LAMMPS developers welcome suggestions for enhancements or new features. These should be submitted using the [GitHub Issue Tracker](https://github.com/lammps/lammps/issues) of the LAMMPS project. This is particularly recommended, when you plan to implement the feature or enhancement yourself, as this allows to coordinate in case there are other similar or conflicting ongoing developments.
The LAMMPS developers will review your submission and consider implementing it. Whether this will actually happen depends on many factors: how difficult it would be, how much effort it would take, how many users would benefit from it, how well the individual developer would understand the underlying physics of the feature, and whether this is a feature that would fit into a software like LAMMPS, or would be better implemented as a separate tool. Because of these factors, it matters how well the suggested enhancement is formulated and the overall benefit is argued convincingly.
To be able to submit an issue on GitHub, you have to register for an account (for GitHub in general). If you do not want to do that, or have other reservations against submitting an issue there, you can - as an alternative - send an e-mail to the lammps-users mailing list.
### Contributing Code
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/tutorial_github.html)
for instructions on how to submit your changes or new files through a GitHub pull request
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you need to test compiling LAMMPS from scratch with `-DLAMMPS_BIGBIG` set in addition to the default `-DLAMMPS_SMALLBIG` setting. Your code will need to work correctly in serial and in parallel using MPI.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, class header files should not import any system headers outside <stdio.h>, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. Header files must not import namespaces with using. This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory.
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are simple text files with a specific markup language, that are then auto-converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `<name>.txt` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. A description of the markup can also be found in `lammps/doc/utils/txt2html/README.html` As appropriate, the text files can include links to equations (see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.txt for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv, the requirement for generating the PDF format manual is the htmldoc software. Please run at least "make html" and carefully inspect and proofread the resulting HTML format doc page before submitting your code.
* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind
* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the *.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide.
Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new feature.
If the new features/files are broadly useful we may add them as core files to LAMMPS or as part of a standard package. Else we will add them as a user-contributed file or package. Examples of user packages are in src sub-directories that start with USER. The USER-MISC package is simply a collection of (mostly) unrelated single files, which is the simplest way to have your contribution quickly added to the LAMMPS distribution. You can see a list of the both standard and user packages by typing "make package" in the LAMMPS src directory.
Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL, used as a license for the rest of LAMMPS. See Section 1.4 for details.
With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source code and on the Authors page of the LAMMPS WWW site), is a means for you to distribute your work to the LAMMPS user community, and a mechanism for others to easily try out your new feature. This may help you find bugs or make contact with new collaborators. Note that you are also implicitly agreeing to support your code which means answer questions, fix bugs, and maintain it if LAMMPS changes in some way that breaks it (an unusual event).
To be able to submit an issue on GitHub, you have to register for an account (for GitHub in general). If you do not want to do that, or have other reservations or difficulties to submit a pull request, you can - as an alternative - contact one or more of the core LAMMPS developers and ask if one of them would be interested in manually merging your code into LAMMPS and send them your source code. Since the effort to merge a pull request is a small fraction of the effort of integrating source code manually (which would usually be done by converting the contribution into a pull request), your chances to have your new code included quickly are the best with a pull request.
If you prefer to submit patches or full files, you should first make certain, that your code works correctly with the latest patch-level version of LAMMPS and contains all bug fixes from it. Then create a gzipped tar file of all changed or added files or a corresponding patch file using 'diff -u' or 'diff -c' and compress it with gzip. Please only use gzip compression, as this works well on all platforms.
## GitHub Workflows
This section briefly summarizes the steps that will happen **after** you have submitted either an issue or a pull request on the LAMMPS GitHub project page.
### Issues
After submitting an issue, one or more of the LAMMPS developers will review it and categorize it by assigning labels. Confirmed bug reports will be labeled `bug`; if the bug report also contains a suggestion for how to fix it, it will be labeled `bugfix`; if the issue is a feature request, it will be labeled `enhancement`. Other labels may be attached as well, depending on which parts of the LAMMPS code are affected. If the assessment is, that the issue does not warrant any changes, the `wontfix` label will be applied and if the submission is incorrect or something that should not be submitted as an issue, the `invalid` label will be applied. In both of the last two cases, the issue will then be closed without further action.
For feature requests, what happens next is that developers may comment on the viability or relevance of the request, discuss and make suggestions for how to implement it. If a LAMMPS developer or user is planning to implement the feature, the issue will be assigned to that developer. For developers, that are not yet listed as LAMMPS project collaborators, they will receive an invitation to be added to the LAMMPS project as a collaborator so they can get assigned. If the requested feature or enhancement is implemented, it will usually be submitted as a pull request, which will contain a reference to the issue number. And once the pull request is reviewed and accepted for inclusion into LAMMPS, the issue will be closed. For details on how pull requests are processed, please see below.
For bug reports, the next step is that one of the core LAMMPS developers will self-assign to the issue and try to confirm the bug. If confirmed, the `bug` label and potentially other labels are added to classify the issue and its impact to LAMMPS. Before confirming, further questions may be asked or requests for providing additional input files or details about the steps required to reproduce the issue. Any bugfix is likely to be submitted as a pull request (more about that below) and since most bugs require only local changes, the bugfix may be included in a pull request specifically set up to collect such local bugfixes or small enhancements. Once the bugfix is included in the master branch, the issue will be closed.
### Pull Requests
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/tutorial_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that.
You may also receive comments and suggestions on the overall submission or specific details. If permitted, additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will be assigned to the LAMMPS lead developer, Steve Plimpton (@sjplimp), who will then have the final decision on whether the submission will be included, additional changes are required or it will be ultimately rejected. After the pull request is merged, you may delete the pull request branch in your personal LAMMPS fork.
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and not set in stone.

31
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,31 @@
## Summary
_Please provide a brief description of the issue_
## Type of Issue
_Is this a 'Bug Report' or a 'Suggestion for an Enhancement'?_
## Detailed Description (Enhancement Suggestion)
_Explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, provide references to relevant background information, and whether you are willing to implement the enhancement yourself or would like to participate in the implementation_
## LAMMPS Version (Bug Report)
_Please specify which LAMMPS version this issue was detected with. If this is not the latest development version, please stop and test that version, too, and report it here if the bug persists_
## Expected Behavior (Bug Report)
_Describe the expected behavior. Quote from the LAMMPS manual where needed or explain why the expected behavior is meaningful, especially when it differs from the manual_
## Actual Behavior (Bug Report)
_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not* use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific research._
## Steps to Reproduce (Bug Report)
_Describe the steps required to quickly reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create input that are as small as possible and run as fast as possible. NOTE: the less effort and time it takes to reproduce your issue, the more likely, that somebody will look into it._
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

29
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,29 @@
## Purpose
_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request. If this addresses an open GitHub Issue, mention the issue number, e.g. with `fixes #221` or `closes #135`, so that issue will be automatically closed when the pull request is merged_
## Author(s)
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
## Backward Compatibility
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
## Implementation Notes
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
## Post Submission Checklist
_Please check the fields below as they are completed_
- [ ] The feature or features in this pull request is complete
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] One or more example input decks are included
- [ ] The source code follows the LAMMPS formatting guidelines
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -3,7 +3,7 @@ GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

View File

@ -1,55 +1,21 @@
These are input scripts used to run versions of several of the
benchmarks in the top-level bench directory using the GPU and
USER-CUDA accelerator packages. The results of running these scripts
on two different machines (a desktop with 2 Tesla GPUs and the ORNL
Titan supercomputer) are shown on the "GPU (Fermi)" section of the
Benchmark page of the LAMMPS WWW site: lammps.sandia.gov/bench.
benchmarks in the top-level bench directory using the GPU accelerator
package. The results of running these scripts on two different machines
(a desktop with 2 Tesla GPUs and the ORNL Titan supercomputer) are shown
on the "GPU (Fermi)" section of the Benchmark page of the LAMMPS WWW
site: lammps.sandia.gov/bench.
Examples are shown below of how to run these scripts. This assumes
you have built 3 executables with both the GPU and USER-CUDA packages
you have built 3 executables with the GPU package
installed, e.g.
lmp_linux_single
lmp_linux_mixed
lmp_linux_double
The precision (single, mixed, double) refers to the GPU and USER-CUDA
package precision. See the README files in the lib/gpu and lib/cuda
directories for instructions on how to build the packages with
different precisions. The GPU and USER-CUDA sub-sections of the
doc/Section_accelerate.html file also describes this process.
Make.py -d ~/lammps -j 16 -p #all orig -m linux -o cpu -a exe
Make.py -d ~/lammps -j 16 -p #all opt orig -m linux -o opt -a exe
Make.py -d ~/lammps -j 16 -p #all omp orig -m linux -o omp -a exe
Make.py -d ~/lammps -j 16 -p #all gpu orig -m linux \
-gpu mode=double arch=20 -o gpu_double -a libs exe
Make.py -d ~/lammps -j 16 -p #all gpu orig -m linux \
-gpu mode=mixed arch=20 -o gpu_mixed -a libs exe
Make.py -d ~/lammps -j 16 -p #all gpu orig -m linux \
-gpu mode=single arch=20 -o gpu_single -a libs exe
Make.py -d ~/lammps -j 16 -p #all cuda orig -m linux \
-cuda mode=double arch=20 -o cuda_double -a libs exe
Make.py -d ~/lammps -j 16 -p #all cuda orig -m linux \
-cuda mode=mixed arch=20 -o cuda_mixed -a libs exe
Make.py -d ~/lammps -j 16 -p #all cuda orig -m linux \
-cuda mode=single arch=20 -o cuda_single -a libs exe
Make.py -d ~/lammps -j 16 -p #all intel orig -m linux -o intel_cpu -a exe
Make.py -d ~/lammps -j 16 -p #all kokkos orig -m linux -o kokkos_omp -a exe
Make.py -d ~/lammps -j 16 -p #all kokkos orig -kokkos cuda arch=20 \
-m cuda -o kokkos_cuda -a exe
Make.py -d ~/lammps -j 16 -p #all opt omp gpu cuda intel kokkos orig \
-gpu mode=double arch=20 -cuda mode=double arch=20 -m linux \
-o all -a libs exe
Make.py -d ~/lammps -j 16 -p #all opt omp gpu cuda intel kokkos orig \
-kokkos cuda arch=20 -gpu mode=double arch=20 \
-cuda mode=double arch=20 -m cuda -o all_cuda -a libs exe
------------------------------------------------------------------------
To run on just CPUs (without using the GPU or USER-CUDA styles),
To run on just CPUs (without using the GPU styles),
do something like the following:
mpirun -np 1 lmp_linux_double -v x 8 -v y 8 -v z 8 -v t 100 < in.lj
@ -81,23 +47,5 @@ node via a "-ppn" setting.
------------------------------------------------------------------------
To run with the USER-CUDA package, do something like the following:
mpirun -np 1 lmp_linux_single -c on -sf cuda -v x 16 -v y 16 -v z 16 -v t 100 < in.lj
mpirun -np 2 lmp_linux_double -c on -sf cuda -pk cuda 2 -v x 32 -v y 64 -v z 64 -v t 100 < in.eam
The "xyz" settings determine the problem size. The "t" setting
determines the number of timesteps. The "np" setting determines how
many MPI tasks (per node) the problem will run on. The numeric
argument to the "-pk" setting is the number of GPUs (per node); 1 GPU
is the default. Note that the number of MPI tasks must equal the
number of GPUs (both per node) with the USER-CUDA package.
These mpirun commands run on a single node. To run on multiple nodes,
scale up the "-np" setting, and control the number of MPI tasks per
node via a "-ppn" setting.
------------------------------------------------------------------------
If the script has "titan" in its name, it was run on the Titan
supercomputer at ORNL.

View File

@ -71,49 +71,33 @@ integration
----------------------------------------------------------------------
Here is a src/Make.py command which will perform a parallel build of a
LAMMPS executable "lmp_mpi" with all the packages needed by all the
examples. This assumes you have an MPI installed on your machine so
that "mpicxx" can be used as the wrapper compiler. It also assumes
you have an Intel compiler to use as the base compiler. You can leave
off the "-cc mpi wrap=icc" switch if that is not the case. You can
also leave off the "-fft fftw3" switch if you do not have the FFTW
(v3) installed as an FFT package, in which case the default KISS FFT
library will be used.
cd src
Make.py -j 16 -p none molecule manybody kspace granular rigid orig \
-cc mpi wrap=icc -fft fftw3 -a file mpi
----------------------------------------------------------------------
Here is how to run each problem, assuming the LAMMPS executable is
named lmp_mpi, and you are using the mpirun command to launch parallel
runs:
Serial (one processor runs):
lmp_mpi < in.lj
lmp_mpi < in.chain
lmp_mpi < in.eam
lmp_mpi < in.chute
lmp_mpi < in.rhodo
lmp_mpi -in in.lj
lmp_mpi -in in.chain
lmp_mpi -in in.eam
lmp_mpi -in in.chute
lmp_mpi -in in.rhodo
Parallel fixed-size runs (on 8 procs in this case):
mpirun -np 8 lmp_mpi < in.lj
mpirun -np 8 lmp_mpi < in.chain
mpirun -np 8 lmp_mpi < in.eam
mpirun -np 8 lmp_mpi < in.chute
mpirun -np 8 lmp_mpi < in.rhodo
mpirun -np 8 lmp_mpi -in in.lj
mpirun -np 8 lmp_mpi -in in.chain
mpirun -np 8 lmp_mpi -in in.eam
mpirun -np 8 lmp_mpi -in in.chute
mpirun -np 8 lmp_mpi -in in.rhodo
Parallel scaled-size runs (on 16 procs in this case):
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.lj
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.chain.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.eam
mpirun -np 16 lmp_mpi -var x 4 -var y 4 < in.chute.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.rhodo.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.lj
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.chain.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.eam
mpirun -np 16 lmp_mpi -var x 4 -var y 4 -in in.chute.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.rhodo.scaled
For each of the scaled-size runs you must set 3 variables as -var
command line switches. The variables x,y,z are used in the input

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

@ -0,0 +1,10 @@
\documentclass[12pt]{article}
\begin{document}
$$
E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c
$$
\end{document}

BIN
doc/src/JPG/bow_tutorial_01.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
doc/src/JPG/bow_tutorial_02.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
doc/src/JPG/bow_tutorial_03.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
doc/src/JPG/bow_tutorial_04.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
doc/src/JPG/bow_tutorial_05.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
doc/src/JPG/bow_tutorial_06.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
doc/src/JPG/bow_tutorial_07.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
doc/src/JPG/bow_tutorial_08.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
doc/src/JPG/bow_tutorial_09.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
doc/src/JPG/bow_tutorial_10.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="20 Jun 2017 version">
<META NAME="docnumber" CONTENT="10 Aug 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
20 Jun 2017 version :c,h4
10 Aug 2017 version :c,h4
Version info: :h4
@ -261,7 +261,6 @@ END_RST -->
:link(start_6,Section_start.html#start_6)
:link(start_7,Section_start.html#start_7)
:link(start_8,Section_start.html#start_8)
:link(start_9,Section_start.html#start_9)
:link(cmd_1,Section_commands.html#cmd_1)
:link(cmd_2,Section_commands.html#cmd_2)

View File

@ -56,7 +56,7 @@ timings; you can simply extrapolate from short runs.
For the set of runs, look at the timing data printed to the screen and
log file at the end of each LAMMPS run. "This
section"_Section_start.html#start_8 of the manual has an overview.
section"_Section_start.html#start_7 of the manual has an overview.
Running on one (or a few processors) should give a good estimate of
the serial performance and what portions of the timestep are taking
@ -226,16 +226,16 @@ re-build LAMMPS |
make machine |
prepare and test a regular LAMMPS simulation |
lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script |
enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_7, |
enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_6, |
only needed for KOKKOS package |
set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_7 or "package"_package.html command, |
set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_6 or "package"_package.html command, |
only if defaults need to be changed |
use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_7 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu
use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu
:tb(c=2,s=|)
Note that the first 4 steps can be done as a single command, using the
src/Make.py tool. This tool is discussed in "Section
2.4"_Section_start.html#start_4 of the manual, and its use is
Note that the first 4 steps can be done as a single command with
suitable make command invocations. This is discussed in "Section
4"_Section_packages.html of the manual, and its use is
illustrated in the individual accelerator sections. Typically these
steps only need to be done once, to create an executable that uses one
or more accelerator packages.

View File

@ -734,7 +734,9 @@ package"_Section_start.html#start_3.
"smd/wall/surface"_fix_smd_wall_surface.html,
"temp/rescale/eff"_fix_temp_rescale_eff.html,
"ti/spring"_fix_ti_spring.html,
"ttm/mod"_fix_ttm.html :tb(c=6,ea=c)
"ttm/mod"_fix_ttm.html,
"wall/ees"_fix_wall_ees.html,
"wall/region/ees"_fix_wall_ees.html :tb(c=6,ea=c)
:line
@ -1039,6 +1041,7 @@ package"_Section_start.html#start_3.
"lj/sdk (gko)"_pair_sdk.html,
"lj/sdk/coul/long (go)"_pair_sdk.html,
"lj/sdk/coul/msm (o)"_pair_sdk.html,
"meam/c"_pair_meam.html,
"meam/spline (o)"_pair_meam_spline.html,
"meam/sw/spline"_pair_meam_sw_spline.html,
"mgpt"_pair_mgpt.html,
@ -1073,7 +1076,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

View File

@ -71,7 +71,7 @@ style", with ... being fix, compute, pair, etc, it means that you
mistyped the style name or that the command is part of an optional
package which was not compiled into your executable. The list of
available styles in your executable can be listed by using "the -h
command-line argument"_Section_start.html#start_7. The installation
command-line argument"_Section_start.html#start_6. The installation
and compilation of optional packages is explained in the "installation
instructions"_Section_start.html#start_3.
@ -4696,9 +4696,9 @@ Self-explanatory. :dd
{Fix bond/create induced too many angles/dihedrals/impropers per atom} :dt
See the read_data command for info on setting the "extra angle per
atom", etc header values to allow for additional angles, etc to be
formed. :dd
See the read_data command for info on using the "extra/angle/per/atom",
(or dihedral, improper) keywords to allow for additional
angles, dihedrals, and impropers to be formed. :dd
{Fix bond/create needs ghost atoms from further away} :dt
@ -7876,18 +7876,20 @@ See the setting for tagint in the src/lmptype.h file. :dd
{New bond exceeded bonds per atom in create_bonds} :dt
See the read_data command for info on setting the "extra bond per
atom" header value to allow for additional bonds to be formed. :dd
See the read_data command for info on using the "extra/bond/per/atom"
keyword to allow for additional bonds to be formed
{New bond exceeded bonds per atom in fix bond/create} :dt
See the read_data command for info on setting the "extra bond per
atom" header value to allow for additional bonds to be formed. :dd
See the read_data command for info on using the "extra/bond/per/atom"
keyword to allow for additional bonds to be formed :dd
{New bond exceeded special list size in fix bond/create} :dt
See the special_bonds extra command for info on how to leave space in
the special bonds list to allow for additional bonds to be formed. :dd
See the "special_bonds extra" command
(or the "read_data extra/special/per/atom" command)
for info on how to leave space in the special bonds
list to allow for additional bonds to be formed. :dd
{Newton bond change after simulation box is defined} :dt
@ -9664,9 +9666,10 @@ you are running. :dd
{Special list size exceeded in fix bond/create} :dt
See the read_data command for info on setting the "extra special per
atom" header value to allow for additional special values to be
stored. :dd
See the special_bonds extra command
(or the read_data extra/special/per/atom command)
for info on how to leave space in the special bonds
list to allow for additional bonds to be formed. :dd
{Specified processors != physical processors} :dt
@ -9683,23 +9686,23 @@ Self-explanatory. :dd
{Subsequent read data induced too many angles per atom} :dt
See the create_box extra/angle/per/atom or read_data "extra angle per
atom" header value to set this limit larger. :dd
See the extra/angle/per/atom keyword for the create_box
or the read_data command to set this limit larger :dd
{Subsequent read data induced too many bonds per atom} :dt
See the create_box extra/bond/per/atom or read_data "extra bond per
atom" header value to set this limit larger. :dd
See the extra/bond/per/atom keyword for the create_box
or the read_data command to set this limit larger :dd
{Subsequent read data induced too many dihedrals per atom} :dt
See the create_box extra/dihedral/per/atom or read_data "extra
dihedral per atom" header value to set this limit larger. :dd
See the extra/dihedral/per/atom keyword for the create_box
or the read_data command to set this limit larger :dd
{Subsequent read data induced too many impropers per atom} :dt
See the create_box extra/improper/per/atom or read_data "extra
improper per atom" header value to set this limit larger. :dd
See the extra/improper/per/atom keyword for the create_box
or the read_data command to set this limit larger :dd
{Substitution for illegal variable} :dt

View File

@ -49,6 +49,7 @@ Lists of both kinds of directories are given below.
Lowercase directories :h4
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
airebo: polyethylene with AIREBO potential
balance: dynamic load balancing, 2d system
body: body particles, 2d system
cmap: CMAP 5-body contributions to CHARMM force field

View File

@ -54,7 +54,7 @@ restart files can be saved to disk using the "restart"_restart.html
command. At a later time, these binary files can be read via a
"read_restart"_read_restart.html command in a new script. Or they can
be converted to text data files using the "-r command-line
switch"_Section_start.html#start_7 and read by a
switch"_Section_start.html#start_6 and read by a
"read_data"_read_data.html command in a new script.
Here we give examples of 2 scripts that read either a binary restart
@ -337,7 +337,7 @@ All of the above examples work whether you are running on 1 or
multiple processors, but assumed you are running LAMMPS on a single
partition of processors. LAMMPS can be run on multiple partitions via
the "-partition" command-line switch as described in "this
section"_Section_start.html#start_7 of the manual.
section"_Section_start.html#start_6 of the manual.
In the last 2 examples, if LAMMPS were run on 3 partitions, the same
scripts could be used if the "index" and "loop" variables were
@ -387,7 +387,7 @@ for more info on packages.
In all these cases, you must run with one or more processors per
replica. The processors assigned to each replica are determined at
run-time by using the "-partition command-line
switch"_Section_start.html#start_7 to launch LAMMPS on multiple
switch"_Section_start.html#start_6 to launch LAMMPS on multiple
partitions, which in this context are the same as replicas. E.g.
these commands:
@ -395,7 +395,7 @@ mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre
would each run 8 replicas, on either 16 or 8 processors. Note the use
of the "-in command-line switch"_Section_start.html#start_7 to specify
of the "-in command-line switch"_Section_start.html#start_6 to specify
the input script which is required when running in multi-replica mode.
Also note that with MPI installed on a machine (e.g. your desktop),
@ -1872,7 +1872,7 @@ void lammps_free(void *) :pre
The lammps_open() function is used to initialize LAMMPS, passing in a
list of strings as if they were "command-line
arguments"_Section_start.html#start_7 when LAMMPS is run in
arguments"_Section_start.html#start_6 when LAMMPS is run in
stand-alone mode from the command line, and a MPI communicator for
LAMMPS to run under. It returns a ptr to the LAMMPS object that is
created, and which is used in subsequent library calls. The
@ -1938,7 +1938,7 @@ documentation in the src/library.cpp file for details, including
which quantities can be queried by name:
void *lammps_extract_global(void *, char *)
void lammps_extract_box(void *, double *, double *,
void lammps_extract_box(void *, double *, double *,
double *, double *, double *, int *, int *)
void *lammps_extract_atom(void *, char *)
void *lammps_extract_compute(void *, char *, int, int)
@ -2682,14 +2682,14 @@ bond_coeff 2 25.724 0.0 :pre
When running dynamics with the adiabatic core/shell model, the
following issues should be considered. The relative motion of
the core and shell particles corresponds to the polarization,
hereby an instantaneous relaxation of the shells is approximated
the core and shell particles corresponds to the polarization,
hereby an instantaneous relaxation of the shells is approximated
and a fast core/shell spring frequency ensures a nearly constant
internal kinetic energy during the simulation.
internal kinetic energy during the simulation.
Thermostats can alter this polarization behaviour, by scaling the
internal kinetic energy, meaning the shell will not react freely to
its electrostatic environment.
Therefore it is typically desirable to decouple the relative motion of
internal kinetic energy, meaning the shell will not react freely to
its electrostatic environment.
Therefore it is typically desirable to decouple the relative motion of
the core/shell pair, which is an imaginary degree of freedom, from the
real physical system. To do that, the "compute
temp/cs"_compute_temp_cs.html command can be used, in conjunction with
@ -2721,13 +2721,13 @@ fix thermostatequ all nve # integrator as needed f
fix_modify thermoberendsen temp CSequ
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
The pressure for the core/shell system is computed via the regular
LAMMPS convention by "treating the cores and shells as individual
particles"_#MitchellFincham2. For the thermo output of the pressure
as well as for the application of a barostat, it is necessary to
use an additional "pressure"_compute_pressure compute based on the
default "temperature"_compute_temp and specifying it as a second
argument in "fix modify"_fix_modify.html and
The pressure for the core/shell system is computed via the regular
LAMMPS convention by "treating the cores and shells as individual
particles"_#MitchellFincham2. For the thermo output of the pressure
as well as for the application of a barostat, it is necessary to
use an additional "pressure"_compute_pressure compute based on the
default "temperature"_compute_temp and specifying it as a second
argument in "fix modify"_fix_modify.html and
"thermo_modify"_thermo_modify.html resulting in:
(...)
@ -2757,18 +2757,18 @@ temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
velocity all create 1427 134 bias yes temp CSequ
velocity all scale 1427 temp CSequ :pre
To maintain the correct polarizability of the core/shell pairs, the
kinetic energy of the internal motion shall remain nearly constant.
Therefore the choice of spring force and mass ratio need to ensure
much faster relative motion of the 2 atoms within the core/shell pair
than their center-of-mass velocity. This allows the shells to
effectively react instantaneously to the electrostatic environment and
To maintain the correct polarizability of the core/shell pairs, the
kinetic energy of the internal motion shall remain nearly constant.
Therefore the choice of spring force and mass ratio need to ensure
much faster relative motion of the 2 atoms within the core/shell pair
than their center-of-mass velocity. This allows the shells to
effectively react instantaneously to the electrostatic environment and
limits energy transfer to or from the core/shell oscillators.
This fast movement also dictates the timestep that can be used.
The primary literature of the adiabatic core/shell model suggests that
the fast relative motion of the core/shell pairs only allows negligible
energy transfer to the environment.
energy transfer to the environment.
The mentioned energy transfer will typically lead to a small drift
in total energy over time. This internal energy can be monitored
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
@ -2790,7 +2790,7 @@ pairs as chunks.
For example if core/shell pairs are the only molecules:
read_data NaCl_CS_x0.1_prop.data
read_data NaCl_CS_x0.1_prop.data
compute prop all property/atom molecule
compute cs_chunk all chunk/atom c_prop
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs

File diff suppressed because it is too large Load Diff

View File

@ -198,7 +198,7 @@ file and the shared library.
11.3 Building LAMMPS as a shared library :link(py_3),h4
Instructions on how to build LAMMPS as a shared library are given in
"Section 2.5"_Section_start.html#start_5. A shared library is one
"Section 2.4"_Section_start.html#start_4. A shared library is one
that is dynamically loadable, which is what Python requires to wrap
LAMMPS. On Linux this is a library file that ends in ".so", not ".a".
@ -217,7 +217,7 @@ NOTE: If you are building LAMMPS with an MPI or FFT library or other
auxiliary libraries (used by various packages), then all of these
extra libraries must also be shared libraries. If the LAMMPS
shared-library build fails with an error complaining about this, see
"Section 2.5"_Section_start.html#start_5 for more details.
"Section 2.4"_Section_start.html#start_4 for more details.
:line
@ -439,7 +439,7 @@ first importing from the lammps.py file:
>>> CDLL("liblammps.so") :pre
If an error occurs, carefully go thru the steps in "Section
2.5"_Section_start.html#start_5 and above about building a shared
2.4"_Section_start.html#start_4 and above about building a shared
library and about insuring Python can find the necessary two files
it needs.
@ -714,7 +714,7 @@ 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.
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.

View File

@ -14,11 +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.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)
2.4 "Building LAMMPS as a library"_#start_4
2.5 "Running LAMMPS"_#start_5
2.6 "Command-line options"_#start_6
2.7 "Screen output"_#start_7
2.8 "Tips for users of previous versions"_#start_8 :all(b)
:line
@ -434,20 +434,39 @@ files. Note that on some large parallel machines which use "modules"
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.
trouble finding. See the src/MAKE/OPTIONS/Makefile.fftw file for an
example of how to specify these variables to use the FFTW3 library.
FFTW is a fast, portable library that should also work on any
platform. You can download it from
FFTW is fast, portable library that should also work on any platform
and typically be faster than KISS FFT. You can download it from
"www.fftw.org"_http://www.fftw.org. Both the legacy version 2.1.X and
the newer 3.X versions are supported as -DFFT_FFTW2 or -DFFT_FFTW3.
Building FFTW for your box should be as simple as ./configure; make.
Note that on some platforms FFTW2 has been pre-installed, and uses
renamed files indicating the precision it was compiled with,
e.g. sfftw.h, or dfftw.h instead of fftw.h. In this case, you can
specify an additional define variable for FFT_INC called -DFFTW_SIZE,
which will select the correct include file. In this case, for FFT_LIB
you must also manually specify the correct library, namely -lsfftw or
-ldfftw.
Building FFTW for your box should be as simple as ./configure; make;
make install. The install command typically requires root privileges
(e.g. invoke it via sudo), unless you specify a local directory with
the "--prefix" option of configure. Type "./configure --help" to see
various options.
If you wish to have FFTW support for single-precision FFTs (see below
about -DFFT_SINGLE) in addition to the default double-precision FFTs,
you will need to build FFTW a second time for single-precision. For
FFTW3, do this via:
make clean
./configure --enable-single; make; make install :pre
which should produce the additional library libfftw3f.a.
For FFTW2, do this:
make clean
./configure --enable-float --enable-type-prefix; make; make install :pre
which should produce the additional library libsfftw.a and additional
include file sfttw.a. Note that on some platforms FFTW2 has been
pre-installed for both single- and double-precision, and may already
have these files as well as libdfftw.a and dfftw.h for double
precision.
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
@ -459,6 +478,16 @@ accuracy for reduced memory use and parallel communication costs for
transposing 3d FFT data. Note that single precision FFTs have only
been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.
When using -DFFT_SINGLE with FFTW3 or FFTW2, you need to build FFTW
with support for single-precision, as explained above. For FFTW3 you
also need to include -lfftw3f with the FFT_LIB setting, in addition to
-lfftw3. For FFTW2, you also need to specify -DFFT_SIZE with the
FFT_INC setting and -lsfftw with the FFT_LIB setting (in place of
-lfftw). Similarly, if FFTW2 has been preinstalled with an explicit
double-precision library (libdfftw.a and not the default libfftw.a),
then you can specify -DFFT_SIZE (and not -DFFT_SINGLE), and specify
-ldfftw to use double-precision FFTs.
Step 7 :h6
The 3 JPG variables allow you to specify a JPEG and/or PNG library
@ -558,8 +587,7 @@ 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.
@ -630,7 +658,16 @@ utilities.
For Cygwin and the MinGW cross-compilers, suitable makefiles are
provided in src/MAKE/MACHINES. When using other compilers, like
Visual C++ or Intel compilers for Windows, you may have to implement
your own build system. Since none of the current LAMMPS core developers
your own build system. Due to differences between the Windows OS
and Windows system libraries to Unix-like environments like Linux
or MacOS, when compiling for Windows a few adjustments may be needed:
Do not set the -DLAMMPS_MEMALIGN define (see LMP_INC makefile variable)
Add -lwsock32 -lpsapi to the linker flags (see LIB makefile variable)
Try adding -static-libgcc or -static or both to the linker flags when your
LAMMPS executable complains about missing .dll files :ul
Since none of the current LAMMPS core developers
has significant experience building executables on Windows, we are
happy to distribute contributed instructions and modifications, but
we cannot provide support for those.
@ -685,7 +722,7 @@ type
lmp_machine -h :pre
to run your executable with the optional "-h command-line
switch"_#start_7 for "help", which will list the styles and commands
switch"_#start_6 for "help", which will list the styles and commands
known to your executable, and immediately exit.
:line
@ -880,7 +917,7 @@ 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.
(CUDA), and Intel KNLs.
Makefile.intel_cpu
Makefile.intel_phi

View File

@ -54,7 +54,7 @@ specify the # of GPUs per node
use GPU styles in your input script :ul
The latter two steps can be done using the "-pk gpu" and "-sf gpu"
"command-line switches"_Section_start.html#start_7 respectively. Or
"command-line switches"_Section_start.html#start_6 respectively. Or
the effect of the "-pk" or "-sf" switches can be duplicated by adding
the "package gpu"_package.html or "suffix gpu"_suffix.html commands
respectively to your input script.
@ -62,7 +62,7 @@ respectively to your input script.
[Required hardware/software:]
To use this package, you currently need to have an NVIDIA GPU and
install the NVIDIA Cuda software on your system:
install the NVIDIA CUDA software on your system:
Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/0/information
Go to http://www.nvidia.com/object/cuda_get.html
@ -74,13 +74,8 @@ Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) t
This requires two steps (a,b): build the GPU library, then build
LAMMPS with the GPU package.
You can do both these steps in one line, using the src/Make.py script,
described in "Section 2.4"_Section_start.html#start_4 of the manual.
Type "Make.py -h" for help. If run from the src directory, this
command will create src/lmp_gpu using src/MAKE/Makefile.mpi as the
starting Makefile.machine:
Make.py -p gpu -gpu mode=single arch=31 -o gpu -a lib-gpu file mpi :pre
You can do both these steps in one line as described in
"Section 4"_Section_packages.html of the manual.
Or you can follow these two (a,b) steps:
@ -90,7 +85,7 @@ The GPU library is in lammps/lib/gpu. Select a Makefile.machine (in
lib/gpu) appropriate for your system. You should pay special
attention to 3 settings in this makefile.
CUDA_HOME = needs to be where NVIDIA Cuda software is installed on your system
CUDA_HOME = needs to be where NVIDIA CUDA software is installed on your system
CUDA_ARCH = needs to be appropriate to your GPUs
CUDA_PREC = precision (double, mixed, single) you desire :ul
@ -151,9 +146,9 @@ automatically if you create more MPI tasks/node than there are
GPUs/mode. E.g. with 8 MPI tasks/node and 2 GPUs, each GPU will be
shared by 4 MPI tasks.
Use the "-sf gpu" "command-line switch"_Section_start.html#start_7,
Use the "-sf gpu" "command-line switch"_Section_start.html#start_6,
which will automatically append "gpu" to styles that support it. Use
the "-pk gpu Ng" "command-line switch"_Section_start.html#start_7 to
the "-pk gpu Ng" "command-line switch"_Section_start.html#start_6 to
set Ng = # of GPUs/node to use.
lmp_machine -sf gpu -pk gpu 1 -in in.script # 1 MPI task uses 1 GPU
@ -188,7 +183,7 @@ pair_style lj/cut/gpu 2.5 :pre
You must also use the "package gpu"_package.html command to enable the
GPU package, unless the "-sf gpu" or "-pk gpu" "command-line
switches"_Section_start.html#start_7 were used. It specifies the
switches"_Section_start.html#start_6 were used. It specifies the
number of GPUs/node to use, as well as other options.
[Speed-ups to expect:]

View File

@ -42,11 +42,11 @@ precision mode. Performance improvements are shown compared to
LAMMPS {without using other acceleration packages} as these are
under active development (and subject to performance changes). The
measurements were performed using the input files available in
the src/USER-INTEL/TEST directory with the provided run script.
These are scalable in size; the results given are with 512K
particles (524K for Liquid Crystal). Most of the simulations are
the src/USER-INTEL/TEST directory with the provided run script.
These are scalable in size; the results given are with 512K
particles (524K for Liquid Crystal). Most of the simulations are
standard LAMMPS benchmarks (indicated by the filename extension in
parenthesis) with modifications to the run length and to add a
parenthesis) with modifications to the run length and to add a
warmup run (for use with offload benchmarks).
:c,image(JPG/user_intel.png)
@ -64,30 +64,30 @@ simulation rates and instructions to reproduce.
In most molecular dynamics software, parallelization parameters
(# of MPI, OpenMP, and vectorization) can change the results due
to changing the order of operations with finite-precision
to changing the order of operations with finite-precision
calculations. The USER-INTEL package is deterministic. This means
that the results should be reproducible from run to run with the
{same} parallel configurations and when using determinstic
{same} parallel configurations and when using determinstic
libraries or library settings (MPI, OpenMP, FFT). However, there
are differences in the USER-INTEL package that can change the
order of operations compared to LAMMPS without acceleration:
Neighbor lists can be created in a different order :ulb,l
Bins used for sorting atoms can be oriented differently :l
The default stencil order for PPPM is 7. By default, LAMMPS will
calculate other PPPM parameters to fit the desired acuracy with
The default stencil order for PPPM is 7. By default, LAMMPS will
calculate other PPPM parameters to fit the desired acuracy with
this order :l
The {newton} setting applies to all atoms, not just atoms shared
between MPI tasks :l
Vectorization can change the order for adding pairwise forces :l
:ule
The precision mode (described below) used with the USER-INTEL
package can change the {accuracy} of the calculations. For the
default {mixed} precision option, calculations between pairs or
triplets of atoms are performed in single precision, intended to
The precision mode (described below) used with the USER-INTEL
package can change the {accuracy} of the calculations. For the
default {mixed} precision option, calculations between pairs or
triplets of atoms are performed in single precision, intended to
be within the inherent error of MD simulations. All accumulation
is performed in double precision to prevent the error from growing
is performed in double precision to prevent the error from growing
with the number of atoms in the simulation. {Single} precision
mode should not be used without appropriate validation.
@ -106,7 +106,9 @@ $t should be 2 for Intel Xeon CPUs and 2 or 4 for Intel Xeon Phi :l
For some of the simple 2-body potentials without long-range
electrostatics, performance and scalability can be better with
the "newton off" setting added to the input script :l
If using {kspace_style pppm} in the input script, add
For simulations on higher node counts, add "processors * * * grid
numa" to the beginning of the input script for better scalability :l
If using {kspace_style pppm} in the input script, add
"kspace_modify diff ad" for better performance :l
:ule
@ -115,12 +117,12 @@ For Intel Xeon Phi CPUs:
Runs should be performed using MCDRAM. :ulb,l
:ule
For simulations using {kspace_style pppm} on Intel CPUs
For simulations using {kspace_style pppm} on Intel CPUs
supporting AVX-512:
Add "kspace_modify diff ad" to the input script :ulb,l
The command-line option should be changed to
"-pk intel 0 omp $r lrt yes -sf intel" where $r is the number of
The command-line option should be changed to
"-pk intel 0 omp $r lrt yes -sf intel" where $r is the number of
threads minus 1. :l
Do not use thread affinity (set KMP_AFFINITY=none) :l
The "newton off" setting may provide better scalability :l
@ -223,11 +225,9 @@ source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh
# or psxevars.csh for C-shell
make intel_cpu_intelmpi :pre
Alternatively, the build can be accomplished with the src/Make.py
script, described in "Section 2.4"_Section_start.html#start_4 of the
manual. Type "Make.py -h" for help. For an example:
Make.py -v -p intel omp -intel cpu -a file intel_cpu_intelmpi :pre
Alternatively this can be done as a single command with
suitable make command invocations. This is discussed in "Section
4"_Section_packages.html of the manual.
Note that if you build with support for a Phi coprocessor, the same
binary can be used on nodes with or without coprocessors installed.
@ -242,8 +242,7 @@ highly recommended for CCFLAGS and LINKFLAGS. LIB should include
is required for CCFLAGS and "-qoffload" is required for LINKFLAGS.
Other recommended CCFLAG options for best performance are
"-O2 -fno-alias -ansi-alias -qoverride-limits fp-model fast=2
-no-prec-div". The Make.py command will add all of these
automatically.
-no-prec-div".
NOTE: The vectorization and math capabilities can differ depending on
the CPU. For Intel compilers, the "-x" flag specifies the type of
@ -299,7 +298,7 @@ Hyper-Threading technology disabled.
To enable USER-INTEL optimizations for all available styles used in
the input script, the "-sf intel"
"command-line switch"_Section_start.html#start_7 can be used without
"command-line switch"_Section_start.html#start_6 can be used without
any requirement for editing the input script. This switch will
automatically append "intel" to styles that support it. It also
invokes a default command: "package intel 1"_package.html. This
@ -312,7 +311,7 @@ support, that 1 coprocessor per node will be used with automatic
balancing of work between the CPU and the coprocessor.
You can specify different options for the USER-INTEL package by using
the "-pk intel Nphi" "command-line switch"_Section_start.html#start_7
the "-pk intel Nphi" "command-line switch"_Section_start.html#start_6
with keyword/value pairs as specified in the documentation. Here,
Nphi = # of Xeon Phi coprocessors/node (ignored without offload
support). Common options to the USER-INTEL package include {omp} to
@ -352,7 +351,7 @@ follow in the input script.
NOTE: The USER-INTEL package will perform better with modifications
to the input script when "PPPM"_kspace_style.html is used:
"kspace_modify diff ad"_kspace_modify.html should be added to the
"kspace_modify diff ad"_kspace_modify.html should be added to the
input script.
Long-Range Thread (LRT) mode is an option to the "package
@ -385,13 +384,17 @@ can performed automatically by using "-sf hybrid intel opt" or
and "omp" suffixes can be appended manually in the input script. For
the latter, the "package omp"_package.html command must be in the
input script or the "-pk omp Nt" "command-line
switch"_Section_start.html#start_7 must be used where Nt is the
switch"_Section_start.html#start_6 must be used where Nt is the
number of OpenMP threads. The number of OpenMP threads should not be
set differently for the different packages. Note that the "suffix
hybrid intel omp"_suffix.html command can also be used within the
input script to automatically append the "omp" suffix to styles when
USER-INTEL styles are not available.
NOTE: For simulations on higher node counts, add "processors * * *
grid numa"_processors.html" to the beginning of the input script for
better scalability.
When running on many nodes, performance might be better when using
fewer OpenMP threads and more MPI tasks. This will depend on the
simulation and the machine. Using the "verlet/split"_run_style.html
@ -480,7 +483,7 @@ sorting"_atom_modify.html is changed to 1 so that the per-atom data is
effectively sorted at every rebuild of the neighbor lists. All the
available coprocessor threads on each Phi will be divided among MPI
tasks, unless the {tptask} option of the "-pk intel" "command-line
switch"_Section_start.html#start_7 is used to limit the coprocessor
switch"_Section_start.html#start_6 is used to limit the coprocessor
threads per MPI task.
[Restrictions:]

View File

@ -60,8 +60,7 @@ More details follow.
use a C++11 compatible compiler
make yes-kokkos
make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package
make kokkos_omp # or Makefile.kokkos_omp already has variable set
Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Make.py :pre
make kokkos_omp # or Makefile.kokkos_omp already has variable set :pre
mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads
mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
@ -82,8 +81,7 @@ use a C++11 compatible compiler
KOKKOS_DEVICES = Cuda, OpenMP
KOKKOS_ARCH = Kepler35
make yes-kokkos
make machine
Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda :pre
make machine :pre
mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj # one MPI task, 6 threads on CPU
mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj # ditto on 4 nodes :pre
@ -98,8 +96,7 @@ use a C++11 compatible compiler
KOKKOS_DEVICES = OpenMP
KOKKOS_ARCH = KNC
make yes-kokkos
make machine
Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi :pre
make machine :pre
host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading):
mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240
@ -116,7 +113,7 @@ To build with Kokkos support for CPUs, your compiler must support the
OpenMP interface. You should have one or more multi-core CPUs so that
multiple threads can be launched by each MPI task running on a CPU.
To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA software
version 7.5 or later must be installed on your system. See the
discussion for the "GPU"_accelerate_gpu.html package for details of
how to check and do this.
@ -135,16 +132,16 @@ mode like the USER-INTEL package supports.
You must choose at build time whether to build for CPUs (OpenMP),
GPUs, or Phi.
You can do any of these in one line, using the src/Make.py script,
described in "Section 2.4"_Section_start.html#start_4 of the manual.
Type "Make.py -h" for help. If run from the src directory, these
You can do any of these in one line, using the suitable make command
line flags as described in "Section 4"_Section_packages.html of the
manual. If run from the src directory, these
commands will create src/lmp_kokkos_omp, lmp_kokkos_cuda, and
lmp_kokkos_phi. Note that the OMP and PHI options use
src/MAKE/Makefile.mpi as the starting Makefile.machine. The CUDA
option uses src/MAKE/OPTIONS/Makefile.kokkos_cuda.
The latter two steps can be done using the "-k on", "-pk kokkos" and
"-sf kk" "command-line switches"_Section_start.html#start_7
"-sf kk" "command-line switches"_Section_start.html#start_6
respectively. Or the effect of the "-pk" or "-sf" switches can be
duplicated by adding the "package kokkos"_package.html or "suffix
kk"_suffix.html commands respectively to your input script.
@ -280,10 +277,10 @@ specify how many Phi coprocessors there are per node; each
coprocessors is simply treated as running some number of MPI tasks.
You must use the "-k on" "command-line
switch"_Section_start.html#start_7 to enable the KOKKOS package. It
switch"_Section_start.html#start_6 to enable the KOKKOS package. It
takes additional arguments for hardware settings appropriate to your
system. Those arguments are "documented
here"_Section_start.html#start_7. The two most commonly used
here"_Section_start.html#start_6. The two most commonly used
options are:
-k on t Nt g Ng :pre
@ -304,12 +301,12 @@ The "-k on" switch also issues a "package kokkos" command (with no
additional arguments) which sets various KOKKOS options to default
values, as discussed on the "package"_package.html command doc page.
Use the "-sf kk" "command-line switch"_Section_start.html#start_7,
Use the "-sf kk" "command-line switch"_Section_start.html#start_6,
which will automatically append "kk" to styles that support it. Use
the "-pk kokkos" "command-line switch"_Section_start.html#start_7 if
the "-pk kokkos" "command-line switch"_Section_start.html#start_6 if
you wish to change any of the default "package kokkos"_package.html
optionns set by the "-k on" "command-line
switch"_Section_start.html#start_7.
switch"_Section_start.html#start_6.
@ -323,7 +320,7 @@ However, when running in MPI-only mode with 1 thread per MPI task, it
will typically be faster to use "half" neighbor lists and set the
Newton flag to "on", just as is the case for non-accelerated pair
styles. You can do this with the "-pk" "command-line
switch"_Section_start.html#start_7.
switch"_Section_start.html#start_6.
[Or run with the KOKKOS package by editing an input script:]
@ -332,7 +329,7 @@ appropriate thread and GPU values for host=OMP or host=MIC or
device=CUDA are the same.
You must still use the "-k on" "command-line
switch"_Section_start.html#start_7 to enable the KOKKOS package, and
switch"_Section_start.html#start_6 to enable the KOKKOS package, and
specify its additional arguments for hardware options appropriate to
your system, as documented above.
@ -343,7 +340,7 @@ pair_style lj/cut/kk 2.5 :pre
You only need to use the "package kokkos"_package.html command if you
wish to change any of its option defaults, as set by the "-k on"
"command-line switch"_Section_start.html#start_7.
"command-line switch"_Section_start.html#start_6.
[Speed-ups to expect:]
@ -389,7 +386,7 @@ If N is the number of physical cores/node, then the number of MPI
tasks/node * number of threads/task should not exceed N, and should
typically equal N. Note that the default threads/task is 1, as set by
the "t" keyword of the "-k" "command-line
switch"_Section_start.html#start_7. If you do not change this, no
switch"_Section_start.html#start_6. If you do not change this, no
additional parallelism (beyond MPI) will be invoked on the host
CPU(s).
@ -429,7 +426,7 @@ details).
The -np setting of the mpirun command should set the number of MPI
tasks/node to be equal to the # of physical GPUs on the node.
Use the "-k" "command-line switch"_Section_commands.html#start_7 to
Use the "-k" "command-line switch"_Section_commands.html#start_6 to
specify the number of GPUs per node, and the number of threads per MPI
task. As above for multi-core CPUs (and no GPU), if N is the number
of physical cores/node, then the number of MPI tasks/node * number of

View File

@ -23,8 +23,7 @@ one or more 16-core nodes. More details follow.
use -fopenmp with CCFLAGS and LINKFLAGS in Makefile.machine
make yes-user-omp
make mpi # build with USER-OMP package, if settings added to Makefile.mpi
make omp # or Makefile.omp already has settings
Make.py -v -p omp -o mpi -a file mpi # or one-line build via Make.py :pre
make omp # or Makefile.omp already has settings :pre
lmp_mpi -sf omp -pk omp 16 < in.script # 1 MPI task, 16 threads
mpirun -np 4 lmp_mpi -sf omp -pk omp 4 -in in.script # 4 MPI tasks, 4 threads/task
@ -40,14 +39,11 @@ each MPI task running on a CPU.
The lines above illustrate how to include/build with the USER-OMP
package in two steps, using the "make" command. Or how to do it with
one command via the src/Make.py script, described in "Section
2.4"_Section_start.html#start_4 of the manual. Type "Make.py -h" for
help.
one command as described in "Section 4"_Section_packages.html of the manual.
Note that the CCFLAGS and LINKFLAGS settings in Makefile.machine must
include "-fopenmp". Likewise, if you use an Intel compiler, the
CCFLAGS setting must include "-restrict". The Make.py command will
add these automatically.
CCFLAGS setting must include "-restrict".
[Run with the USER-OMP package from the command line:]
@ -62,14 +58,14 @@ threads/task should not exceed the physical number of cores (on a
node), otherwise performance will suffer.
As in the lines above, use the "-sf omp" "command-line
switch"_Section_start.html#start_7, which will automatically append
switch"_Section_start.html#start_6, which will automatically append
"omp" to styles that support it. The "-sf omp" switch also issues a
default "package omp 0"_package.html command, which will set the
number of threads per MPI task via the OMP_NUM_THREADS environment
variable.
You can also use the "-pk omp Nt" "command-line
switch"_Section_start.html#start_7, to explicitly set Nt = # of OpenMP
switch"_Section_start.html#start_6, to explicitly set Nt = # of OpenMP
threads per MPI task to use, as well as additional options. Its
syntax is the same as the "package omp"_package.html command whose doc
page gives details, including the default values used if it is not

View File

@ -21,8 +21,7 @@ Here is a quick overview of how to use the OPT package. More details
follow.
make yes-opt
make mpi # build with the OPT package
Make.py -v -p opt -o mpi -a file mpi # or one-line build via Make.py :pre
make mpi # build with the OPT package :pre
lmp_mpi -sf opt -in in.script # run in serial
mpirun -np 4 lmp_mpi -sf opt -in in.script # run in parallel :pre
@ -35,18 +34,15 @@ None.
The lines above illustrate how to build LAMMPS with the OPT package in
two steps, using the "make" command. Or how to do it with one command
via the src/Make.py script, described in "Section
2.4"_Section_start.html#start_4 of the manual. Type "Make.py -h" for
help.
as described in "Section 4"_Section_packages.html of the manual.
Note that if you use an Intel compiler to build with the OPT package,
the CCFLAGS setting in your Makefile.machine must include "-restrict".
The Make.py command will add this automatically.
[Run with the OPT package from the command line:]
As in the lines above, use the "-sf opt" "command-line
switch"_Section_start.html#start_7, which will automatically append
switch"_Section_start.html#start_6, which will automatically append
"opt" to styles that support it.
[Or run with the OPT package by editing an input script:]

View File

@ -63,7 +63,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -94,7 +94,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -50,7 +50,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -63,7 +63,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -53,7 +53,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -65,7 +65,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -51,7 +51,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -50,7 +50,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -57,7 +57,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -57,7 +57,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -136,7 +136,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -394,7 +394,7 @@ weights. It assigns the same weight to each particle owned by a
processor based on the total computational time spent by that
processor. See details below on what time window is used. It uses
the same timing information as is used for the "MPI task timing
breakdown"_Section_start.html#start_8, namely, for sections {Pair},
breakdown"_Section_start.html#start_7, namely, for sections {Pair},
{Bond}, {Kspace}, and {Neigh}. The time spent in those portions of
the timestep are measured for each MPI rank, summed, then divided by
the number of particles owned by that processor. I.e. the weight is

View File

@ -56,7 +56,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -59,7 +59,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -62,7 +62,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -54,7 +54,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -53,7 +53,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -53,7 +53,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -30,7 +30,7 @@ The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
to define a modified finite extensible nonlinear elastic (FENE) potential
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
in the oxDNA force field for coarse-grained modelling of DNA.
in the oxDNA force field for coarse-grained modelling of DNA.
The following coefficients must be defined for the bond type via the
"bond_coeff"_bond_coeff.html command as given in the above example, or in
@ -43,8 +43,8 @@ r0 (distance) :ul
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
style {oxdna2/dh} have to be defined.
The coefficients in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
@ -66,7 +66,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
"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

View File

@ -88,7 +88,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -133,7 +133,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -42,7 +42,7 @@ where the index {j} goes over the {n}i nearest neighbors of atom
{i}, and the index {k} goes over the {n}ij common nearest neighbors
between atom {i} and atom {j}. Rik and Rjk are the vectors connecting atom
{k} to atoms {i} and {j}. The quantity in the double sum is computed
for each atom.
for each atom.
The CNP calculation is sensitive to the specified cutoff value.
You should ensure that the appropriate nearest neighbors of an atom are

View File

@ -76,7 +76,9 @@ command for the types of the two atoms is used. For the {radius}
setting, the sum of the radii of the two particles is used as a
cutoff. For example, this is appropriate for granular particles which
only interact when they are overlapping, as computed by "granular pair
styles"_pair_gran.txt.
styles"_pair_gran.txt. Note that if a granular model defines atom
types such that all particles of a specific type are monodisperse
(same diameter), then the two settings are effectively identical.
Note that as atoms migrate from processor to processor, there will be
no consistent ordering of the entries within the local vector or array

View File

@ -117,7 +117,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -79,6 +79,9 @@ the two atoms is used. For the {radius} setting, the sum of the radii
of the two particles is used as a cutoff. For example, this is
appropriate for granular particles which only interact when they are
overlapping, as computed by "granular pair styles"_pair_gran.html.
Note that if a granular model defines atom types such that all
particles of a specific type are monodisperse (same diameter), then
the two settings are effectively identical.
If the inputs are bond, angle, etc attributes, the local data is
generated by looping over all the atoms owned on a processor and

View File

@ -180,9 +180,18 @@ will register an arbitrarily large spike at whatever distance they
happen to be at, and zero everywhere else. Coord(r) will show a step
change from zero to one at the location of the spike in g(r).
NOTE: compute rdf can handle dynamic groups and systems where atoms
are added or removed, but this causes that certain normalization
parameters need to be recomputed in every step and include collective
communication operations. This will reduce performance and limit
parallel efficiency and scaling. For systems, where only the type
of atoms changes (e.g. when using "fix atom/swap"_fix_atom_swap.html),
you need to explicitly request the dynamic normalization updates
via "compute_modify dynamic yes"_compute_modify.html
[Related commands:]
"fix ave/time"_fix_ave_time.html
"fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html
[Default:]

View File

@ -79,7 +79,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -86,7 +86,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -217,7 +217,7 @@ This compute is part of the VORONOI package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
It also requiers you have a copy of the Voro++ library built and
It also requires you have a copy of the Voro++ library built and
installed on your system. See instructions on obtaining and
installing the Voro++ software in the src/VORONOI/README file.

View File

@ -10,53 +10,93 @@ create_bonds command :h3
[Syntax:]
create_bonds group-ID group2-ID btype rmin rmax :pre
create_bonds style args ... keyword value ... :pre
group-ID = ID of first group
group2-ID = ID of second group, bonds will be between atoms in the 2 groups
btype = bond type of created bonds
rmin = minimum distance between pair of atoms to bond together
rmax = minimum distance between pair of atoms to bond together :ul
style = {many} or {single/bond} or {single/angle} or {single/dihedral} :ule,l
{many} args = group-ID group2-ID btype rmin rmax
group-ID = ID of first group
group2-ID = ID of second group, bonds will be between atoms in the 2 groups
btype = bond type of created bonds
rmin = minimum distance between pair of atoms to bond together
rmax = minimum distance between pair of atoms to bond together
{single/bond} args = btype batom1 batom2
btype = bond type of new bond
batom1,batom2 = atom IDs for two atoms in bond
{single/angle} args = atype aatom1 aatom2 aatom3
atype = bond type of new angle
aatom1,aatom2,aatom3 = atom IDs for three atoms in angle
{single/dihedral} args = dtype datom1 datom2 datom3 datom4
dtype = bond type of new dihedral
datom1,datom2,datom3,datom4 = atom IDs for four atoms in dihedral :pre
zero or more keyword/value pairs may be appended :l
keyword = {special} :l
{special} value = {yes} or {no} :pre
:ule
[Examples:]
create_bonds all all 1 1.0 1.2
create_bonds surf solvent 3 2.0 2.4 :pre
create_bonds many all all 1 1.0 1.2
create_bonds many surf solvent 3 2.0 2.4
create_bond single/bond 1 1 2
create_bond single/angle 5 52 98 107 special no :pre
[Description:]
Create bonds between pairs of atoms that meet specified distance
criteria. The bond interactions can then be computed during a
simulation by the bond potential defined by the
"bond_style"_bond_style.html and "bond_coeff"_bond_coeff.html
commands. This command is useful for adding bonds to a system,
e.g. between nearest neighbors in a lattice of atoms, without having
to enumerate all the bonds in the data file read by the
"read_data"_read_data.html command.
Create bonds between pairs of atoms that meet a specified distance
criteria. Or create a single bond, angle, or dihedral between 2, 3,
or 4 specified atoms.
Note that the flexibility of this command is limited. It can be used
several times to create different types of bond at different
distances. But it cannot typically create all the bonds that would
normally be defined in a complex system of molecules. Also note that
this command does not add any 3-body or 4-body interactions which,
depending on your model, may be induced by added bonds,
e.g. "angle"_angle_style.html, "dihedral"_dihedral_style.html, or
"improper"_improper_style.html interactions.
The new bond (angle, dihedral) interactions will then be computed
during a simulation by the bond (angle, dihedral) potential defined by
the "bond_style"_bond_style.html, "bond_coeff"_bond_coeff.html,
"angle_style"_angle_style.html, "angle_coeff"_angle_coeff.html,
"dihedral_style"_dihedral_style.html,
"dihedral_coeff"_dihedral_coeff.html commands.
All created bonds will be between pairs of atoms I,J where I is in one
of the two specified groups, and J is in the other. The two groups
can be the same, e.g. group "all". The created bonds will be of bond
type {btype}, where {btype} must be a value between 1 and the number
of bond types defined. This maximum value is set by the "bond types"
field in the header of the data file read by the
"read_data"_read_data.html command, or via the optional "bond/types"
argument of the "create_box"_create_box.html command.
The {many} style is useful for adding bonds to a system, e.g. between
nearest neighbors in a lattice of atoms, without having to enumerate
all the bonds in the data file read by the "read_data"_read_data.html
command.
The {single} styles are useful for adding bonds, angles, dihedrals
to a system incrementally, then continuing a simulation.
Note that this command does not auto-create any angle or dihedral
interactions when a bond is added. Nor does it auto-create any bonds
when an angle or dihedral is added. Or auto-create any angles when a
dihedral is added. Thus the flexibility of this command is limited.
It can be used several times to create different types of bond at
different distances. But it cannot typically auto-create all the
bonds or angles or dihedral that would normally be defined in a data
file for a complex system of molecules.
NOTE: If the system has no bonds (angles, dihedrals) to begin with, or
if more bonds per atom are being added than currently exist, then you
must insure that the number of bond types and the maximum number of
bonds per atom are set to large enough values. And similarly for
angles and dihedrals. Otherwise an error may occur when too many
bonds (angles, dihedrals) are added to an atom. If the
"read_data"_read_data.html command is used to define the system, these
parameters can be set via the "bond types" and "extra bond per atom"
fields in the header section of the data file. If the
"create_box"_create_box.html command is used to define the system,
these 2 parameters can be set via its optional "bond/types" and
"extra/bond/per/atom" arguments. And similarly for angles and
dihedrals. See the doc pages for these 2 commands for details.
:line
The {many} style will create bonds between pairs of atoms I,J where I
is in one of the two specified groups, and J is in the other. The two
groups can be the same, e.g. group "all". The created bonds will be
of bond type {btype}, where {btype} must be a value between 1 and the
number of bond types defined.
For a bond to be created, an I,J pair of atoms must be a distance D
apart such that {rmin} <= D <= {rmax}.
The following settings must have been made in an input
script before this command is used:
The following settings must have been made in an input script before
this style is used:
special_bonds weight for 1-2 interactions must be 0.0
a "pair_style"_pair_style.html must be defined
@ -69,8 +109,8 @@ cannot appear in the neighbor list, to avoid creation of duplicate
bonds. The neighbor list for all atom type pairs must also extend to
a distance that encompasses the {rmax} for new bonds to create.
An additional requirement is that your system must be ready to perform
a simulation. This means, for example, that all
An additional requirement for this style is that your system must be
ready to perform a simulation. This means, for example, that all
"pair_style"_pair_style.html coefficients be set via the
"pair_coeff"_pair_coeff.html command. A "bond_style"_bond_style.html
command and all bond coefficients must also be set, even if no bonds
@ -83,17 +123,58 @@ executes, e.g. if you wish to use long-range Coulombic interactions
via the "kspace_style"_kspace_style.html command for your subsequent
simulation.
NOTE: If the system has no bonds to begin with, or if more bonds per
atom are being added than currently exist, then you must insure that
the number of bond types and the maximum number of bonds per atom are
set to large enough values. Otherwise an error may occur when too
many bonds are added to an atom. If the "read_data"_read_data.html
command is used to define the system, these 2 parameters can be set
via the "bond types" and "extra bond per atom" fields in the header
section of the data file. If the "create_box"_create_box.html command
is used to define the system, these 2 parameters can be set via its
optional "bond/types" and "extra/bond/per/atom" arguments. See the
doc pages for the 2 commands for details.
:line
The {single/bond} style creates a single bond of type {btype} between
two atoms with IDs {batom1} and {batom2}. {Btype} must be a value
between 1 and the number of bond types defined.
The {single/angle} style creates a single angle of type {atype}
between three atoms with IDs {aatom1}, {aatom2}, and {aatom3}. The
ordering of the atoms is the same as in the {Angles} section of a data
file read by the "read_data"_read_data command. I.e. the 3 atoms are
ordered linearly within the angle; the central atom is {aatom2}.
{Atype} must be a value between 1 and the number of angle types
defined.
The {single/dihedral} style creates a single dihedral of type {btype}
between two atoms with IDs {batom1} and {batom2}. The ordering of the
atoms is the same as in the {Dihedrals} section of a data file read by
the "read_data"_read_data command. I.e. the 4 atoms are ordered
linearly within the dihedral. {Dtype} must be a value between 1 and
the number of dihedral types defined.
:line
The keyword {special} controls whether an internal list of special
bonds is created after one or more bonds, or a single angle or
dihedral is added to the system.
The default value is {yes}. A value of {no} cannot be used
with the {many} style.
This is an expensive operation since the bond topology for the system
must be walked to find all 1-2, 1-3, 1-4 interactions to store in an
internal list, which is used when pairwise interactions are weighted;
see the "special_bonds"_special_bonds.html command for details.
Thus if you are adding a few bonds or a large list of angles all at
the same time, by using this command repeatedly, it is more efficient
to only trigger the internal list to be created once, after the last
bond (or angle, or dihedral) is added:
create_bonds single/bond 5 52 98 special no
create_bonds single/bond 5 73 74 special no
...
create_bonds single/bond 5 17 386 special no
create_bonds single/bond 4 112 183 special yes :pre
Note that you MUST insure the internal list is re-built after the last
bond (angle, dihedral) is added, before performing a simulation.
Otherwise pairwise interactions will not be properly excluded or
weighted. LAMMPS does NOT check that you have done this correctly.
:line
[Restrictions:]
@ -105,4 +186,6 @@ molecule template files via the "molecule"_molecule.html and
"create_atoms"_create_atoms.html, "delete_bonds"_delete_bonds.html
[Default:] none
[Default:]
The keyword default is special = yes.

View File

@ -128,7 +128,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for
@ -138,7 +138,15 @@ more instructions on how to use the accelerated styles effectively.
[Restrictions:]
This dihedral style can only be used if LAMMPS was built with the
When using run_style "respa"_run_style.html, these dihedral styles
must be assigned to the same r-RESPA level as {pair} or {outer}.
When used in combination with CHARMM pair styles, the 1-4
"special_bonds"_special_bonds.html scaling factors must be set to 0.0.
Otherwise non-bonded contributions for these 1-4 pairs will be
computed multiple times.
These dihedral styles can only be used if LAMMPS was built with the
MOLECULE package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info on packages.

View File

@ -153,7 +153,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -64,7 +64,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -55,7 +55,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -65,7 +65,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -58,7 +58,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -52,7 +52,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -52,7 +52,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -60,7 +60,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -53,7 +53,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -16,7 +16,7 @@ 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
file = name of file to write dump info to
args = same as arguments for "dump_style custom"_dump.html :ul
[Examples:]
@ -83,7 +83,7 @@ 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
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.

View File

@ -26,7 +26,7 @@ command to the screen and/or log file as it is read and processed. If
an input script has errors, it can be useful to look at echoed output
to see the last command processed.
The "command-line switch"_Section_start.html#start_5 -echo can be used
The "command-line switch"_Section_start.html#start_6 -echo can be used
in place of this command.
[Restrictions:] none

View File

@ -117,7 +117,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -77,7 +77,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -245,7 +245,7 @@ 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 pressure compute this
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,

View File

@ -557,7 +557,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -41,7 +41,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -45,14 +45,14 @@ species {j} in particle {i}, {u_j} is the internal energy of species j,
{DeltaH_f,j} is the heat of formation of species {j}, N is the number of
molecules represented by the coarse-grained particle, kb is the
Boltzmann constant, and T is the temperature of the system. Additionally,
it is possible to modify the concentration-dependent particle internal
energy relation by adding an energy correction, temperature-dependent
it is possible to modify the concentration-dependent particle internal
energy relation by adding an energy correction, temperature-dependent
correction, and/or a molecule-dependent correction. An energy correction can
be specified as a constant (in energy units). A temperature correction can be
specified by multiplying a temperature correction coefficient by the
internal temperature. A molecular correction can be specified by
by multiplying a molecule correction coefficient by the average number of
product gas particles in the coarse-grain particle.
be specified as a constant (in energy units). A temperature correction can be
specified by multiplying a temperature correction coefficient by the
internal temperature. A molecular correction can be specified by
by multiplying a molecule correction coefficient by the average number of
product gas particles in the coarse-grain particle.
Fix {eos/table/rx} creates interpolation tables of length {N} from {m}
internal energy values of each species {u_j} listed in a file as a
@ -72,12 +72,12 @@ The second filename specifies a file containing heat of formation
{DeltaH_f,j} for each species.
In cases where the coarse-grain particle represents a single molecular
species (i.e., no reactions occur and fix {rx} is not present in the input file),
fix {eos/table/rx} can be applied in a similar manner to fix {eos/table}
within a non-reactive DPD simulation. In this case, the heat of formation
species (i.e., no reactions occur and fix {rx} is not present in the input file),
fix {eos/table/rx} can be applied in a similar manner to fix {eos/table}
within a non-reactive DPD simulation. In this case, the heat of formation
filename is replaced with the heat of formation value for the single species.
Additionally, the energy correction and temperature correction coefficients may
also be specified as fix arguments.
Additionally, the energy correction and temperature correction coefficients may
also be specified as fix arguments.
:line
@ -138,8 +138,8 @@ used as the species name must correspond with the tags used to define
the reactions with the "fix rx"_fix_rx.html command.
Alternatively, corrections to the EOS can be included by specifying
three additional columns that correspond to the energy correction,
the temperature correction coefficient and molecule correction
three additional columns that correspond to the energy correction,
the temperature correction coefficient and molecule correction
coefficient. In this case, the format of the file is as follows:
# HEAT OF FORMATION TABLE (one or more comment or blank lines) :pre

View File

@ -70,8 +70,8 @@ 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
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.

View File

@ -45,7 +45,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -383,6 +383,9 @@ called. Reneighboring is required.
Can be run in parallel, but aspects of the GCMC part will not scale
well in parallel. Only usable for 3D simulations.
When using fix gcmc in combination with fix shake or fix rigid,
only gcmc exchange moves are supported.
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
@ -406,7 +409,7 @@ the user for each subsequent fix gcmc command.
[Default:]
The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0,
fugacity_coeff = 1, and full_energy = no,
fugacity_coeff = 1, and full_energy = no,
except for the situations where full_energy is required, as
listed above.

View File

@ -102,7 +102,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -85,13 +85,13 @@ No information about this fix is written to "binary restart
files"_restart.html.
The "thermo_modify"_thermo_modify.html {press} option is supported
by this fix to add the rescaled kinetic pressure as part of
by this fix to add the rescaled kinetic pressure as part of
"thermodynamic output"_thermo_style.html.
[Restrictions:]
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the "Making
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]

View File

@ -58,14 +58,14 @@ input are listed in the same order as in the data file of LAMMPS. The
initial configuration is ignored, as it will be substituted with the
coordinates received from i-PI before forces are ever evaluated.
A note of caution when using potentials that contain long-range
A note of caution when using potentials that contain long-range
electrostatics, or that contain parameters that depend on box size:
all of these options will be initialized based on the cell size in the
LAMMPS-side initial configuration and kept constant during the run.
This is required to e.g. obtain reproducible and conserved forces.
If the cell varies too wildly, it may be advisable to reinitialize
these interactions at each call. This behavior can be requested by
setting the {reset} switch.
LAMMPS-side initial configuration and kept constant during the run.
This is required to e.g. obtain reproducible and conserved forces.
If the cell varies too wildly, it may be advisable to reinitialize
these interactions at each call. This behavior can be requested by
setting the {reset} switch.
[Restart, fix_modify, output, run start/stop, minimize info:]

View File

@ -276,7 +276,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -73,7 +73,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.
See "Section 5"_Section_accelerate.html of the manual for

View File

@ -57,7 +57,7 @@ simulations is as follows:
Perform all-atom simulations on the system to be coarse grained.
Generate a trajectory mapped to the coarse-grained model.
Create input files for the MS-CG library.
Run the range finder functionality of the MS-CG library.
Run the range finder functionality of the MS-CG library.
Run the force matching functionality of the MS-CG library.
Check the results of the force matching.
Run coarse-grained simulations using the new coarse-grained potentials. :ol
@ -70,7 +70,7 @@ Step 2 can be performed using a Python script (what is the name?)
provided with the MS-CG library which defines the coarse-grained model
and converts a standard LAMMPS dump file for an all-atom simulation
(step 1) into a LAMMPS dump file which has the positions of and forces
on the coarse-grained beads.
on the coarse-grained beads.
In step 3, an input file named "control.in" is needed by the MS-CG
library which sets parameters for the range finding and force matching

View File

@ -17,19 +17,22 @@ msst = style name of this fix :l
dir = {x} or {y} or {z} :l
shockvel = shock velocity (strictly positive, distance/time units) :l
zero or more keyword value pairs may be appended :l
keyword = {q} or {mu} or {p0} or {v0} or {e0} or {tscale} :l
keyword = {q} or {mu} or {p0} or {v0} or {e0} or {tscale} or {beta} or {dftb} :l
{q} value = cell mass-like parameter (mass^2/distance^4 units)
{mu} value = artificial viscosity (mass/length/time units)
{p0} value = initial pressure in the shock equations (pressure units)
{v0} value = initial simulation cell volume in the shock equations (distance^3 units)
{e0} value = initial total energy (energy units)
{tscale} value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) :pre
{tscale} value = reduction in initial temperature (unitless fraction between 0.0 and 1.0)
{dftb} value = {yes} or {no} for whether using MSST in conjunction with DFTB+
{beta} value = scale factor for improved energy conservation :pre
:ule
[Examples:]
fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5
fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4 v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 :pre
fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4 v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01
fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 dftb yes beta 0.5 :pre
[Description:]
@ -58,17 +61,25 @@ oscillations have physical significance in some cases. The optional
symmetry to equilibrate to the shock Hugoniot and Rayleigh line more
rapidly in such cases.
{tscale} is a factor between 0 and 1 that determines what fraction of
thermal kinetic energy is converted to compressive strain kinetic
energy at the start of the simulation. Setting this parameter to a
non-zero value may assist in compression at the start of simulations
where it is slow to occur.
The keyword {tscale} is a factor between 0 and 1 that determines what
fraction of thermal kinetic energy is converted to compressive strain
kinetic energy at the start of the simulation. Setting this parameter
to a non-zero value may assist in compression at the start of
simulations where it is slow to occur.
If keywords {e0}, {p0},or {v0} are not supplied, these quantities will
be calculated on the first step, after the energy specified by
{tscale} is removed. The value of {e0} is not used in the dynamical
equations, but is used in calculating the deviation from the Hugoniot.
The keyword {beta} is a scaling term that can be added to the MSST
ionic equations of motion to account for drift in the conserved
quantity during long timescale simulations, similar to a Berendson
thermostat. See "(Reed)"_#Reed and "(Goldman)"_#Goldman2 for more
details. The value of {beta} must be between 0.0 and 1.0 inclusive.
A value of 0.0 means no contribution, a value of 1.0 means a full
contribution.
Values of shockvel less than a critical value determined by the
material response will not have compressive solutions. This will be
reflected in lack of significant change of the volume in the MSST.
@ -77,17 +88,32 @@ For all pressure styles, the simulation box stays orthogonal in shape.
Parrinello-Rahman boundary conditions (tilted box) are supported by
LAMMPS, but are not implemented for MSST.
This fix computes a temperature and pressure each timestep. To do
this, the fix creates its own computes of style "temp" and "pressure",
as if these commands had been issued:
This fix computes a temperature and pressure and potential energy each
timestep. To do this, the fix creates its own computes of style "temp"
"pressure", and "pe", as if these commands had been issued:
compute fix-ID_temp group-ID temp
compute fix-ID_press group-ID pressure fix-ID_temp :pre
compute fix-ID_MSST_temp all temp
compute fix-ID_MSST_press all pressure fix-ID_MSST_temp :pre
compute fix-ID_MSST_pe all pe :pre
See the "compute temp"_compute_temp.html and "compute
pressure"_compute_pressure.html commands for details. Note that the
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
+ underscore + "press". The group for the new computes is "all".
IDs of the new computes are the fix-ID + "_MSST_temp" or "_MSST_press"
or "_MSST_pe". The group for the new computes is "all".
:line
The {dftb} keyword is to allow this fix to be used when LAMMPS is
being driven by DFTB+, a density-functional tight-binding code. If the
keyword {dftb} is used with a value of {yes}, then the MSST equations
are altered to account for the electron entropy contribution to the
Hugonio relations and total energy. See "(Reed2)"_#Reed2 and
"(Goldman)"_#Goldman2 for details on this contribution. In this case,
you must define a "fix external"_fix_external.html command in your
input script, which is used to callback to DFTB+ during the LAMMPS
timestepping. DFTB+ will communicate its info to LAMMPS via that fix.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
@ -149,10 +175,19 @@ all.
[Default:]
The keyword defaults are q = 10, mu = 0, tscale = 0.01. p0, v0, and e0
are calculated on the first step.
The keyword defaults are q = 10, mu = 0, tscale = 0.01, dftb = no,
beta = 0.0. Note that p0, v0, and e0 are calculated on the first
timestep.
:line
:link(Reed)
[(Reed)] Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003).
[(Reed)] Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503
(2003).
:link(Reed2)
[(Reed2)] Reed, J. Phys. Chem. C, 116, 2205 (2012).
:link(Goldman2)
[(Goldman)] Goldman, Srinivasan, Hamel, Fried, Gaus, and Elstner,
J. Phys. Chem. C, 117, 7885 (2013).

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