Compare commits

...

234 Commits

Author SHA1 Message Date
5e9d257ec2 patch 17Jan18 2018-01-17 13:00:48 -07:00
e1e6825eb2 Merge pull request #776 from numericalfreedom/lammps-tools-doxygen
Small character corrections to the file Developer.dox.lammps
2018-01-17 07:34:18 -07:00
88a2f9fcc6 Merge pull request #775 from wmbrownIntel/user-intel-2018u1
USER-INTEL: Adding compiler flag and small fix to tersoff/intel for 2…
2018-01-17 07:34:08 -07:00
480d7dd6ce Merge pull request #774 from lammps/neigh-tweak
small changes to recent PR to standardize with other npair styles
2018-01-17 07:33:46 -07:00
9b12984378 Small correction in image caption in Developer.dox.lammps 2018-01-17 14:46:44 +01:00
8d29f64236 Small character corrections to the file Developer.dox.lammps 2018-01-17 14:05:30 +01:00
1b91c0eab0 fix typo in docs resulting in broken link 2018-01-16 21:01:25 -05:00
0c8af0704e Tweak to npair_halffull_newtoff.cpp 2018-01-16 16:43:25 -07:00
f1901237be small changes to recent PR to standardize with other npair styles 2018-01-16 15:49:16 -07:00
0cd864134d Merge pull request #765 from stanmoore1/halffull_ghost
Add ghost option to npair_halffull
2018-01-16 15:39:07 -07:00
bf48f3e240 Merge pull request #758 from mkanski/ci-ReaxFF
Modification of ReaxFF
2018-01-16 13:04:20 -07:00
23dda3d51b Merge pull request #770 from numericalfreedom/lammps-tools-doxygen
Tools for LAMMPS documentation for developers with the "doxygen" documentation platform
2018-01-16 13:02:10 -07:00
5d254855eb Merge pull request #772 from akohlmey/improved-variable-error-reporting
More improved variable error reporting
2018-01-16 13:00:42 -07:00
9a70f2d182 Merge pull request #773 from lammps/couple-simple
update of COUPLE/simple examples
2018-01-16 12:59:51 -07:00
b95cf658c7 remove faulty line of code, left in by accident 2018-01-16 14:10:46 -05:00
709ce8a230 Merge branch 'neigh-identical-check' into couple-simple
# Conflicts:
#	src/create_bonds.cpp
#	src/delete_atoms.cpp
2018-01-16 14:09:21 -05:00
2ad823ffd4 correct check for identical requests 2018-01-16 14:08:18 -05:00
4c0cd5f1ad add short bond cutoff warning also to USER-OMP
This implements the warning about a total cutoff shorter than 2x bond cutoff also to the USER-OMP variant of reax/c
2018-01-16 13:50:49 -05:00
8d37c89cb6 different bug fix for create_bonds, delete_atoms neigh list issue 2018-01-16 11:32:37 -07:00
21ff4407ab update of COUPLE/simple examples 2018-01-16 10:48:38 -07:00
f2c0c4a7d1 Merge branch 'lammps-tools-doxygen' of https://github.com/numericalfreedom/lammps into lammps-tools-doxygen 2018-01-16 18:39:08 +01:00
1640066132 Merge remote-tracking branch 'lammps-origin/master' into lammps-tools-doxygen 2018-01-16 18:38:12 +01:00
3b1ec14a68 add a warning if the bonded cutoff is large
This should print a warning when 2x the bonded interaction cutoff list larger then other cutoffs, as was the setting before the performance optimization with the change in 2690075405
2018-01-16 12:01:47 -05:00
01cfb710ff propagate printing variable name with error deeper into the code
this now covers a large set of cases where the variable name can be printed.
it also is complete for the current code, since no more default arguments are required
2018-01-16 11:31:20 -05:00
3de39c70c1 print variable name with errors only for known variables.
this makes errors for "anonymous" evaluations (if statement, immediate variables) less confusing.
2018-01-16 11:29:48 -05:00
86ed55599d The bash shell script doxygen.sh has been revised. 2018-01-16 17:28:58 +01:00
e798cdf31f Merge pull request #771 from stanmoore1/reax_example
Add ReaxFF Example
2018-01-16 09:05:36 -07:00
97dd812647 Merge pull request #769 from rbberger/cmake_compilation_fixes
CMake compilation fixes
2018-01-16 09:04:04 -07:00
e07a6d1e34 Merge pull request #768 from akohlmey/collected-doc-fixes
collected documentation fixes
2018-01-16 09:03:45 -07:00
6e37272c9d Merge pull request #764 from akohlmey/improved-variable-error-reporting
Improved error messages when defining or evaluating variables
2018-01-16 09:02:20 -07:00
6bd6e62767 Merge pull request #763 from stanmoore1/kk_neighlist
Enhance Kokkos Neighbor lists
2018-01-16 09:01:15 -07:00
57dd6c78c1 Merge pull request #761 from stanmoore1/kk_snap
Kokkos version of Pair SNAP and ZBL
2018-01-16 09:00:52 -07:00
9e413bf57a Merge pull request #760 from akohlmey/info-coeffs
New "coeffs" keyword added to "info" command
2018-01-16 09:00:34 -07:00
b374813104 Add reax example 2018-01-16 08:50:30 -07:00
07ddb5e62c USER-INTEL: Adding compiler flag and small fix to tersoff/intel for 2018u1 compilers. 2018-01-15 23:54:48 -08:00
72b479d42e Add missing return value in pair_snap_kokkos 2018-01-15 11:01:07 -07:00
c8b5d83cc7 mention tool/doxygen folder in tools section and refer to README file 2018-01-15 10:43:30 -05:00
a5998179bf Fix issues with Kokkos skip lists 2018-01-15 08:23:39 -07:00
26d6f6d1f1 Tools for LAMMPS documentation with the "doxygen" documentation platform
are provided.

        New directory: tools/doxygen

        New file:      tools/doxygen/Developer.dox.lammps
        New file:      tools/doxygen/Doxyfile.lammps
        New file:      tools/doxygen/doxygen.sh
        New file:      tools/doxygen/README

The Developer.dox.lammps file contains a slightly revised version of the
Developer.pdf file adopted to the LAMMPS "doxygen" documentation.

The Doxyfile.lammps file is a first proposal for a LAMMPS "doxygen"
documentation flavor and can be adjusted to specific requirements.

The "doxygen.sh" shell script generates the LAMMPS "doxygen"
documentation.

Detailed instructions can be found in the README file.
2018-01-15 15:42:31 +01:00
f37f4f0041 support more cases where the variable name is reported on errors 2018-01-14 17:56:03 -05:00
d2983caad4 CMake: limit visibility of COLVARS lepton library headers 2018-01-14 18:01:19 +01:00
2b7c233791 Simplify change to CMake build for USER-COLVARS 2018-01-14 08:44:50 +01:00
9e35e76b8c Fix issues in Kokkos npair_halffull and npair_skip 2018-01-13 21:32:59 -07:00
7a78875911 Fix issues in Kokkos pair snap and zbl 2018-01-13 21:31:11 -07:00
1cfc3118cc CMake: remove BUILD_SHARED_LIBS requirement from PYTHON package 2018-01-13 22:17:23 +01:00
23e8fb0542 Update CMake build for USER-COLVARS 2018-01-13 21:57:24 +01:00
72eb2dab52 Add missing math.h header 2018-01-13 20:41:05 +01:00
f6075c9d2c One last tweak to npair_halffull_newtoff.cpp 2018-01-12 16:12:57 -07:00
24f1889b02 Only include ghosts for newton off, since this style exists as a standalone build, but the newton on method doesn't 2018-01-12 16:10:42 -07:00
dea8d592da Optimize npair_halffull styles; the number of i atoms, whether owned or ghost, must match between the child half list and parent full list 2018-01-12 15:51:54 -07:00
52d3e98f3b Fix issue in npair_skip_kokkos 2018-01-12 15:45:24 -07:00
6e3acce3be Relax restriction in neighbor.cpp 2018-01-12 15:44:11 -07:00
1ec54827d6 Add Kokkos halffull neighbor list capability 2018-01-12 15:41:59 -07:00
61ebf6265a address some formatting/markup issues reported by Nandor Tamaskovics 2018-01-12 12:50:02 -05:00
190cc78034 add dummy doc files for not-yet-implemented features 2018-01-12 12:29:03 -05:00
5863f115dd correctly escape 'a_ ' text, which is not a reference unlike 'a_b ' 2018-01-12 12:26:50 -05:00
75d259f5ee improve PDF reader compatibility for the created PDF file. 2018-01-12 12:00:53 -05:00
3b1b9a2cbf replace non-ASCII quotation marks with ASCII equivalent 2018-01-12 11:30:27 -05:00
17b6a4c3cd Added more permanent citation 2018-01-12 11:47:35 +01:00
1c10c78684 Add ghost option to npair_halffull 2018-01-11 15:15:04 -07:00
26917280be state name of the affected variable in error messages where possible 2018-01-11 15:01:08 -05:00
45674e6cd3 Add Kokkos skip list capability 2018-01-11 10:07:44 -07:00
22d2d1cdf3 Fix issue in pair_snap_kokkos memory_usage 2018-01-11 10:01:34 -07:00
0d7bee40ae Add newline at end of pair_snap_kokkos_impl.h 2018-01-11 09:41:37 -07:00
db1ed32a51 Fix minor issues in pair_snap_kokkos 2018-01-11 09:39:53 -07:00
d7d087ae67 Fix issue with peratom energy/virial in pair_snap_kokkos 2018-01-10 10:20:40 -07:00
92e2df74c1 Fix bug in Kokkos peratom energy/virial with newton on 2018-01-10 10:20:12 -07:00
92742c5373 Introduced the change in reax/c/omp 2018-01-10 18:00:22 +01:00
2047ae76e3 Move compute_bi outside of j-loop 2018-01-09 17:05:57 -07:00
4adbb882b3 Temper SNAP output 2018-01-09 17:05:34 -07:00
275c08453f Add Kokkos versions of pair_style snap and zbl 2018-01-09 17:03:49 -07:00
91107cc1f3 add a "coeffs" keyword to the info command for debugging "All XXX coeffs are not set" errors. 2018-01-09 12:47:33 -05:00
e26c170679 Added example and tabulated close-range correction 2018-01-09 15:08:08 +01:00
1bd9e175e9 Merge pull request #749 from akohlmey/collected-bugfixes-and-updates
Collected bugfixes and updates for the next patch release
2018-01-08 09:20:18 -07:00
9e9cfe5869 Merge pull request #754 from rbberger/cmake_kokkos_bugfix
CMake bugfixes for KOKKOS builds
2018-01-08 09:16:43 -07:00
85ff0c1e46 Merge pull request #750 from stanmoore1/kk_fences
Add Kokkos thread fences to comm pack/unpack routines
2018-01-08 09:16:16 -07:00
cc9b6118b8 Merge pull request #748 from stanmoore1/kk_docs
Update Kokkos docs
2018-01-08 09:15:36 -07:00
09bed0c09a Merge pull request #747 from stanmoore1/kk_reax_hist
Fix broken charge history in fix qeq/reax/kk
2018-01-08 09:15:21 -07:00
1b51efd6b8 Merge pull request #744 from akohlmey/doc-update
Documentation build updates
2018-01-08 09:15:02 -07:00
8888b05b18 Merge pull request #742 from rbberger/fix_python_move
Fix python/move
2018-01-08 09:14:36 -07:00
3bb8294f31 Merge pull request #718 from timattox/USER-DPD_es_RNG
USER-DPD: External State RNG
2018-01-08 09:13:11 -07:00
450c689ae9 Merge pull request #725 from stanmoore1/kk_update
Update the Kokkos library in LAMMPS to v2.5.00
2018-01-08 09:12:51 -07:00
a5d401e164 Fixed header for the force field file 2018-01-08 14:46:32 +01:00
b96100c0b7 Fixed header for the force field file 2018-01-08 14:42:43 +01:00
2690075405 Performance increase for charge-implicit ReaxFF/changed cutoff selection 2018-01-08 14:38:24 +01:00
09ca7b32fc Revert "no need to include library.o in the LAMMPS executable"
This reverts commit 4a3a6b4455.
As it turns out, when using the LAMMPS python wrapper from inside
code using the PYTHON package, the library symbols *are* needed.
Thanks for Richard Berger (@rbberger) for pointing this out.
2018-01-06 19:47:33 +01:00
3af389e6cf Revert "no need to include library.o in the LAMMPS executable"
This reverts commit 4a3a6b4455.
As it turns out, when using the LAMMPS python wrapper from inside
code using the PYTHON package, the library symbols *are* needed.
Thanks for Richard Berger (@rbberger) for pointing this out.
2018-01-06 12:58:17 -05:00
46217db8a5 make python functions examples more complete by adding exception handling and initializing variables 2018-01-06 12:56:42 -05:00
d6d7dde653 Add error output if python evaluation failed 2018-01-06 18:54:55 +01:00
6070182f06 correctly account for individually added bonds, angles, and dihedrals 2018-01-06 11:03:48 -05:00
6c058fb56c avoid division by zero in ewald for empty and uncharged systems. require kspace_modify gewald 2018-01-05 20:14:25 -05:00
91993b236d avoid division by zero in PPPM for empty and uncharged systems. require kspace_modify gewald 2018-01-05 19:52:51 -05:00
5ecc3ce366 avoid division by zero when trying to run PPPM on a system without atoms 2018-01-04 20:44:40 -05:00
75f1a4f3f0 use filelink.o consistently, since filelink does not work with some compilers, e.g. nvcc 2018-01-04 20:43:53 -05:00
ffc74fca6c Merge branch 'fix_property_atom_doc_update' of https://github.com/Pakketeretet2/lammps into collected-bugfixes-and-updates
this closes PR #755
2018-01-04 19:46:31 -05:00
2896df2140 avoid that occasional neighbor lists requested from commands linger around for too long and thus cause segementation faults 2018-01-04 17:16:31 -05:00
c333401e72 Use bold font instead of underscores for emphasis. 2017-12-25 13:27:14 +01:00
a9e9a2046b Fixes/clarifies the fix_property_atom docs. 2017-12-25 13:03:18 +01:00
d4f45f4f85 correct set command example in fix property/atom 2017-12-24 17:45:58 -05:00
7d07baa8ad Better load balance fix_qeq_reax_kokkos for half neigh list 2017-12-21 11:07:51 -07:00
b9184ef441 Add special KOKKOS styles individually
This avoids unnecessary dependencies
2017-12-20 04:51:46 -05:00
ff2b61354d Bugfix for building LAMMPS+KOKKOS+DPD with CMake
Resolves issue #753, but there might be more work ahead.
2017-12-20 03:17:40 -05:00
18acc6ae47 remove some dead code 2017-12-19 15:01:11 -05:00
56e633a2cf error out on trying to compile USER-INTEL with -DLAMMPS_BIGBIG 2017-12-19 14:54:35 -05:00
798d68c607 Edits to accelerate_kokkos.txt 2017-12-18 14:50:33 -07:00
46fe0a968b Fix compiler warnings in atom_vec_hybrid_kokkos 2017-12-18 14:09:39 -07:00
00a9672524 Fix issue in fix_qeq_reax_kokkos, can't call child function from base constructor 2017-12-18 13:58:37 -07:00
a2756db66b Update to Kokkos library v2.5.00 2017-12-15 16:42:06 -07:00
da83feb8ca Merge branch 'master' into kk_update 2017-12-15 16:36:21 -07:00
a7bc3ed391 Add missing fences in comm_kokkos 2017-12-15 13:30:17 -07:00
68cf6941e1 Add Kokkos thread fences to pack/unpack routines 2017-12-15 13:01:38 -07:00
73c55ac4d1 Fix up docs after renaming 2017-12-15 14:06:16 -05:00
2a131d1416 Merge remote-tracking branch 'upstream/master' into fix_python_move 2017-12-15 13:56:54 -05:00
bcc5f49d0b Rename fix python to fix python/invoke 2017-12-15 13:53:04 -05:00
950bfb84a9 Clean up after renaming back to fix python/move 2017-12-15 13:27:27 -05:00
4d725c3153 Revert "Rename fix python/move to move/python"
This reverts commit 4d915dba08.
2017-12-15 13:17:12 -05:00
10fa54b2fd correct error messages. the atom style is called "smd" not "tlsph" 2017-12-13 18:44:31 -05:00
8a36cdc6bc correct velocity output for write_data of atom style smd 2017-12-13 18:42:24 -05:00
e5cd068cd5 Merge branch 'patch-3' of https://github.com/abbatux/lammps into collected-bugfixes-and-updates
This closes #745
2017-12-13 17:41:00 -05:00
cec22dda92 change pair style airebo/intel to compile with -DLAMMPS_BIGBIG 2017-12-13 16:20:49 -05:00
9a71efc5d5 fix neb bugfix from Emile Maras
NEB was not working fine when using multiple proc
per replica and the keywords last/efirst or last/efirst/middle

I have corrected this in the enclosed fix_neb.cpp

I also slightly modified the nudging for this free end so that
it would be applied only when the target energy is larger than
the energy. Anyway if the target energy is lower than the energy,
the replica should relax toward the target energy without adding
any nudging.

I also modified the documentation according to this change.
2017-12-13 15:19:46 -05:00
2f857c6eda correct fix neigh/history/omp to properly support -DLAMMPS_BIGBIG compilation 2017-12-13 15:12:14 -05:00
8a93f63de9 Update Kokkos docs 2017-12-13 10:05:53 -07:00
193252275f A few more tweaks to charge history in fix_qeq_reax_kokkos 2017-12-12 09:54:28 -07:00
5968850306 Fix broken charge history in fix_qeq_reax_kokkos 2017-12-12 09:20:09 -07:00
3291a4fe96 Revert "no need to include library.o in the LAMMPS executable"
This reverts commit 4a3a6b4455.
As it turns out, when using the LAMMPS python wrapper from inside
code using the PYTHON package, the library symbols *are* needed.
Thanks for Richard Berger (@rbberger) for pointing this out.
2017-12-11 08:08:49 -05:00
1b07a4edee Fix memory leak in pair python 2017-12-10 17:14:08 -05:00
0edad83b25 Update atom_vec_smd.cpp 2017-12-08 11:29:12 +11:00
81a1c007ed correct file name for doc file 2017-12-07 16:39:41 -05:00
0b51e9b2ff add documentation for fix move/python 2017-12-07 16:36:36 -05:00
4b1bcaa1ae fix speelink in documentation files 2017-12-07 16:01:02 -05:00
ed8680d695 suspend support for sphinxcontrib.images
the sphinxcontrib.image extension was broken with sphinx 16.x.
however, sphinx 15.x breaks with newer version of the multiprocessor module.
so we suspend the thumbnail processing and lift the lock to sphinx 15.x

also, the number of parallel sphinx tasks is can be overridden with SPHINXEXTRA="-j #'.
default is to try use all local CPU cores.
2017-12-07 15:38:15 -05:00
29df5a536f Merge branch 'master' of https://github.com/lammps/lammps into USER-DPD_es_RNG 2017-12-07 10:57:01 -07:00
d029cb9002 Merge pull request #743 from stanmoore1/kk_yukawa_fix
Fix compile error in pair_yukawa_kokkos
2017-12-07 10:31:04 -07:00
3e99d1a83a Add pair yukawa/kk to Section_commands 2017-12-07 09:06:33 -07:00
c4e83be533 Fix compile error in pair_yukawa_kokkos 2017-12-07 08:42:17 -07:00
d7e5d60f90 Merge pull request #738 from rbberger/pylammps_thermo_style_fix
PyLammps bugfix to support custom thermo output with vector element addressing
2017-12-07 08:25:01 -07:00
5179efd2bb Merge pull request #741 from stanmoore1/kk_compile
Reduce Kokkos compile dependencies
2017-12-07 08:24:22 -07:00
abb2fe5be7 Merge pull request #740 from stanmoore1/improve_reax
Improve ReaxFF
2017-12-07 08:23:47 -07:00
bae45e2493 Merge pull request #737 from akohlmey/collected-bugfixes
Collected bugfixes and small updates for next patch
2017-12-07 08:23:06 -07:00
73d509f339 Merge pull request #735 from jaapkroe/extep
Add ExTeP pair style
2017-12-07 08:22:34 -07:00
fa0c28b717 Merge pull request #731 from Pakketeretet2/pair-yukawa-kk
Added a KOKKOS-enabled Yukawa pair style.
2017-12-07 08:21:20 -07:00
bc3a84b480 Merge pull request #727 from lammps/fix-gcmc-examples
new example scripts for fix gcmc
2017-12-07 08:19:56 -07:00
4d915dba08 Rename fix python/move to move/python 2017-12-05 23:42:57 -05:00
f64544a5fe Move instantiation of MemoryKokkos class 2017-12-05 08:34:24 -07:00
fc742eb2ef Remove outdated elastic constants 2017-12-05 16:23:20 +01:00
1baecc689e Merge pull request #3 from stanmoore1/kk_yukawa
Add pair_yukawa_kokkos to Install.sh and minor cleanup.

These changes look fine. Sorry for the tabs, I must have forgotten about those.
2017-12-04 14:16:53 -05:00
d916416cc5 Add pair_yukawa_kokkos to Install.sh and minor cleanup 2017-12-04 12:02:32 -07:00
2813923f15 Add multiple inheritance to pair_multi_lucy_rx_kokkos 2017-12-04 10:43:41 -07:00
4a3a6b4455 no need to include library.o in the LAMMPS executable 2017-12-03 19:37:42 -05:00
f8891a4451 Rename fix python/integrate to python/move
This is to avoid confusion to what LAMMPS considers to be an
integrator like Verlet and RESPA.
2017-12-02 01:04:46 -05:00
51688b2504 Improve performance of Python integrator (NVE_Opt version)
Removing the loop over atoms by using NumPy array indexing allows to recover
performance close to that of plain fix nve.
2017-12-02 00:40:21 -05:00
93be2d264e Detect correct integer type in lammps python interface 2017-12-02 00:39:15 -05:00
b9fd1156b2 Completed first version of fix python/integrate
This includes an example of how to implement fix NVE in Python.

The library interface was extended to provide direct access to atom data using
numpy arrays. No data copies are made and numpy operations directly manipulate
memory of the native code.

To keep this numpy dependency optional, all functions are wrapped into the
lammps.numpy sub-object which is only loaded when accessed.
2017-12-02 00:39:15 -05:00
bbfe16782b Adjust .gitignore 2017-12-02 00:37:14 -05:00
1931d2088a Started FixPythonIntegrate 2017-12-02 00:37:14 -05:00
5d9a6c1fe2 Add checks to Kokkos Install.sh so that files aren't unnecessarily recompiled 2017-12-01 16:06:50 -07:00
e7f97728c3 disable disruptive debug output 2017-12-01 17:14:11 -05:00
58ed92d905 one more file that doesn't require to include accelerator_kokkos.h 2017-12-01 16:45:22 -05:00
14aa036f36 add missing header files to USER-INTEL package 2017-12-01 15:53:02 -05:00
42e03da70c Remove redundant #include in input.cpp 2017-12-01 13:16:35 -07:00
5d2e097b27 Need dynamic cast for multiple inheritance 2017-12-01 12:53:40 -07:00
da51a8a0bb Add missing header files to GPU package 2017-12-01 12:13:14 -07:00
80dffb27e2 Add missing header files 2017-12-01 11:33:42 -07:00
5b33f153f4 Add newline to memory_kokkos.h 2017-12-01 10:33:47 -07:00
31eb12920c Use multiple inheritance to remove accelerator_kokkos.h out of region.h and kspace.h 2017-12-01 10:18:22 -07:00
31f2ca1e4c Use multiple inheritance to remove accelerator_kokkos.h out of pair.h 2017-12-01 09:51:40 -07:00
15a3364c2c Make memory_kokkos its own class 2017-12-01 09:13:31 -07:00
c3aa705d04 Improve performance of pair_reaxc, this change is safe because the non-bonded i-loop doesn't include ghost atoms; this optimization is already included in the USER-OMP version 2017-11-30 09:22:32 -07:00
8c2d38c7e9 Remove non-existent function in reaxc_forces_omp 2017-11-30 09:13:03 -07:00
e3b961b622 Improve performance of PairReaxCKokkos 2017-11-30 09:10:39 -07:00
319508bd29 fix scoping ambiguity issue that confuses nvcc 2017-11-30 10:56:58 -05:00
6f7bd78ea2 Fixes issue #701
PyLammps now supports thermo_style entries such as c_msd[4]
2017-11-29 01:06:44 -05:00
5647522906 various small cosmetic adjustments to increase conformance with LAMMPS programming conventions 2017-11-28 12:34:23 -05:00
e4b14213b4 delete old log files. new log files are approved by @athomps 2017-11-28 11:35:49 -05:00
fa6fc947f2 fix issues in FixNeighHistory and FixNeighHistoryOMP reported in https://sourceforge.net/p/lammps/mailman/message/36138319/
This supersedes and closes PR #734
2017-11-28 11:28:15 -05:00
e1189381e0 correct documentation for create_atoms rotate
This closes #736
2017-11-28 11:19:19 -05:00
39d24ab7eb ExTeP potential file header update 2017-11-27 21:25:23 +01:00
5770a20e2c added ExTeP to USER-MISC 2017-11-27 21:16:51 +01:00
83ec9815fe Merge pull request #733 from pastewka/17_dump_nc3
BUG: Proper handling of bigint data in NetCDF dump style. Affects LAMMPS version compiled with LAMMPS_BIGBIG.
2017-11-27 11:07:58 -07:00
90ee52296b Merge remote-tracking branch 'andeplane/fix_ave_chunk_bug' into collected-bugfixes
this closes PR #732
2017-11-27 11:45:09 -05:00
f02eb225c6 Merge branch '17_dump_nc3' of github.com:pastewka/lammps into 17_dump_nc3 2017-11-26 22:39:03 +01:00
a111cf640a BUG: Proper handling of bigint data. Corrects behavior when compiled with LAMMPS_BIGBIG. 2017-11-26 22:35:56 +01:00
e755a8339d BUG: openfile is called multiple times, second call stopped code with 'at keyword requires use of append yes' 2017-11-26 22:31:47 +01:00
f7f6a15ac0 MAINT: Removed superfluous code. 2017-11-26 22:31:47 +01:00
36b7aa73aa MAINT: Use proper data type for bigint when defining NetCDF file. 2017-11-26 22:31:47 +01:00
9a5723123f Set peratom_freq in fix ave/chunk 2017-11-21 23:43:52 -08:00
7d07f062b6 Remove const from variable 2017-11-20 10:21:19 -07:00
f3ed148828 Fix for big endian machines 2017-11-20 10:18:53 -07:00
5ba80662c3 Undid the removal of rad in pair_yukawa. 2017-11-17 15:07:59 -05:00
53c1558271 Updated docs for pair_yukawa 2017-11-17 14:21:54 -05:00
8e5d4fa891 Added a KOKKOS-enabled Yukawa pair style. 2017-11-17 14:12:16 -05:00
ec067bde36 fix cut-n-paste error in create_bond docs 2017-11-13 17:59:16 -05:00
adbc75cae6 add alternate log files with the latest version of LAMMPS 2017-11-13 11:52:01 -05:00
dde94c28a7 new example scripts for fix gcmc 2017-11-13 09:07:25 -07:00
f2dc764d1d Merge pull request #723 from lammps/replicate_bbox
Add bounding box to Replicate command
2017-11-13 09:01:38 -07:00
c4c59b909e Merge pull request #716 from akohlmey/collected-small-changes
Collected small changes and bugfixes for next patch
2017-11-13 09:00:26 -07:00
e2e21f0661 Merge pull request #714 from Pakketeretet2/user-manifold-plane-wiggle-fix
User manifold plane wiggle fix
2017-11-13 08:59:40 -07:00
6abf68f614 Merge pull request #712 from akohlmey/linalg-for-latte
Update lib/linalg for use with lib/latte
2017-11-13 08:59:18 -07:00
a97553a92e Merge pull request #709 from abbatux/patch-1
Update pair_smd_tlsph.cpp
2017-11-13 08:58:29 -07:00
dbd4acc4d6 Merge pull request #708 from abbatux/patch-2
Update smd_material_models.cpp
2017-11-13 08:58:07 -07:00
40e776ebc6 Remove OpenMP from KOKKOS_DEVICES in Kokkos CUDA Makefiles since normally this doesn't improve performance 2017-11-10 09:55:11 -07:00
f043212511 USER-DPD: fix a segfault when using constant temperature (DPD vs. DPDE) 2017-11-07 13:57:29 -06:00
4342bcdafc Fix CUDA issue in USER-DPD/random_external_state.h 2017-11-07 09:17:58 -07:00
2e40c00995 add option to the print command to also print to the global universe screen and logfile 2017-11-07 10:00:57 -05:00
f39c6213e1 Change path to nvcc_wrapper 2017-11-06 13:50:16 -07:00
88474fc5c2 Remove Kokkos tpls directory 2017-11-06 13:48:26 -07:00
16b5315845 Update Kokkos to v2.04.11 2017-11-06 13:47:33 -07:00
e337db4059 Replicate bbox from Chris Knight 2017-11-06 11:31:43 -07:00
ba43465268 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2017-11-06 13:30:08 -05:00
09c61ca598 correct listing of USER-OMP variants of fix rigid styles 2017-11-06 13:29:59 -05:00
0f971bf07c print name of unknown or incorrect variable in error message 2017-11-06 10:41:32 -05:00
5a8c5eb479 provide last input command line with error->one() output 2017-11-06 10:41:01 -05:00
aa0d6cd75b Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2017-11-04 02:49:28 -04:00
b34000a5e1 make *_gpu_reinit() functions consistent in returning void. correct prototypes in src/GPU, too.
this supersedes and closes #719
2017-11-04 02:49:22 -04:00
279339ebd0 Remove the now unused AIRct_ssa[] array from the NeighList class. 2017-11-03 13:42:36 -05:00
605fe53c07 USER-DPD: make the kokkos and non-kokkos fix_shardlow match more closely
This was accomplished with several key changes:
1) Modified fix_shardlow's control flow to match fix_shardlow_kokkos so
that random numbers are pulled fromn the RNGs in exactly the same order.

2) Created random_external_state.h, a simplified version of the Kokkos
random number generator that keeps its state variables external to itself.
Thus it can be used both with and without Kokkos enabled, as long as the
caller stores and passes in the required state variable.

3) Replaced all references to random_mars.h and Kokkos_Random.hpp code in
the fix_shardlow* files with calls to the random_external_state.h code,
guaranteeing that fix_shardlow* is using an identical RNG in all cases.

Result: most (56 of 61) of our internal tests now generate the same results
with kokkos turned on or off.  Four cases still differ due to what appear
to be vectorization caused rounding differences, and the fifth case
appears to be something triggered by the kokkos "atom_style hybrid" code.
2017-11-03 12:51:37 -05:00
65b77230fd added missing "dihedral" in compute dihedral/local docs 2017-11-02 15:04:04 -04:00
91e4bcca33 BUG: openfile is called multiple times, second call stopped code with 'at keyword requires use of append yes' 2017-11-01 21:28:14 +01:00
7ef17efe2e MAINT: Removed superfluous code. 2017-11-01 21:20:19 +01:00
8a804460f9 MAINT: Use proper data type for bigint when defining NetCDF file. 2017-11-01 21:19:55 +01:00
f6658d10b7 fix incorrect create_atoms example for selecting created atoms with a variable 2017-10-30 23:33:26 -04:00
f4d0aa3393 correct cut-n-paste bug reported by Massimo Pica Ciamarra on lammps-users 2017-10-27 11:25:57 -04:00
99a6c6edb4 Fixed a typo in manifold plane wiggle. 2017-10-26 12:33:16 -04:00
a26ffc7ff7 Reset plane wiggle in master. 2017-10-26 12:32:30 -04:00
b002e071e7 Reset some files back to upstream. 2017-10-26 12:31:30 -04:00
9f44e3e5b0 Merged upstream. 2017-10-26 12:26:34 -04:00
e79cd6c62c Moved some stuff around. 2017-10-26 12:25:55 -04:00
82c6fd609e Merge branch 'master' of https://www.github.com/lammps/lammps 2017-10-26 12:06:57 -04:00
2dbb44f2c6 provide Makefile.lammps template for use with bundled linalg lib 2017-10-24 13:38:04 -04:00
d1630bbe34 add missing BLAS/LAPACK functions used by LATTE to linalg lib 2017-10-24 13:22:20 -04:00
41c25877e8 Update smd_material_models.cpp
The pressure pFinal using ShockEOS() was of the wrong sign when Gamma = 0.
2017-10-24 11:04:11 +11:00
253a17b6d0 Update pair_smd_tlsph.cpp
Correction of a typo in the computation of LAME_LAMBDA.
2017-10-23 12:45:58 +11:00
0448bc9caf Merged stuff. 2017-09-25 18:31:32 -04:00
736 changed files with 93513 additions and 6344 deletions

View File

@ -198,14 +198,13 @@ if(ENABLE_PYTHON)
add_definitions(-DLMP_PYTHON)
include_directories(${PYTHON_INCLUDE_DIR})
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
if(NOT PYTHON_INSTDIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
if(NOT BUILD_SHARED_LIBS)
message(FATAL_ERROR "Python package need lammps to be build shared, use -DBUILD_SHARED_LIBS=ON")
if(BUILD_SHARED_LIBS)
if(NOT PYTHON_INSTDIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
endif()
endif()
@ -401,6 +400,10 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include)
elseif(PKG_LIB STREQUAL h5md)
target_include_directories(h5md PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/h5md/include)
elseif(PKG_LIB STREQUAL colvars)
target_compile_options(colvars PRIVATE -DLEPTON)
target_include_directories(colvars PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton/include)
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
else()
target_include_directories(${PKG_LIB} PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB})
endif()
@ -480,6 +483,8 @@ if(ENABLE_KOKKOS)
${KOKKOS_PKG_SOURCES_DIR}/neigh_list_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neigh_bond_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/fix_nh_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
@ -487,6 +492,17 @@ if(ENABLE_KOKKOS)
# detects styles which have KOKKOS version
RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES)
# register kokkos-only styles
RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
if(ENABLE_USER-DPD)
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
endif()
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
list(APPEND LIB_SOURCES ${KOKKOS_PKG_SOURCES})

View File

@ -11,6 +11,12 @@ function(FindStyleHeaders path style_class file_pattern headers)
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
endfunction(FindStyleHeaders)
function(AddStyleHeader path headers)
get_property(hlist GLOBAL PROPERTY ${headers})
list(APPEND hlist ${path})
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
endfunction(AddStyleHeader)
function(FindStyleHeadersExt path style_class extension headers sources)
get_property(hlist GLOBAL PROPERTY ${headers})
get_property(slist GLOBAL PROPERTY ${sources})
@ -62,6 +68,22 @@ function(GenerateStyleHeader path property style)
CreateStyleHeader("${path}" "style_${style}.h" ${files})
endfunction(GenerateStyleHeader)
function(RegisterNBinStyles search_path)
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
endfunction(RegisterNBinStyles)
function(RegisterNPairStyles search_path)
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
endfunction(RegisterNPairStyles)
function(RegisterNBinStyle path)
AddStyleHeader(${path} NBIN)
endfunction(RegisterNBinStyle)
function(RegisterNPairStyle path)
AddStyleHeader(${path} NPAIR)
endfunction(RegisterNPairStyle)
function(RegisterStyles search_path)
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid

View File

@ -20,6 +20,7 @@ ifeq ($(shell which virtualenv >/dev/null 2>&1; echo $$?), 0)
HAS_VIRTUALENV = YES
endif
SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())')
SOURCES=$(wildcard src/*.txt)
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
@ -55,7 +56,7 @@ html: $(OBJECTS) $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
echo "############################################" ;\
doc_anchor_check src/*.txt ;\
echo "############################################" ;\
@ -91,7 +92,7 @@ epub: $(OBJECTS)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build -j 8 -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
sphinx-build $(SPHINXEXTRA) -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
deactivate ;\
)
@mv epub/LAMMPS.epub .
@ -159,7 +160,7 @@ $(VENV):
@( \
virtualenv -p $(PYTHON) $(VENV); \
. $(VENV)/bin/activate; \
pip install Sphinx==1.5.6; \
pip install Sphinx; \
pip install sphinxcontrib-images; \
deactivate;\
)

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="23 Oct 2017 version">
<META NAME="docnumber" CONTENT="17 Jan 2018 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
23 Oct 2017 version :c,h4
17 Jan 2018 version :c,h4
Version info: :h4

View File

@ -619,8 +619,9 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"pour"_fix_pour.html,
"press/berendsen"_fix_press_berendsen.html,
"print"_fix_print.html,
"property/atom"_fix_property_atom.html,
"python"_fix_python.html,
"property/atom (k)"_fix_property_atom.html,
"python/invoke"_fix_python_invoke.html,
"python/move"_fix_python_move.html,
"qeq/comb (o)"_fix_qeq_comb.html,
"qeq/dynamic"_fix_qeq.html,
"qeq/fire"_fix_qeq.html,
@ -637,10 +638,10 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"rigid/nve (o)"_fix_rigid.html,
"rigid/nvt (o)"_fix_rigid.html,
"rigid/small (o)"_fix_rigid.html,
"rigid/small/nph (o)"_fix_rigid.html,
"rigid/small/npt (o)"_fix_rigid.html,
"rigid/small/nve (o)"_fix_rigid.html,
"rigid/small/nvt (o)"_fix_rigid.html,
"rigid/small/nph"_fix_rigid.html,
"rigid/small/npt"_fix_rigid.html,
"rigid/small/nve"_fix_rigid.html,
"rigid/small/nvt"_fix_rigid.html,
"setforce (k)"_fix_setforce.html,
"shake"_fix_shake.html,
"spring"_fix_spring.html,
@ -668,7 +669,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"wall/harmonic"_fix_wall.html,
"wall/lj1043"_fix_wall.html,
"wall/lj126"_fix_wall.html,
"wall/lj93"_fix_wall.html,
"wall/lj93 (k)"_fix_wall.html,
"wall/piston"_fix_wall_piston.html,
"wall/reflect (k)"_fix_wall_reflect.html,
"wall/region"_fix_wall_region.html,
@ -683,14 +684,14 @@ package"_Section_start.html#start_3.
"atc"_fix_atc.html,
"ave/correlate/long"_fix_ave_correlate_long.html,
"colvars"_fix_colvars.html,
"dpd/energy"_fix_dpd_energy.html,
"dpd/energy (k)"_fix_dpd_energy.html,
"drude"_fix_drude.html,
"drude/transform/direct"_fix_drude_transform.html,
"drude/transform/reverse"_fix_drude_transform.html,
"edpd/source"_fix_dpd_source.html,
"eos/cv"_fix_eos_cv.html,
"eos/table"_fix_eos_table.html,
"eos/table/rx"_fix_eos_table_rx.html,
"eos/table/rx (k)"_fix_eos_table_rx.html,
"filter/corotate"_fix_filter_corotate.html,
"flow/gauss"_fix_flow_gauss.html,
"gle"_fix_gle.html,
@ -728,12 +729,12 @@ package"_Section_start.html#start_3.
"qeq/reax (ko)"_fix_qeq_reax.html,
"qmmm"_fix_qmmm.html,
"qtb"_fix_qtb.html,
"reax/c/bonds"_fix_reax_bonds.html,
"reax/c/species"_fix_reaxc_species.html,
"reax/c/bonds (k)"_fix_reax_bonds.html,
"reax/c/species (k)"_fix_reaxc_species.html,
"rhok"_fix_rhok.html,
"rx"_fix_rx.html,
"rx (k)"_fix_rx.html,
"saed/vtk"_fix_saed_vtk.html,
"shardlow"_fix_shardlow.html,
"shardlow (k)"_fix_shardlow.html,
"smd"_fix_smd.html,
"smd/adjust/dt"_fix_smd_adjust_dt.html,
"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html,
@ -906,7 +907,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"none"_pair_none.html,
"zero"_pair_zero.html,
"hybrid"_pair_hybrid.html,
"hybrid/overlay"_pair_hybrid.html,
"hybrid/overlay (k)"_pair_hybrid.html,
"adp (o)"_pair_adp.html,
"airebo (oi)"_pair_airebo.html,
"airebo/morse (oi)"_pair_airebo.html,
@ -1023,9 +1024,9 @@ KOKKOS, o = USER-OMP, t = OPT.
"tri/lj"_pair_tri_lj.html,
"vashishta (ko)"_pair_vashishta.html,
"vashishta/table (o)"_pair_vashishta.html,
"yukawa (go)"_pair_yukawa.html,
"yukawa (gok)"_pair_yukawa.html,
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
"zbl (go)"_pair_zbl.html :tb(c=4,ea=c)
"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c)
These are additional pair styles in USER packages, which can be used
if "LAMMPS is built with the appropriate
@ -1038,13 +1039,14 @@ package"_Section_start.html#start_3.
"coul/diel (o)"_pair_coul_diel.html,
"coul/long/soft (o)"_pair_lj_soft.html,
"dpd/fdt"_pair_dpd_fdt.html,
"dpd/fdt/energy"_pair_dpd_fdt.html,
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
"eam/cd (o)"_pair_eam.html,
"edip (o)"_pair_edip.html,
"edip/multi"_pair_edip.html,
"edpd"_pair_meso.html,
"eff/cut"_pair_eff.html,
"exp6/rx"_pair_exp6_rx.html,
"exp6/rx (k)"_pair_exp6_rx.html,
"extep"_pair_extep.html,
"gauss/cut"_pair_gauss.html,
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
"lennard/mdf"_pair_mdf.html,
@ -1070,7 +1072,7 @@ package"_Section_start.html#start_3.
"morse/smooth/linear"_pair_morse.html,
"morse/soft"_pair_morse.html,
"multi/lucy"_pair_multi_lucy.html,
"multi/lucy/rx"_pair_multi_lucy_rx.html,
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
"oxdna/coaxstk"_pair_oxdna.html,
"oxdna/excv"_pair_oxdna.html,
"oxdna/hbond"_pair_oxdna.html,
@ -1087,6 +1089,7 @@ package"_Section_start.html#start_3.
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
"smd/ulsph"_pair_smd_ulsph.html,
"smtbq"_pair_smtbq.html,
"snap (k)"_pair_snap.html,
"sph/heatconduction"_pair_sph_heatconduction.html,
"sph/idealgas"_pair_sph_idealgas.html,
"sph/lj"_pair_sph_lj.html,
@ -1094,7 +1097,7 @@ package"_Section_start.html#start_3.
"sph/taitwater"_pair_sph_taitwater.html,
"sph/taitwater/morris"_pair_sph_taitwater_morris.html,
"srp"_pair_srp.html,
"table/rx"_pair_table_rx.html,
"table/rx (k)"_pair_table_rx.html,
"tdpd"_pair_meso.html,
"tersoff/table (o)"_pair_tersoff.html,
"thole"_pair_thole.html,
@ -1249,7 +1252,7 @@ USER-OMP, t = OPT.
"ewald/disp"_kspace_style.html,
"msm (o)"_kspace_style.html,
"msm/cg (o)"_kspace_style.html,
"pppm (go)"_kspace_style.html,
"pppm (gok)"_kspace_style.html,
"pppm/cg (o)"_kspace_style.html,
"pppm/disp (i)"_kspace_style.html,
"pppm/disp/tip4p"_kspace_style.html,

View File

@ -454,7 +454,7 @@ NOTE: By default, for 2d systems, granular particles are still modeled
as 3d spheres, not 2d discs (circles), meaning their moment of inertia
will be the same as in 3d. If you wish to model granular particles in
2d as 2d discs, see the note on this topic in "Section
6.2"_Section_howto.html#howto_2, where 2d simulations are disussed.
6.2"_Section_howto.html#howto_2, where 2d simulations are discussed.
:line

View File

@ -243,7 +243,7 @@ COLLOID package :link(COLLOID),h4
[Contents:]
Coarse-grained finite-size colloidal particles. Pair stayle and fix
Coarse-grained finite-size colloidal particles. Pair styles and fix
wall styles for colloidal interactions. Includes the Fast Lubrication
Dynamics (FLD) method for hydrodynamic interactions, which is a
simplified approximation to Stokesian dynamics.
@ -732,9 +732,9 @@ make lib-latte args="-b -m gfortran" # download and build in lib/latte and
:pre
Note that 3 symbolic (soft) links, "includelink" and "liblink" and
"filelink", are created in lib/latte to point into the LATTE home dir.
"filelink.o", are created in lib/latte to point into the LATTE home dir.
When LAMMPS builds in src it will use these links. You should
also check that the Makefile.lammps file you create is apporpriate
also check that the Makefile.lammps file you create is appropriate
for the compiler you use on your system to build LATTE.
You can then install/un-install the package and build LAMMPS in the
@ -984,7 +984,7 @@ MSCG package :link(mscg),h4
[Contents:]
A "fix mscg"_fix_mscg.html command which can parameterize a
Mulit-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
library"_mscg_home.
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
@ -1781,7 +1781,7 @@ coarse-grained DPD-based models for energetic, reactive molecular
crystalline materials. It includes many pair styles specific to these
systems, including for reactive DPD, where each particle has internal
state for multiple species and a coupled set of chemical reaction ODEs
are integrated each timestep. Highly accurate time intergrators for
are integrated each timestep. Highly accurate time integrators for
isothermal, isoenergetic, isobaric and isenthalpic conditions are
included. These enable long timesteps via the Shardlow splitting
algorithm.
@ -2231,7 +2231,7 @@ Several extensions of the the dissipative particle dynamics (DPD)
method. Specifically, energy-conserving DPD (eDPD) that can model
non-isothermal processes, many-body DPD (mDPD) for simulating
vapor-liquid coexistence, and transport DPD (tDPD) for modeling
advection-diffuion-reaction systems. The equations of motion of these
advection-diffusion-reaction systems. The equations of motion of these
DPD extensions are integrated through a modified velocity-Verlet (MVV)
algorithm.
@ -2495,7 +2495,7 @@ make machine :pre
NOTE: The LAMMPS executable these steps produce is not yet functional
for a QM/MM simulation. You must also build Quantum ESPRESSO and
create a new executable which links LAMMPS and Quanutm ESPRESSO
create a new executable which links LAMMPS and Quantum ESPRESSO
together. These are steps 3 and 4 described in the lib/qmmm/README
file.
@ -2554,7 +2554,7 @@ developed by the Cambridge University group.
:link(quip,https://github.com/libAtoms/QUIP)
To use this package you must have the QUIP libAatoms library available
To use this package you must have the QUIP libAtoms library available
on your system.
[Author:] Albert Bartok (Cambridge University)
@ -2809,7 +2809,7 @@ USER-VTK package :link(USER-VTK),h4
A "dump vtk"_dump_vtk.html command which outputs snapshot info in the
"VTK format"_vtk, enabling visualization by "Paraview"_paraview or
other visuzlization packages.
other visualization packages.
:link(vtk,http://www.vtk.org)
:link(paraview,http://www.paraview.org)

View File

@ -123,7 +123,7 @@ code directly from an input script:
"python"_python.html
"variable python"_variable.html
"fix python"_fix_python.html
"fix python/invoke"_fix_python_invoke.html
"pair_style python"_pair_python.html :ul
The "python"_python.html command which can be used to define and
@ -165,7 +165,7 @@ doc page for its python-style variables for more info, including
examples of Python code you can write for both pure Python operations
and callbacks to LAMMPS.
The "fix python"_fix_python.html command can execute
The "fix python/invoke"_fix_python_invoke.html command can execute
Python code at selected timesteps during a simulation run.
The "pair_style python"_pair_python command allows you to define

View File

@ -79,7 +79,7 @@ This section has the following sub-sections:
Read this first :h5,link(start_2_1)
If you want to avoid building LAMMPS yourself, read the preceeding
If you want to avoid building LAMMPS yourself, read the preceding
section about options available for downloading and installing
executables. Details are discussed on the "download"_download page.
@ -252,7 +252,7 @@ re-compile, after typing "make clean" (which will describe different
clean options).
The LMP_INC variable is used to include options that turn on ifdefs
within the LAMMPS code. The options that are currently recogized are:
within the LAMMPS code. The options that are currently recognized are:
-DLAMMPS_GZIP
-DLAMMPS_JPEG
@ -363,7 +363,7 @@ installed on your platform. If MPI is installed on your system in the
usual place (under /usr/local), you also may not need to specify these
3 variables, assuming /usr/local is in your path. On some large
parallel machines which use "modules" for their compile/link
environements, you may simply need to include the correct module in
environments, you may simply need to include the correct module in
your build environment, before building LAMMPS. Or the parallel
machine may have a vendor-provided MPI which the compiler has no
trouble finding.
@ -431,7 +431,7 @@ use the KISS library described above.
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables,
so the compiler and linker can find the needed FFT header and library
files. Note that on some large parallel machines which use "modules"
for their compile/link environements, you may simply need to include
for their compile/link environments, you may simply need to include
the correct module in your build environment. Or the parallel machine
may have a vendor-provided FFT library which the compiler has no
trouble finding. See the src/MAKE/OPTIONS/Makefile.fftw file for an
@ -470,7 +470,7 @@ 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
calulations, particularly in parallel or on GPUs. Fourier transform
calculations, particularly in parallel or on GPUs. Fourier transform
and related PPPM operations are somewhat insensitive to floating point
truncation errors and thus do not always need to be performed in
double precision. Using the -DFFT_SINGLE setting trades off a little
@ -483,7 +483,7 @@ 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
-lfftw). Similarly, if FFTW2 has been pre-installed 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.
@ -714,7 +714,7 @@ list various make commands that can be used to manage packages.
If you use a command in a LAMMPS input script that is part of a
package, you must have built LAMMPS with that package, else you will
get an error that the style is invalid or the command is unknown.
Every command's doc page specfies if it is part of a package. You can
Every command's doc page specifies if it is part of a package. You can
type
lmp_machine -h :pre
@ -859,7 +859,7 @@ details for each package.
[External libraries:]
Packages in the tables "Section 4"_Section_packages.html with an "ext"
in the last column link to exernal libraries whose source code is not
in the last column link to external libraries whose source code is not
included with LAMMPS. You must first download and install the library
before building LAMMPS with that package installed. E.g. the voronoi
package links to the freely available "Voro++ library"_voro_home2. You
@ -963,7 +963,7 @@ src/MAKE/Makefile.foo and perform the build in the directory
Obj_shared_foo. This is so that each file can be compiled with the
-fPIC flag which is required for inclusion in a shared library. The
build will create the file liblammps_foo.so which another application
can link to dyamically. It will also create a soft link liblammps.so,
can link to dynamically. It will also create a soft link liblammps.so,
which will point to the most recently built shared library. This is
the file the Python wrapper loads by default.
@ -1329,8 +1329,8 @@ LAMMPS is compiled with CUDA=yes.
numa Nm :pre
This option is only relevant when using pthreads with hwloc support.
In this case Nm defines the number of NUMA regions (typicaly sockets)
on a node which will be utilizied by a single MPI rank. By default Nm
In this case Nm defines the number of NUMA regions (typically sockets)
on a node which will be utilized by a single MPI rank. By default Nm
= 1. If this option is used the total number of worker-threads per
MPI rank is threads*numa. Currently it is always almost better to
assign at least one MPI rank per NUMA region, and leave numa set to
@ -1394,7 +1394,7 @@ replica runs on on one or a few processors. Note that with MPI
installed on a machine (e.g. your desktop), you can run on more
(virtual) processors than you have physical processors.
To run multiple independent simulatoins from one input script, using
To run multiple independent simulations from one input script, using
multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
of the manual. World- and universe-style "variables"_variable.html
are useful in this context.
@ -1673,7 +1673,7 @@ The first section provides a global loop timing summary. The {loop time}
is the total wall time for the section. The {Performance} line is
provided for convenience to help predicting the number of loop
continuations required and for comparing performance with other,
similar MD codes. The {CPU use} line provides the CPU utilzation per
similar MD codes. The {CPU use} line provides the CPU utilization per
MPI task; it should be close to 100% times the number of OpenMP
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
to file I/O or insufficient thread utilization.

View File

@ -48,6 +48,7 @@ own sub-directories with their own Makefiles and/or README files.
"chain"_#chain
"colvars"_#colvars
"createatoms"_#createatoms
"doxygen"_#doxygen
"drude"_#drude
"eam database"_#eamdb
"eam generate"_#eamgn
@ -172,6 +173,18 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
:line
doxygen tool :h4,link(doxygen)
The tools/doxygen directory contains a shell script called
doxygen.sh which can generate a call graph and API lists using
the Doxygen_http://doxygen.org software.
See the included README file for details.
The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com.
:line
drude tool :h4,link(drude)
The tools/drude directory contains a Python script called

View File

@ -78,7 +78,7 @@ 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
calculate other PPPM parameters to fit the desired accuracy with
this order :l
The {newton} setting applies to all atoms, not just atoms shared
between MPI tasks :l

View File

@ -11,336 +11,346 @@
5.3.3 KOKKOS package :h5
The KOKKOS package was developed primarily by Christian Trott (Sandia)
with contributions of various styles by others, including Sikandar
Mashayak (UIUC), Stan Moore (Sandia), and Ray Shan (Sandia). The
underlying Kokkos library was written primarily by Carter Edwards,
Kokkos is a templated C++ library that provides abstractions to allow
a single implementation of an application kernel (e.g. a pair style) to run efficiently on
different kinds of hardware, such as GPUs, Intel Xeon Phis, or many-core
CPUs. Kokkos maps the C++ kernel onto different backend languages such as CUDA, OpenMP, or Pthreads.
The Kokkos library also provides data abstractions to adjust (at
compile time) the memory layout of data structures like 2d and
3d arrays to optimize performance on different hardware. For more information on Kokkos, see
"Github"_https://github.com/kokkos/kokkos. Kokkos is part of
"Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos library was written primarily by Carter Edwards,
Christian Trott, and Dan Sunderland (all Sandia).
The KOKKOS package contains versions of pair, fix, and atom styles
The LAMMPS KOKKOS package contains versions of pair, fix, and atom styles
that use data structures and macros provided by the Kokkos library,
which is included with LAMMPS in lib/kokkos.
The Kokkos library is part of
"Trilinos"_http://trilinos.sandia.gov/packages/kokkos and can also be
downloaded from "Github"_https://github.com/kokkos/kokkos. Kokkos is a
templated C++ library that provides two key abstractions for an
application like LAMMPS. First, it allows a single implementation of
an application kernel (e.g. a pair style) to run efficiently on
different kinds of hardware, such as a GPU, Intel Phi, or many-core
CPU.
The Kokkos library also provides data abstractions to adjust (at
compile time) the memory layout of basic data structures like 2d and
3d arrays and allow the transparent utilization of special hardware
load and store operations. Such data structures are used in LAMMPS to
store atom coordinates or forces or neighbor lists. The layout is
chosen to optimize performance on different platforms. Again this
functionality is hidden from the developer, and does not affect how
the kernel is coded.
These abstractions are set at build time, when LAMMPS is compiled with
the KOKKOS package installed. All Kokkos operations occur within the
context of an individual MPI task running on a single node of the
machine. The total number of MPI tasks used by LAMMPS (one or
multiple per compute node) is set in the usual manner via the mpirun
or mpiexec commands, and is independent of Kokkos.
which is included with LAMMPS in /lib/kokkos. The KOKKOS package was developed primarily by Christian Trott (Sandia)
and Stan Moore (Sandia) with contributions of various styles by others, including Sikandar
Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions
see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf.
Kokkos currently provides support for 3 modes of execution (per MPI
task). These are OpenMP (for many-core CPUs), Cuda (for NVIDIA GPUs),
and OpenMP (for Intel Phi). Note that the KOKKOS package supports
running on the Phi in native mode, not offload mode like the
USER-INTEL package supports. You choose the mode at build time to
task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP (threading
for many-core CPUs and Intel Phi), and CUDA (for NVIDIA GPUs). You choose the mode at build time to
produce an executable compatible with specific hardware.
Here is a quick overview of how to use the KOKKOS package
for CPU acceleration, assuming one or more 16-core nodes.
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 :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
mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
include the KOKKOS package and build LAMMPS
enable the KOKKOS package and its hardware options via the "-k on" command-line switch use KOKKOS styles in your input script :ul
Here is a quick overview of how to use the KOKKOS package for GPUs,
assuming one or more nodes, each with 16 cores and a GPU. More
details follow.
discuss use of NVCC, which Makefiles to examine
use a C++11 compatible compiler
KOKKOS_DEVICES = Cuda, OpenMP
KOKKOS_ARCH = Kepler35
make yes-kokkos
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
mpirun -np 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj # two MPI tasks, 8 threads per CPU
mpirun -np 32 -ppn 2 lmp_cuda -k on t 8 g 2 -sf kk -in in.lj # ditto on 16 nodes :pre
Here is a quick overview of how to use the KOKKOS package
for the Intel Phi:
use a C++11 compatible compiler
KOKKOS_DEVICES = OpenMP
KOKKOS_ARCH = KNC
make yes-kokkos
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
mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240
mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240
mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :pre
[Required hardware/software:]
Kokkos support within LAMMPS must be built with a C++11 compatible
compiler. If using gcc, version 4.7.2 or later is required.
To build with Kokkos support for CPUs, your compiler must support the
OpenMP interface. You should have one or more multi-core CPUs so that
multiple threads can be launched by each MPI task running on a CPU.
To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA software
version 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.
NOTE: For good performance of the KOKKOS package on GPUs, you must
have Kepler generation GPUs (or later). The Kokkos library exploits
texture cache options not supported by Telsa generation GPUs (or
older).
To build with Kokkos support for Intel Xeon Phi coprocessors, your
sysmte must be configured to use them in "native" mode, not "offload"
mode like the USER-INTEL package supports.
[Building LAMMPS with the KOKKOS package:]
You must choose at build time whether to build for CPUs (OpenMP),
GPUs, or Phi.
NOTE: Kokkos support within LAMMPS must be built with a C++11 compatible
compiler. This means GCC version 4.7.2 or later, Intel 14.0.4 or later, or
Clang 3.5.2 or later is required.
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_mpi, 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_mpi.
The recommended method of building the KOKKOS package is to start with the provided Kokkos
Makefiles in /src/MAKE/OPTIONS/. You may need to modify the KOKKOS_ARCH variable in the Makefile
to match your specific hardware. For example:
The latter two steps can be done using the "-k on", "-pk kokkos" and
"-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.
for Sandy Bridge CPUs, set KOKKOS_ARCH=SNB
for Broadwell CPUs, set KOKKOS_ARCH=BWD
for K80 GPUs, set KOKKOS_ARCH=Kepler37
for P100 GPUs and Power8 CPUs, set KOKKOS_ARCH=Pascal60,Power8 :ul
See the [Advanced Kokkos Options] section below for a listing of all KOKKOS_ARCH options.
Or you can follow these steps:
[Compile for CPU-only (MPI only, no threading):]
CPU-only (run all-MPI or with OpenMP threading):
cd lammps/src
make yes-kokkos
make kokkos_omp :pre
CPU-only (only MPI, no threading):
use a C++11 compatible compiler and set KOKKOS_ARCH variable in
/src/MAKE/OPTIONS/Makefile.kokkos_mpi_only as described above. Then do the
following:
cd lammps/src
make yes-kokkos
make kokkos_mpi_only :pre
Intel Xeon Phi (Intel Compiler, Intel MPI):
[Compile for CPU-only (MPI plus OpenMP threading):]
NOTE: To build with Kokkos support for OpenMP threading, 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.
use a C++11 compatible compiler and set KOKKOS_ARCH variable in
/src/MAKE/OPTIONS/Makefile.kokkos_omp as described above. Then do the
following:
cd lammps/src
make yes-kokkos
make kokkos_omp :pre
[Compile for Intel KNL Xeon Phi (Intel Compiler, OpenMPI):]
use a C++11 compatible compiler and do the following:
cd lammps/src
make yes-kokkos
make kokkos_phi :pre
CPUs and GPUs (with MPICH or OpenMPI):
[Compile for CPUs and GPUs (with OpenMPI or MPICH):]
NOTE: 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.
use a C++11 compatible compiler and set KOKKOS_ARCH variable in
/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as described
above. Then do the following:
cd lammps/src
make yes-kokkos
make kokkos_cuda_mpi :pre
These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the
make command line which requires a GNU-compatible make command. Try
[Alternative Methods of Compiling:]
Alternatively, the KOKKOS package can be built by specifying Kokkos variables
on the make command line. For example:
make mpi KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=SNB # set the KOKKOS_DEVICES and KOKKOS_ARCH variable explicitly
make kokkos_cuda_mpi KOKKOS_ARCH=Pascal60,Power8 # set the KOKKOS_ARCH variable explicitly :pre
Setting the KOKKOS_DEVICES and KOKKOS_ARCH variables on the
make command line requires a GNU-compatible make command. Try
"gmake" if your system's standard make complains.
NOTE: If you build using make line variables and re-build LAMMPS twice
with different KOKKOS options and the *same* target, e.g. g++ in the
first two examples above, then you *must* perform a "make clean-all"
or "make clean-machine" before each build. This is to force all the
with different KOKKOS options and the *same* target, then you *must* perform a "make clean-all"
or "make clean-machine" before each build. This is to force all the
KOKKOS-dependent files to be re-compiled with the new options.
NOTE: Currently, there are no precision options with the KOKKOS
package. All compilation and computation is performed in double
precision.
[Running LAMMPS with the KOKKOS package:]
There are other allowed options when building with the KOKKOS package.
As above, they can be set either as variables on the make command line
or in Makefile.machine. This is the full list of options, including
those discussed above, Each takes a value shown below. The
default value is listed, which is set in the
lib/kokkos/Makefile.kokkos file.
All Kokkos operations occur within the
context of an individual MPI task running on a single node of the
machine. The total number of MPI tasks used by LAMMPS (one or
multiple per compute node) is set in the usual manner via the mpirun
or mpiexec commands, and is independent of Kokkos. E.g. the mpirun
command in OpenMPI does this via its
-np and -npernode switches. Ditto for MPICH via -np and -ppn.
#Default settings specific options
#Options: force_uvm,use_ldg,rdc
[Running on a multi-core CPU:]
KOKKOS_DEVICES, values = {OpenMP}, {Serial}, {Pthreads}, {Cuda}, default = {OpenMP}
KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler}, {Kepler30}, {Kepler32}, {Kepler35}, {Kepler37}, {Maxwell}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {ARMv8}, {BGQ}, {Power7}, {Power8}, default = {none}
KOKKOS_DEBUG, values = {yes}, {no}, default = {no}
KOKKOS_USE_TPLS, values = {hwloc}, {librt}, default = {none}
KOKKOS_CUDA_OPTIONS, values = {force_uvm}, {use_ldg}, {rdc} :ul
Here is a quick overview of how to use the KOKKOS package
for CPU acceleration, assuming one or more 16-core nodes.
KOKKOS_DEVICE sets the parallelization method used for Kokkos code
(within LAMMPS). KOKKOS_DEVICES=OpenMP means that OpenMP will be
used. KOKKOS_DEVICES=Pthreads means that pthreads will be used.
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.
If KOKKOS_DEVICES=Cuda, then the lo-level Makefile in the src/MAKE
directory must use "nvcc" as its compiler, via its CC setting. For
best performance its CCFLAGS setting should use -O3 and have a
KOKKOS_ARCH setting that matches the compute capability of your NVIDIA
hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note
the minimal required compute capability is 2.0, but this will give
significantly reduced performance compared to Kepler generation GPUs
with compute capability 3.x. For the LINK setting, "nvcc" should not
be used; instead use g++ or another compiler suitable for linking C++
applications. Often you will want to use your MPI compiler wrapper
for this setting (i.e. mpicxx). Finally, the lo-level Makefile must
also have a "Compilation rule" for creating *.o files from *.cu files.
See src/Makefile.cuda for an example of a lo-level Makefile with all
of these settings.
KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not
migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be
used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not
necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
provides alternative methods via environment variables for binding
threads to hardware cores. More info on binding threads to cores is
given in "Section 5.3"_Section_accelerate.html#acc_3.
KOKKOS_ARCH=KNC enables compiler switches needed when compiling for an
Intel Phi processor.
KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
on most Unix platforms. This library is not available on all
platforms.
KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style
within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time
debugging information that can be useful. It also enables runtime
bounds checking on Kokkos data structures.
KOKKOS_CUDA_OPTIONS are additional options for CUDA.
For more information on Kokkos see the Kokkos programmers' guide here:
/lib/kokkos/doc/Kokkos_PG.pdf.
[Run with the KOKKOS package from the command line:]
The mpirun or mpiexec command sets the total number of MPI tasks used
by LAMMPS (one or multiple per compute node) and the number of MPI
tasks used per node. E.g. the mpirun command in MPICH does this via
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
When using KOKKOS built with host=OMP, you need to choose how many
OpenMP threads per MPI task will be used (via the "-k" command-line
switch discussed below). Note that the product of MPI tasks * OpenMP
threads/task should not exceed the physical number of cores (on a
node), otherwise performance will suffer.
When using the KOKKOS package built with device=CUDA, you must use
exactly one MPI task per physical GPU.
When using the KOKKOS package built with host=MIC for Intel Xeon Phi
coprocessor support you need to insure there are one or more MPI tasks
per coprocessor, and choose the number of coprocessor threads to use
per MPI task (via the "-k" command-line switch discussed below). The
product of MPI tasks * coprocessor threads/task should not exceed the
maximum number of threads the coprocessor is designed to run,
otherwise performance will suffer. This value is 240 for current
generation Xeon Phi(TM) chips, which is 60 physical cores * 4
threads/core. Note that with the KOKKOS package you do not need to
specify how many Phi coprocessors there are per node; each
coprocessors is simply treated as running some number of MPI tasks.
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no multi-threading
mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
mpirun -np 2 lmp_kokkos_omp -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
mpirun -np 32 -ppn 4 lmp_kokkos_omp -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk kokkos" "command-line switches"_Section_start.html#start_7 in your mpirun command.
You must use the "-k on" "command-line
switch"_Section_start.html#start_6 to enable the KOKKOS package. It
switch"_Section_start.html#start_7 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_6. The two most commonly used
options are:
system. Those arguments are "documented
here"_Section_start.html#start_7. For OpenMP use:
-k on t Nt g Ng :pre
The "t Nt" option applies to host=OMP (even if device=CUDA) and
host=MIC. For host=OMP, it specifies how many OpenMP threads per MPI
task to use with a node. For host=MIC, it specifies how many Xeon Phi
threads per MPI task to use within a node. The default is Nt = 1.
Note that for host=OMP this is effectively MPI-only mode which may be
fine. But for host=MIC you will typically end up using far less than
all the 240 available threads, which could give very poor performance.
The "g Ng" option applies to device=CUDA. It specifies how many GPUs
per compute node to use. The default is 1, so this only needs to be
specified is you have 2 or more GPUs per compute node.
-k on t Nt :pre
The "t Nt" option specifies how many OpenMP threads per MPI
task to use with a node. The default is Nt = 1, which is MPI-only mode.
Note that the product of MPI tasks * OpenMP
threads/task should not exceed the physical number of cores (on a
node), otherwise performance will suffer. If hyperthreading is enabled, then
the product of MPI tasks * OpenMP threads/task should not exceed the
physical number of cores * hardware threads.
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_6,
which will automatically append "kk" to styles that support it. Use
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_6.
The "-sf kk" "command-line switch"_Section_start.html#start_7
will automatically append the "/kk" suffix to styles that support it.
In this manner no modification to the input script is needed. Alternatively,
one can run with the KOKKOS package by editing the input script as described below.
Note that the default for the "package kokkos"_package.html command is
NOTE: The default for the "package kokkos"_package.html command is
to use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. This typically gives fastest
performance. If the "newton"_newton.html command is used in the input
script, it can override the Newton flag defaults.
However, when running in MPI-only mode with 1 thread per MPI task, it
pairwise and bonded interactions. However, when running on CPUs, 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_6.
styles. It can also be faster to use non-threaded communication.
Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to
change the default "package kokkos"_package.html
options. See its doc page for details and default settings. Experimenting with
its options can provide a speed-up for specific calculations. For example:
[Or run with the KOKKOS package by editing an input script:]
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre
The discussion above for the mpirun/mpiexec command and setting
appropriate thread and GPU values for host=OMP or host=MIC or
device=CUDA are the same.
If the "newton"_newton.html command is used in the input
script, it can also override the Newton flag defaults.
[Core and Thread Affinity:]
When using multi-threading, it is important for
performance to bind both MPI tasks to physical cores, and threads to
physical cores, so they do not migrate during a simulation.
If you are not certain MPI tasks are being bound (check the defaults
for your MPI installation), binding can be forced with these flags:
OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ...
Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ... :pre
For binding threads with KOKKOS OpenMP, use thread affinity
environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or
later, intel 12 or later) setting the environment variable
OMP_PROC_BIND=true should be sufficient. In general, for best performance
with OpenMP 4.0 or better set OMP_PROC_BIND=spread and OMP_PLACES=threads.
For binding threads with the
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option
as described below.
[Running on Knight's Landing (KNL) Intel Xeon Phi:]
Here is a quick overview of how to use the KOKKOS package
for the Intel Knight's Landing (KNL) Xeon Phi:
KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores
are reserved for the OS, and only 64 or 66 cores are used. Each core
has 4 hyperthreads,so there are effectively N = 256 (4*64) or
N = 264 (4*66) cores to run on. The product of MPI tasks * OpenMP threads/task should not exceed this limit,
otherwise performance will suffer. Note that with the KOKKOS package you do not need to
specify how many KNLs there are per node; each
KNL is simply treated as running some number of MPI tasks.
Examples of mpirun commands that follow these rules are shown below.
Intel KNL node with 68 cores (272 threads/node via 4x hardware threading):
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 64 MPI tasks/node, 4 threads/task
mpirun -np 66 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 66 MPI tasks/node, 4 threads/task
mpirun -np 32 lmp_kokkos_phi -k on t 8 -sf kk -in in.lj # 1 node, 32 MPI tasks/node, 8 threads/task
mpirun -np 512 -ppn 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 8 nodes, 64 MPI tasks/node, 4 threads/task :pre
The -np setting of the mpirun command sets the number of MPI
tasks/node. The "-k on t Nt" command-line switch sets the number of
threads/task as Nt. The product of these two values should be N, i.e.
256 or 264.
NOTE: The default for the "package kokkos"_package.html command is
to use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. When running on KNL, this
will typically be best for pair-wise potentials. For manybody potentials,
using "half" neighbor lists and setting the
Newton flag to "on" may be faster. It can also be faster to use non-threaded communication.
Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to
change the default "package kokkos"_package.html
options. See its doc page for details and default settings. Experimenting with
its options can provide a speed-up for specific calculations. For example:
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre
NOTE: MPI tasks and threads should be bound to cores as described above for CPUs.
NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors such as Knight's Corner (KNC), your
system must be configured to use them in "native" mode, not "offload"
mode like the USER-INTEL package supports.
[Running on GPUs:]
Use the "-k" "command-line switch"_Section_commands.html#start_7 to
specify the number of GPUs per node. Typically 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.
You can assign multiple MPI tasks to the same GPU with the
KOKKOS package, but this is usually only faster if significant portions
of the input script have not been ported to use Kokkos. Using CUDA MPS
is recommended in this scenario. 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 should not exceed N.
-k on g Ng :pre
Here are examples of how to use the KOKKOS package for GPUs,
assuming one or more nodes, each with two GPUs:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
NOTE: The default for the "package kokkos"_package.html command is
to use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions, along with threaded communication.
When running on Maxwell or Kepler GPUs, this will typically be best. For Pascal GPUs,
using "half" neighbor lists and setting the
Newton flag to "on" may be faster. For many pair styles, setting the neighbor binsize
equal to the ghost atom cutoff will give speedup.
Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to
change the default "package kokkos"_package.html
options. See its doc page for details and default settings. Experimenting with
its options can provide a speed-up for specific calculations. For example:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre
NOTE: For good performance of the KOKKOS package on GPUs, you must
have Kepler generation GPUs (or later). The Kokkos library exploits
texture cache options not supported by Telsa generation GPUs (or
older).
NOTE: When using a GPU, you will achieve the best performance if your
input script does not use fix or compute styles which are not yet
Kokkos-enabled. This allows data to stay on the GPU for multiple
timesteps, without being copied back to the host CPU. Invoking a
non-Kokkos fix or compute, or performing I/O for
"thermo"_thermo_style.html or "dump"_dump.html output will cause data
to be copied back to the CPU incurring a performance penalty.
NOTE: To get an accurate timing breakdown between time spend in pair,
kspace, etc., you must set the environment variable CUDA_LAUNCH_BLOCKING=1.
However, this will reduce performance and is not recommended for production runs.
[Run with the KOKKOS package by editing an input script:]
Alternatively the effect of the "-sf" or "-pk" switches can be
duplicated by adding the "package kokkos"_package.html or "suffix
kk"_suffix.html commands to your input script.
The discussion above for building LAMMPS with the KOKKOS package, the mpirun/mpiexec command, and setting
appropriate thread are the same.
You must still use the "-k on" "command-line
switch"_Section_start.html#start_6 to enable the KOKKOS package, and
switch"_Section_start.html#start_7 to enable the KOKKOS package, and
specify its additional arguments for hardware options appropriate to
your system, as documented above.
Use the "suffix kk"_suffix.html command, or you can explicitly add a
You can use the "suffix kk"_suffix.html command, or you can explicitly add a
"kk" suffix to individual styles in your input script, e.g.
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_6.
"command-line switch"_Section_start.html#start_7.
[Using OpenMP threading and CUDA together (experimental):]
With the KOKKOS package, both OpenMP multi-threading and GPUs can be used
together in a few special cases. In the Makefile, the KOKKOS_DEVICES variable must
include both "Cuda" and "OpenMP", as is the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
KOKKOS_DEVICES=Cuda,OpenMP :pre
The suffix "/kk" is equivalent to "/kk/device", and for Kokkos CUDA,
using the "-sf kk" in the command line gives the default CUDA version everywhere.
However, if the "/kk/host" suffix is added to a specific style in the input
script, the Kokkos OpenMP (CPU) version of that specific style will be used instead.
Set the number of OpenMP threads as "t Nt" and the number of GPUs as "g Ng"
-k on t Nt g Ng :pre
For example, the command to run with 1 GPU and 8 OpenMP threads is then:
mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk :pre
Conversely, if the "-sf kk/host" is used in the command line and then the
"/kk" or "/kk/device" suffix is added to a specific style in your input script,
then only that specific style will run on the GPU while everything else will
run on the CPU in OpenMP mode. Note that the execution of the CPU and GPU
styles will NOT overlap, except for a special case:
A kspace style and/or molecular topology (bonds, angles, etc.) running on
the host CPU can overlap with a pair style running on the GPU. First compile
with "--default-stream per-thread" added to CCFLAGS in the Kokkos CUDA Makefile.
Then explicitly use the "/kk/host" suffix for kspace and bonds, angles, etc.
in the input file and the "kk" suffix (equal to "kk/device") on the command line.
Also make sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1"
so CPU/GPU overlap can occur.
[Speed-ups to expect:]
@ -353,7 +363,7 @@ Generally speaking, the following rules of thumb apply:
When running on CPUs only, with a single thread per MPI task,
performance of a KOKKOS style is somewhere between the standard
(un-accelerated) styles (MPI-only mode), and those provided by the
USER-OMP package. However the difference between all 3 is small (less
USER-OMP package. However the difference between all 3 is small (less
than 20%). :ulb,l
When running on CPUs only, with multiple threads per MPI task,
@ -363,7 +373,7 @@ package. :l
When running large number of atoms per GPU, KOKKOS is typically faster
than the GPU package. :l
When running on Intel Xeon Phi, KOKKOS is not as fast as
When running on Intel hardware, KOKKOS is not as fast as
the USER-INTEL package, which is optimized for that hardware. :l
:ule
@ -371,123 +381,78 @@ See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the
LAMMPS web site for performance of the KOKKOS package on different
hardware.
[Guidelines for best performance:]
[Advanced Kokkos options:]
Here are guidline for using the KOKKOS package on the different
hardware configurations listed above.
There are other allowed options when building with the KOKKOS package.
As above, they can be set either as variables on the make command line
or in Makefile.machine. This is the full list of options, including
those discussed above. Each takes a value shown below. The
default value is listed, which is set in the
/lib/kokkos/Makefile.kokkos file.
Many of the guidelines use the "package kokkos"_package.html command
See its doc page for details and default settings. Experimenting with
its options can provide a speed-up for specific calculations.
KOKKOS_DEVICES, values = {Serial}, {OpenMP}, {Pthreads}, {Cuda}, default = {OpenMP}
KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler30}, {Kepler32}, {Kepler35}, {Kepler37}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {Pascal60}, {Pascal61}, {ARMv80}, {ARMv81}, {ARMv81}, {ARMv8-ThunderX}, {BGQ}, {Power7}, {Power8}, {Power9}, {KNL}, {BDW}, {SKX}, default = {none}
KOKKOS_DEBUG, values = {yes}, {no}, default = {no}
KOKKOS_USE_TPLS, values = {hwloc}, {librt}, {experimental_memkind}, default = {none}
KOKKOS_CXX_STANDARD, values = {c++11}, {c++1z}, default = {c++11}
KOKKOS_OPTIONS, values = {aggressive_vectorization}, {disable_profiling}, default = {none}
KOKKOS_CUDA_OPTIONS, values = {force_uvm}, {use_ldg}, {rdc}, {enable_lambda}, default = {enable_lambda} :ul
[Running on a multi-core CPU:]
KOKKOS_DEVICES sets the parallelization method used for Kokkos code
(within LAMMPS). KOKKOS_DEVICES=Serial means that no threading will be used.
KOKKOS_DEVICES=OpenMP means that OpenMP threading will be
used. KOKKOS_DEVICES=Pthreads means that pthreads will be used.
KOKKOS_DEVICES=Cuda means an NVIDIA GPU running CUDA will be used.
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_6. If you do not change this, no
additional parallelism (beyond MPI) will be invoked on the host
CPU(s).
KOKKOS_ARCH enables compiler switches needed when compiling for a
specific hardware:
You can compare the performance running in different modes:
ARMv80 = ARMv8.0 Compatible CPU
ARMv81 = ARMv8.1 Compatible CPU
ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU
SNB = Intel Sandy/Ivy Bridge CPUs
HSW = Intel Haswell CPUs
BDW = Intel Broadwell Xeon E-class CPUs
SKX = Intel Sky Lake Xeon E-class HPC CPUs (AVX512)
KNC = Intel Knights Corner Xeon Phi
KNL = Intel Knights Landing Xeon Phi
Kepler30 = NVIDIA Kepler generation CC 3.0
Kepler32 = NVIDIA Kepler generation CC 3.2
Kepler35 = NVIDIA Kepler generation CC 3.5
Kepler37 = NVIDIA Kepler generation CC 3.7
Maxwell50 = NVIDIA Maxwell generation CC 5.0
Maxwell52 = NVIDIA Maxwell generation CC 5.2
Maxwell53 = NVIDIA Maxwell generation CC 5.3
Pascal60 = NVIDIA Pascal generation CC 6.0
Pascal61 = NVIDIA Pascal generation CC 6.1
BGQ = IBM Blue Gene/Q CPUs
Power8 = IBM POWER8 CPUs
Power9 = IBM POWER9 CPUs :ul
run with 1 MPI task/node and N threads/task
run with N MPI tasks/node and 1 thread/task
run with settings in between these extremes :ul
KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not
migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be
used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not
necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
provides alternative methods via environment variables for binding
threads to hardware cores. More info on binding threads to cores is
given in "Section 5.3"_Section_accelerate.html#acc_3.
Examples of mpirun commands in these modes are shown above.
KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
on most Unix platforms. This library is not available on all
platforms.
When using KOKKOS to perform multi-threading, it is important for
performance to bind both MPI tasks to physical cores, and threads to
physical cores, so they do not migrate during a simulation.
KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style
within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time
debugging information that can be useful. It also enables runtime
bounds checking on Kokkos data structures.
If you are not certain MPI tasks are being bound (check the defaults
for your MPI installation), binding can be forced with these flags:
KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when building LAMMPS.
OpenMPI 1.8: mpirun -np 2 -bind-to socket -map-by socket ./lmp_openmpi ...
Mvapich2 2.0: mpiexec -np 2 -bind-to socket -map-by socket ./lmp_mvapich ... :pre
For binding threads with the KOKKOS OMP option, use thread affinity
environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or
later, intel 12 or later) setting the environment variable
OMP_PROC_BIND=true should be sufficient. For binding threads with the
KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option
(see "this section"_Section_packages.html#KOKKOS of the manual for
details).
[Running on GPUs:]
Insure the -arch setting in the machine makefile you are using,
e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software.
(see "this section"_Section_packages.html#KOKKOS of the manual for
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_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
threads/task should not exceed N. With one GPU (and one MPI task) it
may be faster to use less than all the available cores, by setting
threads/task to a smaller value. This is because using all the cores
on a dual-socket node will incur extra cost to copy memory from the
2nd socket to the GPU.
Examples of mpirun commands that follow these rules are shown above.
NOTE: When using a GPU, you will achieve the best performance if your
input script does not use any fix or compute styles which are not yet
Kokkos-enabled. This allows data to stay on the GPU for multiple
timesteps, without being copied back to the host CPU. Invoking a
non-Kokkos fix or compute, or performing I/O for
"thermo"_thermo_style.html or "dump"_dump.html output will cause data
to be copied back to the CPU.
You cannot yet assign multiple MPI tasks to the same GPU with the
KOKKOS package. We plan to support this in the future, similar to the
GPU package in LAMMPS.
You cannot yet use both the host (multi-threaded) and device (GPU)
together to compute pairwise interactions with the KOKKOS package. We
hope to support this in the future, similar to the GPU package in
LAMMPS.
[Running on an Intel Phi:]
Kokkos only uses Intel Phi processors in their "native" mode, i.e.
not hosted by a CPU.
As illustrated above, build LAMMPS with OMP=yes (the default) and
MIC=yes. The latter insures code is correctly compiled for the Intel
Phi. The OMP setting means OpenMP will be used for parallelization on
the Phi, which is currently the best option within Kokkos. In the
future, other options may be added.
Current-generation Intel Phi chips have either 61 or 57 cores. One
core should be excluded for running the OS, leaving 60 or 56 cores.
Each core is hyperthreaded, so there are effectively N = 240 (4*60) or
N = 224 (4*56) cores to run on.
The -np setting of the mpirun command sets the number of MPI
tasks/node. The "-k on t Nt" command-line switch sets the number of
threads/task as Nt. The product of these 2 values should be N, i.e.
240 or 224. Also, the number of threads/task should be a multiple of
4 so that logical threads from more than one MPI task do not run on
the same physical core.
Examples of mpirun commands that follow these rules are shown above.
KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS package must be compiled
with the {enable_lambda} option when using GPUs.
[Restrictions:]
As noted above, if using GPUs, the number of MPI tasks per compute
node should equal to the number of GPUs per compute node. In the
future Kokkos will support assigning multiple MPI tasks to a single
GPU.
Currently Kokkos does not support AMD GPUs due to limits in the
available backend programming models. Specifically, Kokkos requires
extensive C++ support from the Kernel language. This is expected to
change in the future.
Currently, there are no precision options with the KOKKOS
package. All compilation and computation is performed in double
precision.

View File

@ -261,7 +261,7 @@ For images created by the "dump image"_dump_image.html command, if the
polygon consisting of N line segments. Note that the line segments
are drawn between the N vertices, which does not correspond exactly to
the physical extent of the body (because the "pair_style
rounded/polygon"_pair_body_rounded_polygon.cpp defines finite-size
rounded/polygon"_pair_body_rounded_polygon.html defines finite-size
spheres at those point and the line segments between the spheres are
tangent to the spheres). The drawn diameter of each line segment is
determined by the {bflag1} parameter for the {body} keyword. The

View File

@ -28,7 +28,7 @@ compute 1 all aggregate/atom 3.5 :pre
[Description:]
Define a computation that assigns each atom a cluster, fragement,
Define a computation that assigns each atom a cluster, fragment,
or aggregate ID.
A cluster is defined as a set of atoms, each of which is within the
@ -53,7 +53,7 @@ like micelles.
Only atoms in the compute group are clustered and assigned cluster
IDs. Atoms not in the compute group are assigned a cluster ID = 0.
For fragments, only bonds where [both] atoms of the bond are included
in the compute group are assigned to fragments, so that only fragmets
in the compute group are assigned to fragments, so that only fragments
are detected where [all] atoms are in the compute group. Thus atoms
may be included in the compute group, yes still have a fragment ID of 0.

View File

@ -27,8 +27,8 @@ compute 1 all dihedral/local phi :pre
Define a computation that calculates properties of individual dihedral
interactions. The number of datums generated, aggregated across all
processors, equals the number of angles in the system, modified by the
group parameter as explained below.
processors, equals the number of dihedral angles in the system, modified
by the group parameter as explained below.
The value {phi} is the dihedral angle, as defined in the diagram on
the "dihedral_style"_dihedral_style.html doc page.

View File

@ -67,7 +67,7 @@ parameters. This is followed by that number of integers giving the
degree of each order parameter. Because {Q}2 and all odd-degree order
parameters are zero for atoms in cubic crystals (see
"Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn}=12, {Q}4
{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn} =12, {Q}4
= sqrt(7/3)/8 = 0.19094.... The numerical values of all order
parameters up to {Q}12 for a range of commonly encountered
high-symmetry structures are given in Table I of "Mickel et

View File

@ -25,15 +25,15 @@ compute 2 all pressure/uef my_temp_uef virial :pre
[Description:]
This command is used to compute the pressure tensor in
This command is used to compute the pressure tensor in
the reference frame of the applied flow field when
"fix nvt/uef"_fix_nh_uef.html" or
"fix npt/uef"_fix_nh_uef.html" is used.
"fix nvt/uef"_fix_nh_uef.html" or
"fix npt/uef"_fix_nh_uef.html" is used.
It is not necessary to use this command to compute the scalar
value of the pressure. A "compute pressure"_compute_pressure.html
may be used for that purpose.
The keywords and output information are documented in
The keywords and output information are documented in
"compute_pressure"_compute_pressure.html.
[Restrictions:]
@ -46,8 +46,8 @@ This command can only be used when "fix nvt/uef"_fix_nh_uef.html
or "fix npt/uef"_fix_nh_uef.html is active.
The kinetic contribution to the pressure tensor
will be accurate only when
the compute specificed by {temp-ID} is a
will be accurate only when
the compute specified by {temp-ID} is a
"compute temp/uef"_compute_temp_uef.html.
[Related commands:]

View File

@ -224,7 +224,7 @@ block contains six sub-blocks corresponding to the {xx}, {yy}, {zz},
notation. Each of these sub-blocks contains one column for each
bispectrum component, the same as for compute {sna/atom}
For example, if {K}=30 and ntypes=1, the number of columns in the per-atom
For example, if {K} =30 and ntypes=1, the number of columns in the per-atom
arrays generated by {sna/atom}, {snad/atom}, and {snav/atom}
are 30, 90, and 180, respectively. With {quadratic} value=1,
the numbers of columns are 930, 2790, and 5580, respectively.

View File

@ -36,9 +36,9 @@ keyword = {mol} or {basis} or {remap} or {var} or {set} or {units} :l
{set} values = dim name
dim = {x} or {y} or {z}
name = name of variable to set with x, y, or z atom position
{rotate} values = Rx Ry Rz theta
Rx,Ry,Rz = rotation vector for single molecule
{rotate} values = theta Rx Ry Rz
theta = rotation angle for single molecule (degrees)
Rx,Ry,Rz = rotation vector for single molecule
{units} value = {lattice} or {box}
{lattice} = the geometry is defined in lattice units
{box} = the geometry is defined in simulation box units :pre
@ -227,28 +227,30 @@ the sinusoid would appear to be "smoother". Also note the use of the
converts lattice spacings to distance. Click on the image for a
larger version.
dimension 2
variable x equal 100
variable y equal 25
lattice hex 0.8442
region box block 0 $x 0 $y -0.5 0.5
create_box 1 box :pre
variable xx equal 0.0
variable yy equal 0.0
variable xx internal 0.0
variable yy internal 0.0
variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0"
create_atoms 1 box var v set x xx set y yy :pre
create_atoms 1 box var v set x xx set y yy
write_dump all atom sinusoid.lammpstrj :pre
:c,image(JPG/sinusoid_small.jpg,JPG/sinusoid.jpg)
The {rotate} keyword can be used with the {single} style, when adding
a single molecule to specify the orientation at which the molecule is
inserted. The axis of rotation is determined by the rotation vector
(Rx,Ry,Rz) that goes through the insertion point. The specified
{theta} determines the angle of rotation around that axis. Note that
the direction of rotation for the atoms around the rotation axis is
consistent with the right-hand rule: if your right-hand's thumb points
along {R}, then your fingers wrap around the axis in the direction of
rotation.
The {rotate} keyword can only be used with the {single} style and
when adding a single molecule. It allows to specify the orientation
at which the molecule is inserted. The axis of rotation is
determined by the rotation vector (Rx,Ry,Rz) that goes through the
insertion point. The specified {theta} determines the angle of
rotation around that axis. Note that the direction of rotation for
the atoms around the rotation axis is consistent with the right-hand
rule: if your right-hand's thumb points along {R}, then your fingers
wrap around the axis in the direction of rotation.
The {units} keyword determines the meaning of the distance units used
to specify the coordinates of the one particle created by the {single}

View File

@ -18,7 +18,7 @@ style = {many} or {single/bond} or {single/angle} or {single/dihedral} :ule,l
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
rmax = maximum 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

View File

@ -83,7 +83,7 @@ the following dynamic equation:
:c,image(Eqs/fix_controller1.jpg)
where {c} is the continuous time analog of the control variable,
{e}={pvar}-{setpoint} is the error in the process variable, and
{e} ={pvar}-{setpoint} is the error in the process variable, and
{alpha}, {Kp}, {Ki}, and {Kd} are constants set by the corresponding
keywords described above. The discretized version of this equation is:
@ -106,10 +106,10 @@ the value of {alpha} to reflect this, while leaving {Kp}, {Ki}, and
When choosing the values of the four constants, it is best to first
pick a value and sign for {alpha} that is consistent with the
magnitudes and signs of {pvar} and {cvar}. The magnitude of {Kp}
should then be tested over a large positive range keeping {Ki}={Kd}=0.
should then be tested over a large positive range keeping {Ki} = {Kd} =0.
A good value for {Kp} will produce a fast response in {pvar}, without
overshooting the {setpoint}. For many applications, proportional
feedback is sufficient, and so {Ki}={Kd}=0 can be used. In cases where
feedback is sufficient, and so {Ki} = {Kd} =0 can be used. In cases where
there is a substantial lag time in the response of {pvar} to a change
in {cvar}, this can be counteracted by increasing {Kd}. In situations
where {pvar} plateaus without reaching {setpoint}, this can be

View File

@ -64,10 +64,10 @@ not performed once every {N} steps by this command. Instead it is
performed (typically) only a small number of times and the elapsed
times are used to predict when the end-of-the-run will be. Both of
these attributes can be useful when performing benchmark calculations
for a desired length of time with minmimal overhead. For example, if
for a desired length of time with minimal overhead. For example, if
a run is performing 1000s of timesteps/sec, the overhead for syncing
the timer frequently across a large number of processors may be
non-negligble.
non-negligible.
Equal-style variables evaluate to a numeric value. See the
"variable"_variable.html command for a description. They calculate
@ -125,7 +125,7 @@ to the screen and logfile when the halt condition is triggered. If
{message} is set to yes, a one line message with the values that
triggered the halt is printed. If {message} is set to no, no message
is printed; the run simply exits. The latter may be desirable for
post-processing tools that extract thermodyanmic information from log
post-processing tools that extract thermodynamic information from log
files.
[Restart, fix_modify, output, run start/stop, minimize info:]

View File

@ -44,7 +44,7 @@ the velocity for the force evaluation:
where the parameter <font size="4">&lambda;</font> depends on the
specific choice of DPD parameters, and needs to be tuned on a
case-by-case basis. Specification of a {lambda} value is opttional.
case-by-case basis. Specification of a {lambda} value is optional.
If specified, the setting must be from 0.0 to 1.0. If not specified,
a default value of 0.5 is used, which effectively reproduces the
standard velocity-Verlet (VV) scheme. For more details, see

View File

@ -113,9 +113,9 @@ keeping the replicas equally spaced.
:line
The keyword {perp} specifies if and how a perpendicual nudging force
The keyword {perp} specifies if and how a perpendicular nudging force
is computed. It adds a spring force perpendicular to the path in
order to prevent the path from becoming too kinky. It can
order to prevent the path from becoming too strongly kinked. It can
significantly improve the convergence of the NEB calculation when the
resolution is poor. I.e. when few replicas are used; see
"(Maras)"_#Maras1 for details.
@ -138,17 +138,17 @@ By default, no additional forces act on the first and last replicas
during the NEB relaxation, so these replicas simply relax toward their
respective local minima. By using the key word {end}, additional
forces can be applied to the first and/or last replicas, to enable
them to relax toward a MEP while constraining their energy.
them to relax toward a MEP while constraining their energy E to the
target energy ETarget.
The interatomic force Fi for the specified replica becomes:
If ETarget>E, the interatomic force Fi for the specified replica becomes:
Fi = -Grad(V) + (Grad(V) dot T' + (E-ETarget)*Kspring3) T', {when} Grad(V) dot T' < 0
Fi = -Grad(V) + (Grad(V) dot T' + (ETarget- E)*Kspring3) T', {when} Grad(V) dot T' > 0
:pre
where E is the current energy of the replica and ETarget is the target
energy. The "spring" constant on the difference in energies is the
specified {Kspring3} value.
The "spring" constant on the difference in energies is the specified
{Kspring3} value.
When {estyle} is specified as {first}, the force is applied to the
first replica. When {estyle} is specified as {last}, the force is
@ -183,10 +183,9 @@ After converging a NEB calculation using an {estyle} of
have a larger energy than the first replica. If this is not the case,
the path is probably not a MEP.
Finally, note that if the last replica converges toward a local
minimum which has a larger energy than the energy of the first
replica, a NEB calculation using an {estyle} of {last/efirst} or
{last/efirst/middle} cannot reach final convergence.
Finally, note that the last replica may never reach the target energy
if it is stuck in a local minima which has a larger energy than the
target energy.
[Restart, fix_modify, output, run start/stop, minimize info:]

View File

@ -111,6 +111,10 @@ need to communicate their new values to/from ghost atoms, an operation
that can be invoked from within a "pair style"_pair_style.html or
"fix"_fix.html or "compute"_compute.html that you write.
NOTE: If this fix is defined [after] the simulation box is created,
a 'run 0' command should be issued to properly initialize the storage
created by this fix.
:line
This fix is one of a small number that can be defined in an input
@ -155,7 +159,7 @@ these commands could be used:
fix prop all property/atom mol
variable cluster atom ((id-1)/10)+1
set id * mol v_cluster :pre
set atom * mol v_cluster :pre
The "atom-style variable"_variable.html will create values for atoms
with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the

View File

@ -6,14 +6,14 @@
:line
fix python command :h3
fix python/invoke command :h3
[Syntax:]
fix ID group-ID python N callback function_name :pre
fix ID group-ID python/invoke N callback function_name :pre
ID, group-ID are ignored by this fix :ulb,l
python = style name of this fix command :l
python/invoke = style name of this fix command :l
N = execute every N steps :l
callback = {post_force} or {end_of_step} :l
{post_force} = callback after force computations on atoms every N time steps
@ -36,8 +36,8 @@ def end_of_step_callback(lammps_ptr):
# access LAMMPS state using Python interface
""" :pre
fix pf all python 50 post_force post_force_callback
fix eos all python 50 end_of_step end_of_step_callback :pre
fix pf all python/invoke 50 post_force post_force_callback
fix eos all python/invoke 50 end_of_step end_of_step_callback :pre
[Description:]

102
doc/src/fix_python_move.txt Normal file
View File

@ -0,0 +1,102 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix python/move command :h3
[Syntax:]
fix python/move pymodule.CLASS :pre
pymodule.CLASS = use class [CLASS] in module/file [pymodule] to compute how to move atoms
[Examples:]
fix 1 all python/move py_nve.NVE
fix 1 all python/move py_nve.NVE_OPT :pre
[Description:]
The {python/move} fix style provides a way to define ways how particles
are moved during an MD run from python script code, that is loaded from
a file into LAMMPS and executed at the various steps where other fixes
can be executed. This python script must contain specific python class
definitions.
This allows to implement complex position updates and also modified
time integration methods. Due to python being an interpreted language,
however, the performance of this fix can be moderately to significantly
slower than the corresponding C++ code. For specific cases, this
performance penalty can be limited through effective use of NumPy.
:line
The python module file has to start with the following code:
from __future__ import print_function
import lammps
import ctypes
import traceback
import numpy as np
#
class LAMMPSFix(object):
def __init__(self, ptr, group_name="all"):
self.lmp = lammps.lammps(ptr=ptr)
self.group_name = group_name
#
class LAMMPSFixMove(LAMMPSFix):
def __init__(self, ptr, group_name="all"):
super(LAMMPSFixMove, self).__init__(ptr, group_name)
#
def init(self):
pass
#
def initial_integrate(self, vflag):
pass
#
def final_integrate(self):
pass
#
def initial_integrate_respa(self, vflag, ilevel, iloop):
pass
#
def final_integrate_respa(self, ilevel, iloop):
pass
#
def reset_dt(self):
pass :pre
Any classes implementing new atom motion functionality have to be
derived from the [LAMMPSFixMove] class, overriding the available
methods as needed.
Examples for how to do this are in the {examples/python} folder.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html. None of the "fix_modify"_fix_modify.html options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#howto_15. No parameter of this fix can
be used with the {start/stop} keywords of the "run"_run.html command.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
This pair style is part of the PYTHON package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"fix nve"_fix_nve.html, "fix python/invoke"_fix_python_invoke.html
[Default:] none

View File

@ -7,11 +7,17 @@
:line
fix rigid command :h3
fix rigid/omp command :h3
fix rigid/nve command :h3
fix rigid/nve/omp command :h3
fix rigid/nvt command :h3
fix rigid/nvt/omp command :h3
fix rigid/npt command :h3
fix rigid/npt/omp command :h3
fix rigid/nph command :h3
fix rigid/nph/omp command :h3
fix rigid/small command :h3
fix rigid/small/omp command :h3
fix rigid/nve/small command :h3
fix rigid/nvt/small command :h3
fix rigid/npt/small command :h3
@ -28,7 +34,7 @@ bodystyle = {single} or {molecule} or {group} :l
{molecule} args = none
{custom} args = {i_propname} or {v_varname}
i_propname = an integer property defined via fix property/atom
v_varname = an atom-style or atomfile-style variable
v_varname = an atom-style or atomfile-style variable
{group} args = N groupID1 groupID2 ...
N = # of groups
groupID1, groupID2, ... = list of N group IDs :pre
@ -93,7 +99,7 @@ fix 1 clump rigid custom v_bodyid :pre
fix 0 all property/atom i_bodyid
read_restart data.rigid fix 0 NULL Bodies
fix 1 clump rigid/small custom i_bodyid :pre
[Description:]
Treat one or more sets of atoms as independent rigid bodies. This

View File

@ -58,7 +58,7 @@ required in order to eliminate velocity components along the bonds
In order to formulate individual constraints for SHAKE and RATTLE,
focus on a single molecule whose bonds are constrained. Let Ri and Vi
be the position and velocity of atom {i} at time {n}, for
{i}=1,...,{N}, where {N} is the number of sites of our reference
{i} =1,...,{N}, where {N} is the number of sites of our reference
molecule. The distance vector between sites {i} and {j} is given by
:c,image(Eqs/fix_rattle_rij.jpg)

View File

@ -14,15 +14,12 @@ fix ID group-ID smd/integrate_tlsph keyword values :pre
ID, group-ID are documented in "fix"_fix.html command
smd/integrate_tlsph = style name of this fix command
zero or more keyword/value pairs may be appended :ul
keyword = {limit_velocity} :l
zero or more keyword/value pairs may be appended
keyword = {limit_velocity} :ul
{limit_velocity} value = max_vel
max_vel = maximum allowed velocity :pre
:ule
[Examples:]
fix 1 all smd/integrate_tlsph

View File

@ -14,9 +14,8 @@ fix ID group-ID smd/integrate_ulsph keyword :pre
ID, group-ID are documented in "fix"_fix.html command
smd/integrate_ulsph = style name of this fix command
zero or more keyword/value pairs may be appended :ul
keyword = adjust_radius or limit_velocity
zero or more keyword/value pairs may be appended
keyword = adjust_radius or limit_velocity :ul
adjust_radius values = adjust_radius_factor min_nn max_nn
adjust_radius_factor = factor which scale the smooth/kernel radius
@ -28,7 +27,7 @@ limit_velocity values = max_velocity
[Examples:]
fix 1 all smd/integrate_ulsph adjust_radius 1.02 25 50 :pre
fix 1 all smd/integrate_ulsph adjust_radius 1.02 25 50
fix 1 all smd/integrate_ulsph limit_velocity 1000 :pre
[Description:]
@ -38,7 +37,7 @@ See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach Dynamics
The {adjust_radius} keyword activates dynamic adjustment of the per-particle SPH smoothing kernel radius such that the number of neighbors per particles remains
within the interval {min_nn} to {max_nn}. The parameter {adjust_radius_factor} determines the amount of adjustment per timestep. Typical values are
{adjust_radius_factor}=1.02, {min_nn}=15, and {max_nn}=20.
{adjust_radius_factor} =1.02, {min_nn} =15, and {max_nn} =20.
The {limit_velocity} keyword will control the velocity, scaling the norm of
the velocity vector to max_vel in case it exceeds this velocity limit.

View File

@ -0,0 +1,19 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix wall/surface/globale command :h3
[Description:]
This feature is not yet implemented.
[Related commands:]
"dump image"_dump_image.html

View File

@ -115,7 +115,8 @@ Fixes :h1
fix_press_berendsen
fix_print
fix_property_atom
fix_python
fix_python_invoke
fix_python_move
fix_qbmsst
fix_qeq
fix_qeq_comb
@ -147,6 +148,7 @@ Fixes :h1
fix_srd
fix_store_force
fix_store_state
fix_surface_global
fix_temp_berendsen
fix_temp_csvr
fix_temp_rescale

View File

@ -12,7 +12,7 @@ info command :h3
info args :pre
args = one or more of the following keywords: {out}, {all}, {system}, {memory}, {communication}, {computes}, {dumps}, {fixes}, {groups}, {regions}, {variables}, {styles}, {time}, or {configuration}
args = one or more of the following keywords: {out}, {all}, {system}, {memory}, {communication}, {computes}, {dumps}, {fixes}, {groups}, {regions}, {variables}, {coeffs}, {styles}, {time}, or {configuration}
{out} values = {screen}, {log}, {append} filename, {overwrite} filename
{styles} values = {all}, {angle}, {atom}, {bond}, {compute}, {command}, {dump}, {dihedral}, {fix}, {improper}, {integrate}, {kspace}, {minimize}, {pair}, {region} :ul
@ -81,6 +81,11 @@ The {variables} category prints a list of all currently defined
variables, their names, styles, definition and last computed value, if
available.
The {coeffs} category prints a list for each defined force style
(pair, bond, angle, dihedral, improper) indicating which of the
corresponding coefficients have been set. This can be very helpful
to debug error messages like "All pair coeffs are not set".
The {styles} category prints the list of styles available in the
current LAMMPS binary. It supports one of the following options
to control which category of styles is printed out:

View File

@ -1,6 +1,5 @@
#HTMLDOC 1.8.27
-t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=1 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont helvetica --bodyfont times --headfootsize 11.0 --headfootfont helvetica --charset iso-8859-1 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow
#HTMLDOC 1.8.28
-t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow
Manual.html
Section_intro.html
Section_start.html
@ -244,7 +243,8 @@ fix_pour.html
fix_press_berendsen.html
fix_print.html
fix_property_atom.html
fix_python.html
fix_python_invoke.html
fix_python_move.html
fix_qbmsst.html
fix_qeq.html
fix_qeq_comb.html
@ -443,6 +443,7 @@ pair_edip.html
pair_eff.html
pair_eim.html
pair_exp6_rx.html
pair_extep.html
pair_gauss.html
pair_gayberne.html
pair_gran.html

View File

@ -322,9 +322,9 @@ the fix neb command.
The forward (reverse) energy barrier is the potential energy of the
highest replica minus the energy of the first (last) replica.
Supplementary informations for all replicas can be printed out to the
screen and master log.lammps file by adding the verbose keyword. These
informations include the following. The "path angle" (pathangle) for
Supplementary information for all replicas can be printed out to the
screen and master log.lammps file by adding the verbose keyword. This
information include the following. The "path angle" (pathangle) for
the replica i which is the angle between the 3N-length vectors (Ri-1 -
Ri) and (Ri+1 - Ri) (where Ri is the atomic coordinates of replica
i). A "path angle" of 180 indicates that replicas i-1, i and i+1 are
@ -339,8 +339,8 @@ energy gradient of image i. ReplicaForce is the two-norm of the
3N-length force vector (including nudging forces) for replica i.
MaxAtomForce is the maximum force component of any atom in replica i.
When a NEB calculation does not converge properly, these suplementary
informations can help understanding what is going wrong. For instance
When a NEB calculation does not converge properly, the suplementary
information can help understanding what is going wrong. For instance
when the path angle becomes accute the definition of tangent used in
the NEB calculation is questionable and the NEB cannot may diverge
"(Maras)"_#Maras2.

View File

@ -0,0 +1,19 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style body/rounded/polygon command :h3
[Description:]
Note: This feature is not yet implemented.
[Related commands:]
"pair_style body"_pair_body.html
[Default:] none

40
doc/src/pair_extep.txt Normal file
View File

@ -0,0 +1,40 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style extep command :h3
[Syntax:]
pair_style extep :pre
[Examples:]
pair_style extep
pair_coeff * * BN.extep B N :pre
[Description:]
Style {extep} computes the Extended Tersoff Potential (ExTeP)
interactions as described in "(Los2017)"_#Los2017.
:line
[Restrictions:] none
[Related commands:]
"pair_tersoff" pair_tersoff.html
[Default:] none
:line
:link(Los2017)
[(Los2017)] J. H. Los et al. "Extended Tersoff potential for boron nitride:
Energetics and elastic properties of pristine and defective h-BN",
Phys. Rev. B 96 (184108), 2017.

View File

@ -28,7 +28,7 @@ The parameter <contact_stiffness> has units of pressure and should equal roughly
of the Young's modulus (or bulk modulus in the case of fluids) of the material model associated with the SPH particles.
The parameter {scale_factor} can be used to scale the particles' contact radii. This can be useful to control how close
particles can approach each other. Usually, {scale_factor}=1.0.
particles can approach each other. Usually, {scale_factor} =1.0.
:line

View File

@ -29,7 +29,7 @@ The parameter <contact_stiffness> has units of pressure and should equal roughly
of the Young's modulus (or bulk modulus in the case of fluids) of the material model associated with the SPH particle
The parameter {scale_factor} can be used to scale the particles' contact radii. This can be useful to control how close
particles can approach the triangulated surface. Usually, {scale_factor}=1.0.
particles can approach the triangulated surface. Usually, {scale_factor} =1.0.
:line

View File

@ -12,8 +12,8 @@ pair_style smd/ulsph command :h3
pair_style smd/ulsph args :pre
these keywords must be given :l
keyword = {*DENSITY_SUMMATION} or {*DENSITY_CONTINUITY} and {*VELOCITY_GRADIENT} or {*NO_VELOCITY_GRADIENT} and {*GRADIENT_CORRECTION} or {*NO_GRADIENT_CORRECTION}
these keywords must be given :ul
keyword = {*DENSITY_SUMMATION} or {*DENSITY_CONTINUITY} and {*VELOCITY_GRADIENT} or {*NO_VELOCITY_GRADIENT} and {*GRADIENT_CORRECTION} or {*NO_GRADIENT_CORRECTION} :pre
[Examples:]

View File

@ -7,6 +7,7 @@
:line
pair_style snap command :h3
pair_style snap/kk command :h3
[Syntax:]
@ -171,6 +172,29 @@ This pair style can only be used via the {pair} keyword of the
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed in "Section 5"_Section_accelerate.html
of the manual. The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_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
more instructions on how to use the accelerated styles effectively.
:line
[Restrictions:]
This style is part of the SNAP package. It is only enabled if

View File

@ -9,6 +9,7 @@
pair_style yukawa command :h3
pair_style yukawa/gpu command :h3
pair_style yukawa/omp command :h3
pair_style yukawa/kk command :h3
[Syntax:]

View File

@ -8,6 +8,7 @@
pair_style zbl command :h3
pair_style zbl/gpu command :h3
pair_style zbl/kk command :h3
pair_style zbl/omp command :h3
[Syntax:]

View File

@ -11,6 +11,7 @@ Pair Styles :h1
pair_awpmd
pair_beck
pair_body
pair_body_rounded_polygon
pair_bop
pair_born
pair_brownian
@ -32,6 +33,7 @@ Pair Styles :h1
pair_eff
pair_eim
pair_exp6_rx
pair_extep
pair_gauss
pair_gayberne
pair_gran

View File

@ -14,10 +14,11 @@ print string keyword value :pre
string = text string to print, which may contain variables :ulb,l
zero or more keyword/value pairs may be appended :l
keyword = {file} or {append} or {screen} :l
keyword = {file} or {append} or {screen} or {universe} :l
{file} value = filename
{append} value = filename
{screen} value = {yes} or {no} :pre
{screen} value = {yes} or {no}
{universe} value = {yes} or {no} :pre
:ule
[Examples:]
@ -26,6 +27,7 @@ print "Done with equilibration" file info.dat
print Vol=$v append info.dat screen no
print "The system volume is now $v"
print 'The system volume is now $v'
print "NEB calculation 1 complete" screen no universe yes
print """
System volume = $v
System temperature = $t
@ -49,6 +51,11 @@ it does not exist.
If the {screen} keyword is used, output to the screen and logfile can
be turned on or off as desired.
If the {universe} keyword is used, output to the global screen and
logfile can be turned on or off as desired. In multi-partition
calculations, the {screen} option and the corresponding output only
apply to the screen and logfile of the individual partition.
If you want the print command to be executed multiple times (with
changing variable values), there are 3 options. First, consider using
the "fix print"_fix_print.html command, which will print a string
@ -74,4 +81,4 @@ thermodynamic properties, global values calculated by a
[Default:]
The option defaults are no file output and screen = yes.
The option defaults are no file output, screen = yes, and universe = no.

View File

@ -406,7 +406,7 @@ cases, LAMMPS has no simple way to check that something illogical is
being attempted.
The same applies to Python functions called during a simulation run at
each time step using "fix python"_fix_python.html.
each time step using "fix python/invoke"_fix_python_invoke.html.
:line
@ -493,6 +493,6 @@ different source files, problems may occur.
[Related commands:]
"shell"_shell.html, "variable"_variable.html, "fix python"_fix_python.html
"shell"_shell.html, "variable"_variable.html, "fix python/invoke"_fix_python_invoke.html
[Default:] none

View File

@ -10,9 +10,11 @@ replicate command :h3
[Syntax:]
replicate nx ny nz :pre
replicate nx ny nz {keyword} :pre
nx,ny,nz = replication factors in each dimension :ul
nx,ny,nz = replication factors in each dimension :ulb
optional {keyword} = {bbox} :l
{bbox} = only check atoms in replicas that overlap with a processor's subdomain :ule
[Examples:]
@ -43,6 +45,12 @@ file that crosses a periodic boundary should be between two atoms with
image flags that differ by 1. This will allow the bond to be
unwrapped appropriately.
The optional keyword {bbox} uses a bounding box to only check atoms
in replicas that overlap with a processor's subdomain when assigning
atoms to processors, and thus can result in substantial speedups for
calculations using a large number of processors. It does require
temporarily using more memory.
[Restrictions:]
A 2d simulation cannot be replicated in the z dimension.

View File

@ -67,7 +67,8 @@ class RSTMarkup(Markup):
text = text.replace('*', '\\*')
text = text.replace('^', '\\^')
text = text.replace('|', '\\|')
text = re.sub(r'([^"])_', r'\1\\_', text)
text = re.sub(r'([^"])_([ \t\n\r\f])', r'\1\\\\_\2', text)
text = re.sub(r'([^"])_([^ \t\n\r\f])', r'\1\\_\2', text)
return text
def unescape_rst_chars(self, text):
@ -148,15 +149,18 @@ class RSTFormatting(Formatting):
return "\n----------\n\n" + content.strip()
def image(self, content, file, link=None):
if link and (link.lower().endswith('.jpg') or
link.lower().endswith('.jpeg') or
link.lower().endswith('.png') or
link.lower().endswith('.gif')):
converted = ".. thumbnail:: " + self.markup.unescape_rst_chars(link) + "\n"
else:
converted = ".. image:: " + self.markup.unescape_rst_chars(file) + "\n"
if link:
converted += " :target: " + self.markup.unescape_rst_chars(link) + "\n"
# 2017-12-07: commented out to disable thumbnail processing due to dropping
# support for obsolete sphinxcontrib.images extension
#
#if link and (link.lower().endswith('.jpg') or
# link.lower().endswith('.jpeg') or
# link.lower().endswith('.png') or
# link.lower().endswith('.gif')):
# converted = ".. thumbnail:: " + self.markup.unescape_rst_chars(link) + "\n"
#else:
converted = ".. image:: " + self.markup.unescape_rst_chars(file) + "\n"
if link:
converted += " :target: " + self.markup.unescape_rst_chars(link) + "\n"
if "c" in self.current_command_list:
converted += " :align: center\n"

View File

@ -31,8 +31,11 @@ import os
# ones.
extensions = [
'sphinx.ext.mathjax',
'sphinxcontrib.images',
]
# 2017-12-07: commented out, since this package is broken with Sphinx 16.x
# yet we can no longer use Sphinx 15.x, since that breaks with
# newer version of the multiprocessor module.
# 'sphinxcontrib.images',
images_config = {
'default_image_width' : '25%',

View File

@ -17,33 +17,36 @@ additional wrapper library that interfaces the C interface of the
LAMMPS library to Fortran and also translates the MPI communicator
from Fortran to C.
Once you have built LAMMPS as a library (see examples/COUPLE/README),
you can then build any of the driver codes with compile lines like
these, which include paths to the LAMMPS library interface, MPI (an
installed MPICH in this case), and FFTW (assuming you built LAMMPS as
a library with its PPPM solver).
First build LAMMPS as a library (see examples/COUPLE/README), e.g.
This builds the C++ driver with the LAMMPS library using a C++ compiler:
make mode=shlib mpi
g++ -I/home/sjplimp/lammps/src -c simple.cpp
g++ -L/home/sjplimp/lammps/src simple.o \
-llammps -lfftw -lmpich -lmpl -lpthread -o simpleCC
You can then build any of the driver codes with compile lines like
these, which include paths to the LAMMPS library interface, and
linking with FFTW (only needed if you built LAMMPS as a library with
its PPPM solver).
This builds the C driver with the LAMMPS library using a C compiler:
This builds the C++ driver with the LAMMPS library using the mpiCC
(C++) compiler:
gcc -I/home/sjplimp/lammps/src -c simple.c
gcc -L/home/sjplimp/lammps/src simple.o \
-llammps -lfftw -lmpich -lmpl -lpthread -lstdc++ -o simpleC
mpiCC -I/home/sjplimp/lammps/src -c simple.cpp
mpiCC -L/home/sjplimp/lammps/src simple.o -llammps -lfftw -o simpleCC
This builds the C driver with the LAMMPS library using the mpicc (C)
compiler:
mpicc -I/home/sjplimp/lammps/src -c simple.c
mpicc -L/home/sjplimp/lammps/src simple.o -llammps -lfftw -o simpleC
This builds the Fortran wrapper and driver with the LAMMPS library
using a Fortran and C compiler, using the wrapper in the fortran
directory:
using the mpicc (C) and mpifort (Fortran) compilers, using the wrapper
in the fortran directory:
cp ../fortran/libfwrapper.c .
gcc -I/home/sjplimp/lammps/src -c libfwrapper.c
gfortran -I/home/sjplimp/lammps/src -c simple.f90
gfortran -L/home/sjplimp/lammps/src simple.o libfwrapper.o \
-llammps -lfftw -lfmpich -lmpich -lpthread -lstdc++ -o simpleF
mpicc -I/home/sjplimp/lammps/src -c libfwrapper.c
mpifort -c simple.f90
mpifort -L/home/sjplimp/lammps/src simple.o libfwrapper.o \
-llammps -lfftw -o simpleF
You then run simpleCC, simpleC, or simpleF on a parallel machine
on some number of processors Q with 2 arguments:

View File

@ -145,7 +145,7 @@ int main(int narg, char **arg)
for (i = 0; i < natoms; i++) type[i] = 1;
lammps_command(lmp,"delete_atoms group all");
lammps_create_atoms(lmp,natoms,NULL,type,x,v);
lammps_create_atoms(lmp,natoms,NULL,type,x,v,NULL,0);
lammps_command(lmp,"run 10");
}

View File

@ -109,11 +109,11 @@ int main(int narg, char **arg)
int natoms = static_cast<int> (lmp->atom->natoms);
x = new double[3*natoms];
v = new double[3*natoms];
lammps_gather_atoms(lmp,"x",1,3,x);
lammps_gather_atoms(lmp,"v",1,3,v);
lammps_gather_atoms(lmp,(char *) "x",1,3,x);
lammps_gather_atoms(lmp,(char *) "v",1,3,v);
double epsilon = 0.1;
x[0] += epsilon;
lammps_scatter_atoms(lmp,"x",1,3,x);
lammps_scatter_atoms(lmp,(char *) "x",1,3,x);
// these 2 lines are the same
@ -124,21 +124,22 @@ int main(int narg, char **arg)
// extract force on single atom two different ways
if (lammps == 1) {
double **f = (double **) lammps_extract_atom(lmp,"f");
double **f = (double **) lammps_extract_atom(lmp,(char *) "f");
printf("Force on 1 atom via extract_atom: %g\n",f[0][0]);
double *fx = (double *) lammps_extract_variable(lmp,"fx","all");
double *fx = (double *)
lammps_extract_variable(lmp,(char *) "fx",(char *) "all");
printf("Force on 1 atom via extract_variable: %g\n",fx[0]);
}
// use commands_string() and commands_list() to invoke more commands
char *strtwo = "run 10\nrun 20";
char *strtwo = (char *) "run 10\nrun 20";
if (lammps == 1) lammps_commands_string(lmp,strtwo);
char *cmds[2];
cmds[0] = "run 10";
cmds[1] = "run 20";
cmds[0] = (char *) "run 10";
cmds[1] = (char *) "run 20";
if (lammps == 1) lammps_commands_list(lmp,2,cmds);
// delete all atoms

View File

@ -115,9 +115,12 @@ PROGRAM f_driver
CALL lammps_get_natoms(ptr,natoms)
ALLOCATE(x(3*natoms))
CALL lammps_gather_atoms(ptr,'x',1,3,x);
x(1) = x(1) + epsilon
CALL lammps_scatter_atoms(ptr,'x',1,3,x);
! these calls are commented out, b/c libfwrapper.c
! needs to be updated to use gather_atoms and scatter_atoms
!CALL lammps_gather_atoms(ptr,'x',1,3,x);
!x(1) = x(1) + epsilon
!CALL lammps_scatter_atoms(ptr,'x',1,3,x);
DEALLOCATE(x)

View File

@ -0,0 +1,116 @@
info: BN sample with r_BN=1.45
100 atoms
2 atom types
0.0 21.75000000 xlo xhi
0.0 12.55736835 ylo yhi
0.0 50.00000000 zlo zhi
Masses
1 10.811
2 14.0067
Atoms
1 1 0.00000000 0.00000000 0.00000000
2 2 1.45000000 0.00000000 0.00000000
3 1 2.17500000 1.25573684 0.00000000
4 2 3.62500000 1.25573684 0.00000000
5 1 0.00000000 2.51147367 0.00000000
6 2 1.45000000 2.51147367 0.00000000
7 1 2.17500000 3.76721051 0.00000000
8 2 3.62500000 3.76721051 0.00000000
9 1 0.00000000 5.02294734 0.00000000
10 2 1.45000000 5.02294734 0.00000000
11 1 2.17500000 6.27868418 0.00000000
12 2 3.62500000 6.27868418 0.00000000
13 1 0.00000000 7.53442101 0.00000000
14 2 1.45000000 7.53442101 0.00000000
15 1 2.17500000 8.79015785 0.00000000
16 2 3.62500000 8.79015785 0.00000000
17 1 0.00000000 10.04589468 0.00000000
18 2 1.45000000 10.04589468 0.00000000
19 1 2.17500000 11.30163152 0.00000000
20 2 3.62500000 11.30163152 0.00000000
21 1 4.35000000 0.00000000 0.00000000
22 2 5.80000000 0.00000000 0.00000000
23 1 6.52500000 1.25573684 0.00000000
24 2 7.97500000 1.25573684 0.00000000
25 1 4.35000000 2.51147367 0.00000000
26 2 5.80000000 2.51147367 0.00000000
27 1 6.52500000 3.76721051 0.00000000
28 2 7.97500000 3.76721051 0.00000000
29 1 4.35000000 5.02294734 0.00000000
30 2 5.80000000 5.02294734 0.00000000
31 1 6.52500000 6.27868418 0.00000000
32 2 7.97500000 6.27868418 0.00000000
33 1 4.35000000 7.53442101 0.00000000
34 2 5.80000000 7.53442101 0.00000000
35 1 6.52500000 8.79015785 0.00000000
36 2 7.97500000 8.79015785 0.00000000
37 1 4.35000000 10.04589468 0.00000000
38 2 5.80000000 10.04589468 0.00000000
39 1 6.52500000 11.30163152 0.00000000
40 2 7.97500000 11.30163152 0.00000000
41 1 8.70000000 0.00000000 0.00000000
42 2 10.15000000 0.00000000 0.00000000
43 1 10.87500000 1.25573684 0.00000000
44 2 12.32500000 1.25573684 0.00000000
45 1 8.70000000 2.51147367 0.00000000
46 2 10.15000000 2.51147367 0.00000000
47 1 10.87500000 3.76721051 0.00000000
48 2 12.32500000 3.76721051 0.00000000
49 1 8.70000000 5.02294734 0.00000000
50 2 10.15000000 5.02294734 0.00000000
51 1 10.87500000 6.27868418 0.00000000
52 2 12.32500000 6.27868418 0.00000000
53 1 8.70000000 7.53442101 0.00000000
54 2 10.15000000 7.53442101 0.00000000
55 1 10.87500000 8.79015785 0.00000000
56 2 12.32500000 8.79015785 0.00000000
57 1 8.70000000 10.04589468 0.00000000
58 2 10.15000000 10.04589468 0.00000000
59 1 10.87500000 11.30163152 0.00000000
60 2 12.32500000 11.30163152 0.00000000
61 1 13.05000000 0.00000000 0.00000000
62 2 14.50000000 0.00000000 0.00000000
63 1 15.22500000 1.25573684 0.00000000
64 2 16.67500000 1.25573684 0.00000000
65 1 13.05000000 2.51147367 0.00000000
66 2 14.50000000 2.51147367 0.00000000
67 1 15.22500000 3.76721051 0.00000000
68 2 16.67500000 3.76721051 0.00000000
69 1 13.05000000 5.02294734 0.00000000
70 2 14.50000000 5.02294734 0.00000000
71 1 15.22500000 6.27868418 0.00000000
72 2 16.67500000 6.27868418 0.00000000
73 1 13.05000000 7.53442101 0.00000000
74 2 14.50000000 7.53442101 0.00000000
75 1 15.22500000 8.79015785 0.00000000
76 2 16.67500000 8.79015785 0.00000000
77 1 13.05000000 10.04589468 0.00000000
78 2 14.50000000 10.04589468 0.00000000
79 1 15.22500000 11.30163152 0.00000000
80 2 16.67500000 11.30163152 0.00000000
81 1 17.40000000 0.00000000 0.00000000
82 2 18.85000000 0.00000000 0.00000000
83 1 19.57500000 1.25573684 0.00000000
84 2 21.02500000 1.25573684 0.00000000
85 1 17.40000000 2.51147367 0.00000000
86 2 18.85000000 2.51147367 0.00000000
87 1 19.57500000 3.76721051 0.00000000
88 2 21.02500000 3.76721051 0.00000000
89 1 17.40000000 5.02294734 0.00000000
90 2 18.85000000 5.02294734 0.00000000
91 1 19.57500000 6.27868418 0.00000000
92 2 21.02500000 6.27868418 0.00000000
93 1 17.40000000 7.53442101 0.00000000
94 2 18.85000000 7.53442101 0.00000000
95 1 19.57500000 8.79015785 0.00000000
96 2 21.02500000 8.79015785 0.00000000
97 1 17.40000000 10.04589468 0.00000000
98 2 18.85000000 10.04589468 0.00000000
99 1 19.57500000 11.30163152 0.00000000
100 2 21.02500000 11.30163152 0.00000000

View File

@ -0,0 +1,29 @@
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1
# System and atom definition
read_data BN.data # read lammps data file
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Potential
pair_style extep
pair_coeff * * ../../../../potentials/BN.extep B N
# Output
thermo 10
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
thermo_modify line one format float %14.8g
# Setup NPT MD run
timestep 0.0001 # ps
velocity all create 300.0 12345
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
run 1000

View File

@ -0,0 +1,180 @@
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1
# System and atom definition
read_data BN.data # read lammps data file
orthogonal box = (0 0 0) to (21.75 12.5574 50)
1 by 1 by 1 MPI processor grid
reading atoms ...
100 atoms
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Potential
pair_style extep
pair_coeff * * ../../../../potentials/BN.extep B N
Reading potential file ../../../../potentials/BN.extep with DATE: 2017-11-28
# Output
thermo 10
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
thermo_modify line one format float %14.8g
# Setup NPT MD run
timestep 0.0001 # ps
velocity all create 300.0 12345
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.2
ghost atom cutoff = 4.2
binsize = 2.1, bins = 11 6 24
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair extep, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.97 | 2.97 | 2.97 Mbytes
Step Time TotEng PotEng Temp Lx Ly Lz Pxx Pyy Pzz
0 0 -665.11189 -668.95092 300 21.75 12.557368 50 -1638.8315 -1636.7368 321.73163
10 0.001 -665.11194 -668.81065 289.03491 21.749944 12.557333 50 -1391.3771 -1841.1723 316.66669
20 0.002 -665.1121 -668.4273 259.06599 21.749789 12.557222 50 -1137.0171 -1980.5977 301.79466
30 0.003 -665.11237 -667.90117 217.93027 21.749552 12.557029 50 -912.51949 -2055.822 278.00774
40 0.004 -665.11278 -667.36471 175.97662 21.74925 12.556752 50 -755.38643 -2078.0669 246.62816
50 0.005 -665.11333 -666.94254 142.94321 21.748894 12.556389 50 -694.93153 -2062.1349 209.26356
60 0.006 -665.11405 -666.71476 125.08741 21.748487 12.55594 50 -744.6962 -2019.9093 167.70563
70 0.007 -665.11494 -666.69555 123.51632 21.748026 12.555408 50 -898.67863 -1956.2845 123.88845
80 0.008 -665.116 -666.83408 134.25892 21.7475 12.554796 50 -1132.5952 -1868.738 79.87581
90 0.009 -665.1172 -667.03647 149.98053 21.746893 12.554106 50 -1409.6896 -1750.4875 37.821017
100 0.01 -665.11853 -667.20002 162.65705 21.746185 12.553344 50 -1689.1599 -1595.9411 -0.14399002
110 0.011 -665.11997 -667.24752 166.25742 21.745356 12.552516 50 -1934.6334 -1406.3665 -32.091026
120 0.012 -665.12148 -667.15088 158.58671 21.744389 12.55163 50 -2120.4014 -1193.6117 -56.50543
130 0.013 -665.12306 -666.93754 141.7922 21.743271 12.550694 50 -2234.0841 -980.32815 -72.45885
140 0.014 -665.1247 -666.67903 121.4631 21.741993 12.549719 50 -2275.5656 -796.26701 -79.693692
150 0.015 -665.1264 -666.46562 104.65306 21.740553 12.54871 50 -2253.08 -671.5409 -78.603431
160 0.016 -665.1282 -666.37541 97.462619 21.738952 12.547674 50 -2178.0108 -628.83531 -70.130423
170 0.017 -665.13011 -666.44775 102.96665 21.737195 12.546611 50 -2060.2073 -677.02227 -55.623931
180 0.018 -665.13215 -666.67004 120.17784 21.735292 12.54552 50 -1905.36 -808.22824 -36.699042
190 0.019 -665.13431 -666.98201 144.38814 21.733253 12.544396 50 -1715.2526 -999.2481 -15.117617
200 0.02 -665.13656 -667.29591 168.74214 21.731091 12.543231 50 -1490.6934 -1216.735 7.3107732
210 0.021 -665.13885 -667.52511 186.47391 21.728823 12.542015 50 -1235.9283 -1424.4324 28.822782
220 0.022 -665.14112 -667.61153 193.0492 21.726467 12.540741 50 -962.70697 -1590.2885 47.801678
230 0.023 -665.14332 -667.54317 187.53534 21.724043 12.539402 50 -692.12856 -1691.6537 62.881768
240 0.024 -665.1454 -667.35665 172.79772 21.72157 12.537993 50 -453.02755 -1717.6064 73.041858
250 0.025 -665.14735 -667.12424 154.48373 21.719064 12.536514 50 -276.81709 -1668.3598 77.670868
260 0.026 -665.14918 -666.92939 139.11409 21.716539 12.534967 50 -190.03656 -1552.4049 76.59734
270 0.027 -665.15091 -666.83859 131.88391 21.714 12.533357 50 -206.85537 -1382.4915 70.085105
280 0.028 -665.15258 -666.87889 134.90214 21.711446 12.53169 50 -324.01795 -1171.7578 58.801327
290 0.029 -665.15421 -667.02881 146.49028 21.708869 12.529975 50 -520.0146 -931.26466 43.758636
300 0.03 -665.1558 -667.22646 161.81084 21.706255 12.528222 50 -758.87113 -669.74523 26.225956
310 0.031 -665.15734 -667.39183 174.61368 21.703587 12.526442 50 -997.42782 -395.56111 7.601897
320 0.032 -665.15878 -667.45546 179.47345 21.700849 12.524646 50 -1193.9402 -119.86797 -10.744258
330 0.033 -665.16008 -667.38312 173.71901 21.698026 12.522846 50 -1315.6446 140.7451 -27.638433
340 0.034 -665.16118 -667.18792 158.37888 21.695112 12.521051 50 -1343.5396 363.95099 -42.231049
350 0.035 -665.16207 -666.92571 137.81938 21.692103 12.519271 50 -1273.6625 524.73453 -54.046178
360 0.036 -665.16274 -666.67543 118.20885 21.689004 12.517514 50 -1115.1514 601.37143 -62.932702
370 0.037 -665.1632 -666.5115 105.36258 21.685827 12.515781 50 -886.11568 582.42087 -68.942158
380 0.038 -665.16348 -666.47849 102.76116 21.682589 12.514072 50 -608.71321 472.04732 -72.193259
390 0.039 -665.1636 -666.57728 110.47178 21.679308 12.512382 50 -304.85697 291.41908 -72.787214
400 0.04 -665.16356 -666.76741 125.33244 21.676006 12.510704 50 6.3732307 75.407852 -70.806087
410 0.041 -665.16336 -666.98363 142.24457 21.672705 12.50903 50 309.23046 -134.40319 -66.378966
420 0.042 -665.16298 -667.15939 156.00935 21.669426 12.507351 50 590.16982 -298.16702 -59.767469
430 0.043 -665.16239 -667.24843 163.01313 21.66619 12.50566 50 836.19535 -385.22443 -51.420249
440 0.044 -665.16157 -667.23746 162.2204 21.663014 12.503955 50 1033.943 -378.7816 -41.969885
450 0.045 -665.1605 -667.14707 155.24066 21.659911 12.502234 50 1170.3399 -277.11556 -32.175503
460 0.046 -665.15917 -667.0218 145.55489 21.656891 12.500503 50 1234.9026 -91.620499 -22.833423
470 0.047 -665.15761 -666.91366 137.22578 21.65396 12.498768 50 1222.9519 157.31306 -14.680548
480 0.048 -665.15585 -666.86462 133.53159 21.651114 12.497041 50 1138.5551 445.2926 -8.3071781
490 0.049 -665.15393 -666.89359 135.9458 21.64835 12.495333 50 996.00682 748.51842 -4.0872169
500 0.05 -665.15188 -666.99142 143.75058 21.645657 12.493655 50 819.08561 1046.9785 -2.1306918
510 0.051 -665.14975 -667.12519 154.36991 21.643022 12.49202 50 637.99022 1325.7112 -2.2650822
520 0.052 -665.14756 -667.25 164.29491 21.640432 12.49044 50 484.54509 1574.1916 -4.0528391
530 0.053 -665.14531 -667.32459 170.29969 21.637878 12.488923 50 386.77357 1784.4858 -6.8479114
540 0.054 -665.143 -667.32552 170.55254 21.635352 12.48748 50 364.14599 1949.2189 -9.8841824
550 0.055 -665.14064 -667.25527 165.24765 21.632853 12.486117 50 424.6565 2060.4607 -12.37851
560 0.056 -665.13822 -667.14127 156.52756 21.630385 12.484837 50 564.3912 2110.2547 -13.62742
570 0.057 -665.13576 -667.0259 147.70502 21.627958 12.483643 50 769.54354 2092.8157 -13.082914
580 0.058 -665.13327 -666.95107 142.05154 21.625586 12.482535 50 1020.1218 2007.6508 -10.405617
590 0.059 -665.13079 -666.94279 141.59877 21.623287 12.481508 50 1294.1274 1862.3568 -5.5031153
600 0.06 -665.12832 -667.00189 146.40928 21.621079 12.480557 50 1570.9478 1673.8456 1.4410957
610 0.061 -665.12591 -667.10417 154.59072 21.618982 12.479674 50 1833.1388 1467.2639 9.9561573
620 0.062 -665.12355 -667.20973 163.02368 21.617015 12.478851 50 2066.4951 1272.6732 19.310607
630 0.063 -665.12128 -667.27744 168.49239 21.615193 12.47808 50 2259.0193 1120.2758 28.59477
640 0.064 -665.11911 -667.27898 168.7823 21.613531 12.477355 50 2399.792 1035.3525 36.8539
650 0.065 -665.11707 -667.20773 163.37438 21.612037 12.476673 50 2478.6675 1034.0481 43.239368
660 0.066 -665.11518 -667.0802 153.55598 21.610718 12.476033 50 2487.2505 1120.8274 47.131883
670 0.067 -665.11345 -666.93026 141.97434 21.609573 12.475439 50 2420.9786 1288.0136 48.201717
680 0.068 -665.11191 -666.79864 131.80955 21.608598 12.474897 50 2281.6131 1517.4002 46.399066
690 0.069 -665.11056 -666.72065 125.82027 21.607784 12.474418 50 2079.2055 1783.5346 41.895586
700 0.07 -665.10941 -666.71578 125.5291 21.607116 12.474011 50 1832.7039 2057.9076 35.011051
710 0.071 -665.10848 -666.78203 130.77932 21.606577 12.473687 50 1568.7275 2313.0601 26.153491
720 0.072 -665.10776 -666.89681 139.80468 21.606148 12.473458 50 1318.5189 2525.6808 15.783637
730 0.073 -665.10727 -667.0243 149.80574 21.605812 12.47333 50 1113.5537 2678.1859 4.3967762
740 0.074 -665.10701 -667.12698 157.85016 21.605555 12.473311 50 980.633 2758.9123 -7.4930622
750 0.075 -665.10697 -667.17729 161.78497 21.605368 12.473404 50 937.45086 2761.5936 -19.376492
760 0.076 -665.10714 -667.1654 160.84249 21.605247 12.473609 50 989.5724 2684.9256 -30.776106
770 0.077 -665.1075 -667.10061 155.75086 21.605196 12.473922 50 1129.4775 2532.7048 -41.263677
780 0.078 -665.10803 -667.00654 148.35835 21.605226 12.474338 50 1337.8663 2314.4556 -50.455407
790 0.079 -665.10869 -666.91242 140.9515 21.605349 12.474848 50 1586.9099 2045.9808 -57.988114
800 0.08 -665.10946 -666.84375 135.52533 21.605585 12.475441 50 1844.7038 1749.1281 -63.495405
810 0.081 -665.11032 -666.81538 133.24173 21.60595 12.476105 50 2079.9601 1450.3113 -66.60795
820 0.082 -665.11127 -666.82877 134.21424 21.606461 12.476828 50 2266.0059 1177.7937 -66.990929
830 0.083 -665.1123 -666.87353 137.6312 21.607131 12.477599 50 2383.4351 958.19752 -64.411861
840 0.084 -665.11343 -666.93214 142.12323 21.607968 12.478409 50 2421.1969 812.91475 -58.816538
850 0.085 -665.11467 -666.98597 146.2321 21.608975 12.479253 50 2376.3483 755.06052 -50.389393
860 0.086 -665.11603 -667.02075 148.84448 21.610149 12.480128 50 2252.9811 787.43069 -39.585062
870 0.087 -665.1175 -667.03045 149.48743 21.611481 12.481034 50 2060.884 901.76342 -27.129117
880 0.088 -665.11907 -667.01838 148.42091 21.612958 12.481978 50 1814.3354 1079.4855 -13.988401
890 0.089 -665.12073 -666.99552 146.50471 21.614562 12.482966 50 1531.1565 1293.9709 -1.305884
900 0.09 -665.12247 -666.97639 144.87389 21.616275 12.484007 50 1231.9005 1514.0741 9.7083525
910 0.091 -665.12426 -666.97371 144.52455 21.618074 12.485109 50 938.90089 1708.364 17.929974
920 0.092 -665.12609 -666.99389 145.95889 21.61994 12.486281 50 674.90767 1849.2415 22.497207
930 0.093 -665.12794 -667.03498 149.02559 21.621853 12.487528 50 461.18604 1916.1468 22.971745
940 0.094 -665.12977 -667.08777 153.00718 21.6238 12.488852 50 315.19601 1897.3867 19.43758
950 0.095 -665.13156 -667.13925 156.8903 21.62577 12.490254 50 248.20946 1790.5667 12.504818
960 0.096 -665.13326 -667.17668 159.68273 21.627757 12.491728 50 263.35912 1601.9528 3.2123256
970 0.097 -665.13485 -667.19079 160.6611 21.629764 12.493267 50 354.58496 1345.1489 -7.1487162
980 0.098 -665.13628 -667.17758 159.5175 21.631796 12.494862 50 506.7626 1039.346 -17.249179
990 0.099 -665.13753 -667.13942 156.43758 21.633864 12.496499 50 697.06054 707.26671 -25.92737
1000 0.1 -665.13859 -667.0853 152.12472 21.635982 12.498164 50 897.38498 372.94791 -32.344697
Loop time of 0.463574 on 1 procs for 1000 steps with 100 atoms
Performance: 18.638 ns/day, 1.288 hours/ns, 2157.152 timesteps/s
99.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.44776 | 0.44776 | 0.44776 | 0.0 | 96.59
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0023057 | 0.0023057 | 0.0023057 | 0.0 | 0.50
Output | 0.0015752 | 0.0015752 | 0.0015752 | 0.0 | 0.34
Modify | 0.010602 | 0.010602 | 0.010602 | 0.0 | 2.29
Other | | 0.001331 | | | 0.29
Nlocal: 100 ave 100 max 100 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 360 ave 360 max 360 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 1800 ave 1800 max 1800 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 1800
Ave neighs/atom = 18
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,180 @@
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# Initialization
units metal
boundary p p p
atom_style atomic
processors * * 1
# System and atom definition
read_data BN.data # read lammps data file
orthogonal box = (0 0 0) to (21.75 12.5574 50)
2 by 2 by 1 MPI processor grid
reading atoms ...
100 atoms
# Neighbor update settings
neighbor 2.0 bin
neigh_modify every 1
neigh_modify delay 0
neigh_modify check yes
# Potential
pair_style extep
pair_coeff * * ../../../../potentials/BN.extep B N
Reading potential file ../../../../potentials/BN.extep with DATE: 2017-11-28
# Output
thermo 10
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
thermo_modify line one format float %14.8g
# Setup NPT MD run
timestep 0.0001 # ps
velocity all create 300.0 12345
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
run 1000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 4.2
ghost atom cutoff = 4.2
binsize = 2.1, bins = 11 6 24
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair extep, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.943 | 2.943 | 2.943 Mbytes
Step Time TotEng PotEng Temp Lx Ly Lz Pxx Pyy Pzz
0 0 -665.11189 -668.95092 300 21.75 12.557368 50 -1638.8315 -1636.7368 321.73163
10 0.001 -665.11194 -668.81065 289.03491 21.749944 12.557333 50 -1391.3771 -1841.1723 316.66669
20 0.002 -665.1121 -668.4273 259.06599 21.749789 12.557222 50 -1137.0171 -1980.5977 301.79466
30 0.003 -665.11237 -667.90117 217.93027 21.749552 12.557029 50 -912.51949 -2055.822 278.00774
40 0.004 -665.11278 -667.36471 175.97662 21.74925 12.556752 50 -755.38643 -2078.0669 246.62816
50 0.005 -665.11333 -666.94254 142.94321 21.748894 12.556389 50 -694.93153 -2062.1349 209.26356
60 0.006 -665.11405 -666.71476 125.08741 21.748487 12.55594 50 -744.6962 -2019.9093 167.70563
70 0.007 -665.11494 -666.69555 123.51632 21.748026 12.555408 50 -898.67863 -1956.2845 123.88845
80 0.008 -665.116 -666.83408 134.25892 21.7475 12.554796 50 -1132.5952 -1868.738 79.87581
90 0.009 -665.1172 -667.03647 149.98053 21.746893 12.554106 50 -1409.6896 -1750.4875 37.821017
100 0.01 -665.11853 -667.20002 162.65705 21.746185 12.553344 50 -1689.1599 -1595.9411 -0.14399002
110 0.011 -665.11997 -667.24752 166.25742 21.745356 12.552516 50 -1934.6334 -1406.3665 -32.091026
120 0.012 -665.12148 -667.15088 158.58671 21.744389 12.55163 50 -2120.4014 -1193.6117 -56.50543
130 0.013 -665.12306 -666.93754 141.7922 21.743271 12.550694 50 -2234.0841 -980.32815 -72.45885
140 0.014 -665.1247 -666.67903 121.4631 21.741993 12.549719 50 -2275.5656 -796.26701 -79.693692
150 0.015 -665.1264 -666.46562 104.65306 21.740553 12.54871 50 -2253.08 -671.5409 -78.603431
160 0.016 -665.1282 -666.37541 97.462619 21.738952 12.547674 50 -2178.0108 -628.83531 -70.130423
170 0.017 -665.13011 -666.44775 102.96665 21.737195 12.546611 50 -2060.2073 -677.02227 -55.623931
180 0.018 -665.13215 -666.67004 120.17784 21.735292 12.54552 50 -1905.36 -808.22824 -36.699042
190 0.019 -665.13431 -666.98201 144.38814 21.733253 12.544396 50 -1715.2526 -999.2481 -15.117617
200 0.02 -665.13656 -667.29591 168.74214 21.731091 12.543231 50 -1490.6934 -1216.735 7.3107732
210 0.021 -665.13885 -667.52511 186.47391 21.728823 12.542015 50 -1235.9283 -1424.4324 28.822782
220 0.022 -665.14112 -667.61153 193.0492 21.726467 12.540741 50 -962.70697 -1590.2885 47.801678
230 0.023 -665.14332 -667.54317 187.53534 21.724043 12.539402 50 -692.12856 -1691.6537 62.881768
240 0.024 -665.1454 -667.35665 172.79772 21.72157 12.537993 50 -453.02755 -1717.6064 73.041858
250 0.025 -665.14735 -667.12424 154.48373 21.719064 12.536514 50 -276.81709 -1668.3598 77.670868
260 0.026 -665.14918 -666.92939 139.11409 21.716539 12.534967 50 -190.03656 -1552.4049 76.59734
270 0.027 -665.15091 -666.83859 131.88391 21.714 12.533357 50 -206.85537 -1382.4915 70.085105
280 0.028 -665.15258 -666.87889 134.90214 21.711446 12.53169 50 -324.01795 -1171.7578 58.801327
290 0.029 -665.15421 -667.02881 146.49028 21.708869 12.529975 50 -520.0146 -931.26466 43.758636
300 0.03 -665.1558 -667.22646 161.81084 21.706255 12.528222 50 -758.87113 -669.74523 26.225956
310 0.031 -665.15734 -667.39183 174.61368 21.703587 12.526442 50 -997.42782 -395.56111 7.601897
320 0.032 -665.15878 -667.45546 179.47345 21.700849 12.524646 50 -1193.9402 -119.86797 -10.744258
330 0.033 -665.16008 -667.38312 173.71901 21.698026 12.522846 50 -1315.6446 140.7451 -27.638433
340 0.034 -665.16118 -667.18792 158.37888 21.695112 12.521051 50 -1343.5396 363.95099 -42.231049
350 0.035 -665.16207 -666.92571 137.81938 21.692103 12.519271 50 -1273.6625 524.73453 -54.046178
360 0.036 -665.16274 -666.67543 118.20885 21.689004 12.517514 50 -1115.1514 601.37143 -62.932702
370 0.037 -665.1632 -666.5115 105.36258 21.685827 12.515781 50 -886.11568 582.42087 -68.942158
380 0.038 -665.16348 -666.47849 102.76116 21.682589 12.514072 50 -608.71321 472.04732 -72.193259
390 0.039 -665.1636 -666.57728 110.47178 21.679308 12.512382 50 -304.85697 291.41908 -72.787214
400 0.04 -665.16356 -666.76741 125.33244 21.676006 12.510704 50 6.3732307 75.407852 -70.806087
410 0.041 -665.16336 -666.98363 142.24457 21.672705 12.50903 50 309.23046 -134.40319 -66.378966
420 0.042 -665.16298 -667.15939 156.00935 21.669426 12.507351 50 590.16982 -298.16702 -59.767469
430 0.043 -665.16239 -667.24843 163.01313 21.66619 12.50566 50 836.19535 -385.22443 -51.420249
440 0.044 -665.16157 -667.23746 162.2204 21.663014 12.503955 50 1033.943 -378.7816 -41.969885
450 0.045 -665.1605 -667.14707 155.24066 21.659911 12.502234 50 1170.3399 -277.11556 -32.175503
460 0.046 -665.15917 -667.0218 145.55489 21.656891 12.500503 50 1234.9026 -91.620499 -22.833423
470 0.047 -665.15761 -666.91366 137.22578 21.65396 12.498768 50 1222.9519 157.31306 -14.680548
480 0.048 -665.15585 -666.86462 133.53159 21.651114 12.497041 50 1138.5551 445.2926 -8.3071781
490 0.049 -665.15393 -666.89359 135.9458 21.64835 12.495333 50 996.00682 748.51842 -4.0872169
500 0.05 -665.15188 -666.99142 143.75058 21.645657 12.493655 50 819.08561 1046.9785 -2.1306918
510 0.051 -665.14975 -667.12519 154.36991 21.643022 12.49202 50 637.99022 1325.7112 -2.2650822
520 0.052 -665.14756 -667.25 164.29491 21.640432 12.49044 50 484.54509 1574.1916 -4.0528391
530 0.053 -665.14531 -667.32459 170.29969 21.637878 12.488923 50 386.77357 1784.4858 -6.8479114
540 0.054 -665.143 -667.32552 170.55254 21.635352 12.48748 50 364.14599 1949.2189 -9.8841824
550 0.055 -665.14064 -667.25527 165.24765 21.632853 12.486117 50 424.6565 2060.4607 -12.37851
560 0.056 -665.13822 -667.14127 156.52756 21.630385 12.484837 50 564.3912 2110.2547 -13.62742
570 0.057 -665.13576 -667.0259 147.70502 21.627958 12.483643 50 769.54354 2092.8157 -13.082914
580 0.058 -665.13327 -666.95107 142.05154 21.625586 12.482535 50 1020.1218 2007.6508 -10.405617
590 0.059 -665.13079 -666.94279 141.59877 21.623287 12.481508 50 1294.1274 1862.3568 -5.5031153
600 0.06 -665.12832 -667.00189 146.40928 21.621079 12.480557 50 1570.9478 1673.8456 1.4410957
610 0.061 -665.12591 -667.10417 154.59072 21.618982 12.479674 50 1833.1388 1467.2639 9.9561573
620 0.062 -665.12355 -667.20973 163.02368 21.617015 12.478851 50 2066.4951 1272.6732 19.310607
630 0.063 -665.12128 -667.27744 168.49239 21.615193 12.47808 50 2259.0193 1120.2758 28.59477
640 0.064 -665.11911 -667.27898 168.7823 21.613531 12.477355 50 2399.792 1035.3525 36.8539
650 0.065 -665.11707 -667.20773 163.37438 21.612037 12.476673 50 2478.6675 1034.0481 43.239368
660 0.066 -665.11518 -667.0802 153.55598 21.610718 12.476033 50 2487.2505 1120.8274 47.131883
670 0.067 -665.11345 -666.93026 141.97434 21.609573 12.475439 50 2420.9786 1288.0136 48.201717
680 0.068 -665.11191 -666.79864 131.80955 21.608598 12.474897 50 2281.6131 1517.4002 46.399066
690 0.069 -665.11056 -666.72065 125.82027 21.607784 12.474418 50 2079.2055 1783.5346 41.895586
700 0.07 -665.10941 -666.71578 125.5291 21.607116 12.474011 50 1832.7039 2057.9076 35.011051
710 0.071 -665.10848 -666.78203 130.77932 21.606577 12.473687 50 1568.7275 2313.0601 26.153491
720 0.072 -665.10776 -666.89681 139.80468 21.606148 12.473458 50 1318.5189 2525.6808 15.783637
730 0.073 -665.10727 -667.0243 149.80574 21.605812 12.47333 50 1113.5537 2678.1859 4.3967762
740 0.074 -665.10701 -667.12698 157.85016 21.605555 12.473311 50 980.633 2758.9123 -7.4930622
750 0.075 -665.10697 -667.17729 161.78497 21.605368 12.473404 50 937.45086 2761.5936 -19.376492
760 0.076 -665.10714 -667.1654 160.84249 21.605247 12.473609 50 989.5724 2684.9256 -30.776106
770 0.077 -665.1075 -667.10061 155.75086 21.605196 12.473922 50 1129.4775 2532.7048 -41.263677
780 0.078 -665.10803 -667.00654 148.35835 21.605226 12.474338 50 1337.8663 2314.4556 -50.455407
790 0.079 -665.10869 -666.91242 140.9515 21.605349 12.474848 50 1586.9099 2045.9808 -57.988114
800 0.08 -665.10946 -666.84375 135.52533 21.605585 12.475441 50 1844.7038 1749.1281 -63.495405
810 0.081 -665.11032 -666.81538 133.24173 21.60595 12.476105 50 2079.9601 1450.3113 -66.60795
820 0.082 -665.11127 -666.82877 134.21424 21.606461 12.476828 50 2266.0059 1177.7937 -66.990929
830 0.083 -665.1123 -666.87353 137.6312 21.607131 12.477599 50 2383.4351 958.19752 -64.411861
840 0.084 -665.11343 -666.93214 142.12323 21.607968 12.478409 50 2421.1969 812.91475 -58.816538
850 0.085 -665.11467 -666.98597 146.2321 21.608975 12.479253 50 2376.3483 755.06052 -50.389393
860 0.086 -665.11603 -667.02075 148.84448 21.610149 12.480128 50 2252.9811 787.43069 -39.585062
870 0.087 -665.1175 -667.03045 149.48743 21.611481 12.481034 50 2060.884 901.76342 -27.129117
880 0.088 -665.11907 -667.01838 148.42091 21.612958 12.481978 50 1814.3354 1079.4855 -13.988401
890 0.089 -665.12073 -666.99552 146.50471 21.614562 12.482966 50 1531.1565 1293.9709 -1.305884
900 0.09 -665.12247 -666.97639 144.87389 21.616275 12.484007 50 1231.9005 1514.0741 9.7083525
910 0.091 -665.12426 -666.97371 144.52455 21.618074 12.485109 50 938.90089 1708.364 17.929974
920 0.092 -665.12609 -666.99389 145.95889 21.61994 12.486281 50 674.90767 1849.2415 22.497207
930 0.093 -665.12794 -667.03498 149.02559 21.621853 12.487528 50 461.18604 1916.1468 22.971745
940 0.094 -665.12977 -667.08777 153.00718 21.6238 12.488852 50 315.19601 1897.3867 19.43758
950 0.095 -665.13156 -667.13925 156.8903 21.62577 12.490254 50 248.20946 1790.5667 12.504818
960 0.096 -665.13326 -667.17668 159.68273 21.627757 12.491728 50 263.35912 1601.9528 3.2123256
970 0.097 -665.13485 -667.19079 160.6611 21.629764 12.493267 50 354.58496 1345.1489 -7.1487162
980 0.098 -665.13628 -667.17758 159.5175 21.631796 12.494862 50 506.7626 1039.346 -17.249179
990 0.099 -665.13753 -667.13942 156.43758 21.633864 12.496499 50 697.06054 707.26671 -25.92737
1000 0.1 -665.13859 -667.0853 152.12472 21.635982 12.498164 50 897.38498 372.94791 -32.344697
Loop time of 0.174508 on 4 procs for 1000 steps with 100 atoms
Performance: 49.511 ns/day, 0.485 hours/ns, 5730.393 timesteps/s
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.12409 | 0.12834 | 0.13408 | 1.1 | 73.54
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.016369 | 0.021358 | 0.025324 | 2.7 | 12.24
Output | 0.0023892 | 0.0025101 | 0.0028272 | 0.4 | 1.44
Modify | 0.01733 | 0.018302 | 0.018958 | 0.5 | 10.49
Other | | 0.003995 | | | 2.29
Nlocal: 25 ave 26 max 24 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 179 ave 180 max 178 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 450 ave 468 max 432 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 1800
Ave neighs/atom = 18
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -67,6 +67,15 @@ variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
fix mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
# atom counts
variable carbon atom "type==1"
variable oxygen atom "type==2"
group carbon dynamic all var carbon
group oxygen dynamic all var oxygen
variable nC equal count(carbon)
variable nO equal count(oxygen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -74,7 +83,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
thermo 1000
# run

View File

@ -72,6 +72,15 @@ variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
fix mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
h2omol tfac_insert ${tfac} group h2o shake wshake
# atom counts
variable oxygen atom "type==1"
variable hydrogen atom "type==2"
group oxygen dynamic all var oxygen
group hydrogen dynamic all var hydrogen
variable nO equal count(oxygen)
variable nH equal count(hydrogen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -79,7 +88,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
thermo 1000
# run

View File

@ -33,6 +33,12 @@ mass * 1.0
fix mygcmc all gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
# atom count
variable type1 atom "type==1"
group type1 dynamic all var type1
variable n1 equal count(type1)
# averaging
variable rho equal density
@ -40,10 +46,11 @@ variable p equal press
variable nugget equal 1.0e-8
variable lambda equal 1.0
variable muex equal ${mu}-${temp}*ln(density*${lambda}+${nugget})
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
variable rhoav equal f_ave[1]
variable pav equal f_ave[2]
variable muexav equal f_ave[3]
variable n1av equal f_ave[4]
# output
@ -51,7 +58,7 @@ variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+${nugget})
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+${nugget})
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
compute_modify thermo_temp dynamic yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
thermo 1000
# run

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
# Rigid CO2 TraPPE model
@ -46,6 +46,7 @@ Read molecule co2mol:
0 impropers with 0 types
create_atoms 0 box mol co2mol 464563 units box
Created 24 atoms
Time spent = 0.00196958 secs
# rigid CO2 TraPPE model
@ -87,6 +88,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
# atom counts
variable carbon atom "type==1"
variable oxygen atom "type==2"
group carbon dynamic all var carbon
dynamic group carbon defined
group oxygen dynamic all var oxygen
dynamic group oxygen defined
variable nC equal count(carbon)
variable nO equal count(oxygen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -94,7 +106,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
thermo 1000
# run
@ -124,45 +136,45 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 15.62 | 15.62 | 15.62 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0 8 16
WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
1000 420.43475 1722.4052 -9.6956123 15.456579 0.5846359 24 0.20879341 0.20713005 0 0
2000 302.29516 -547.83641 -22.017674 14.11699 0.73079488 30 0.1742478 0.1678018 0 0
3000 316.6934 -1080.2672 -8.2218891 10.069364 0.51155641 21 0.13544917 0.13720634 0 0
4000 246.81618 -679.83642 -14.577244 10.29997 0.65771539 27 0.1568939 0.15860229 0 0
5000 260.22849 -896.29914 -16.097593 10.859684 0.65771539 27 0.13138744 0.13547049 0 0
6000 291.70796 -1521.99 -22.303136 13.622574 0.73079488 30 0.12615476 0.12717694 0 0
7000 236.02638 -599.92186 -27.580831 13.367447 0.87695385 36 0.119703 0.12145398 0 0
8000 321.45341 688.10577 -10.09204 11.817696 0.5846359 24 0.10917411 0.11032646 0 0
9000 502.85382 -302.31056 -0.22330142 0.99927447 0.073079488 3 0.1254105 0.12905828 0 0
10000 249.98239 -510.0091 -32.815145 15.399767 0.95003334 39 0.1274504 0.12875623 0 0
11000 247.59424 -1129.0274 -25.320205 12.792544 0.80387436 33 0.11739076 0.11916784 0 0
12000 0 -20.39554 -0.14872889 -0 0 0 0.1254933 0.12920375 0 0
13000 1272.2738 -474.79484 -0.29450485 8.8489483 0.14615898 6 0.13767133 0.14112496 0 0
14000 516.54246 -36.296516 -5.0012009 11.291243 0.36539744 15 0.15632744 0.15955377 0 0
15000 307.09233 1951.9301 -14.820362 12.815375 0.65771539 27 0.15393544 0.15716192 0 0
16000 198.31989 -559.48443 -30.459487 11.231925 0.87695385 36 0.1482565 0.15025652 0 0
17000 246.99311 657.85683 -18.579206 11.53442 0.73079488 30 0.14143958 0.14375423 0 0
18000 467.13468 167.03738 -1.0945268 5.569759 0.21923846 9 0.13847359 0.14098533 0 0
19000 359.54027 -1413.5407 -12.156233 13.217895 0.5846359 24 0.15169146 0.15294205 0 0
20000 227.79597 -1204.5652 -23.24144 10.637925 0.73079488 30 0.14917199 0.15022946 0 0
Loop time of 20.153 on 1 procs for 20000 steps with 30 atoms
1000 420.43475 1722.4052 -9.6956123 15.456579 0.5846359 24 0.20879341 0.20713005 0 0 8 16
2000 302.29516 -547.83641 -22.017674 14.11699 0.73079488 30 0.1742478 0.1678018 0 0 10 20
3000 316.6934 -1080.2672 -8.2218891 10.069364 0.51155641 21 0.13544917 0.13720634 0 0 7 14
4000 246.81618 -679.83642 -14.577244 10.29997 0.65771539 27 0.1568939 0.15860229 0 0 9 18
5000 260.22849 -896.29914 -16.097593 10.859684 0.65771539 27 0.13138744 0.13547049 0 0 9 18
6000 291.70796 -1521.99 -22.303136 13.622574 0.73079488 30 0.12615476 0.12717694 0 0 10 20
7000 236.02638 -599.92186 -27.580831 13.367447 0.87695385 36 0.119703 0.12145398 0 0 12 24
8000 321.45341 688.10577 -10.09204 11.817696 0.5846359 24 0.10917411 0.11032646 0 0 8 16
9000 502.85382 -302.31056 -0.22330142 0.99927447 0.073079488 3 0.1254105 0.12905828 0 0 1 2
10000 249.98239 -510.0091 -32.815145 15.399767 0.95003334 39 0.1274504 0.12875623 0 0 13 26
11000 247.59424 -1129.0274 -25.320205 12.792544 0.80387436 33 0.11739076 0.11916784 0 0 11 22
12000 0 -20.39554 -0.14872889 -0 0 0 0.1254933 0.12920375 0 0 0 0
13000 1272.2738 -474.79484 -0.29450485 8.8489483 0.14615898 6 0.13767133 0.14112496 0 0 2 4
14000 516.54246 -36.296516 -5.0012009 11.291243 0.36539744 15 0.15632744 0.15955377 0 0 5 10
15000 307.09233 1951.9301 -14.820362 12.815375 0.65771539 27 0.15393544 0.15716192 0 0 9 18
16000 198.31989 -559.48443 -30.459487 11.231925 0.87695385 36 0.1482565 0.15025652 0 0 12 24
17000 246.99311 657.85683 -18.579206 11.53442 0.73079488 30 0.14143958 0.14375423 0 0 10 20
18000 467.13468 167.03738 -1.0945268 5.569759 0.21923846 9 0.13847359 0.14098533 0 0 3 6
19000 359.54027 -1413.5407 -12.156233 13.217895 0.5846359 24 0.15169146 0.15294205 0 0 8 16
20000 227.79597 -1204.5652 -23.24144 10.637925 0.73079488 30 0.14917199 0.15022946 0 0 10 20
Loop time of 20.6928 on 1 procs for 20000 steps with 30 atoms
Performance: 85.744 ns/day, 0.280 hours/ns, 992.408 timesteps/s
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 83.507 ns/day, 0.287 hours/ns, 966.519 timesteps/s
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.5352 | 2.5352 | 2.5352 | 0.0 | 12.58
Bond | 0.026112 | 0.026112 | 0.026112 | 0.0 | 0.13
Kspace | 0.25 | 0.25 | 0.25 | 0.0 | 1.24
Neigh | 0.10364 | 0.10364 | 0.10364 | 0.0 | 0.51
Comm | 0.22907 | 0.22907 | 0.22907 | 0.0 | 1.14
Output | 0.0013065 | 0.0013065 | 0.0013065 | 0.0 | 0.01
Modify | 16.957 | 16.957 | 16.957 | 0.0 | 84.14
Other | | 0.05061 | | | 0.25
Pair | 2.5462 | 2.5462 | 2.5462 | 0.0 | 12.30
Bond | 0.029783 | 0.029783 | 0.029783 | 0.0 | 0.14
Kspace | 0.26167 | 0.26167 | 0.26167 | 0.0 | 1.26
Neigh | 0.10705 | 0.10705 | 0.10705 | 0.0 | 0.52
Comm | 0.23409 | 0.23409 | 0.23409 | 0.0 | 1.13
Output | 0.0013416 | 0.0013416 | 0.0013416 | 0.0 | 0.01
Modify | 17.458 | 17.458 | 17.458 | 0.0 | 84.37
Other | | 0.05433 | | | 0.26
Nlocal: 30 ave 30 max 30 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
# Rigid CO2 TraPPE model
@ -46,6 +46,7 @@ Read molecule co2mol:
0 impropers with 0 types
create_atoms 0 box mol co2mol 464563 units box
Created 24 atoms
Time spent = 0.00261331 secs
# rigid CO2 TraPPE model
@ -87,6 +88,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
# atom counts
variable carbon atom "type==1"
variable oxygen atom "type==2"
group carbon dynamic all var carbon
dynamic group carbon defined
group oxygen dynamic all var oxygen
dynamic group oxygen defined
variable nC equal count(carbon)
variable nO equal count(oxygen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -94,7 +106,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
thermo 1000
# run
@ -124,45 +136,45 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 15.41 | 15.41 | 15.41 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
0 386.52184 23582.465 -3.2433417 14.209828 0.5846359 24 0 0 0 0
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
0 386.52184 23582.465 -3.2433417 14.209828 0.5846359 24 0 0 0 0 8 16
WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
1000 335.66829 -3.7743052 -4.6268612 7.3374649 0.36539744 15 0.20601899 0.20787963 0 0
2000 459.73529 238.91592 -0.42937831 5.4815343 0.21923846 9 0.30392058 0.30105616 0 0
3000 255.47773 -479.67802 -36.850434 15.738299 0.95003334 39 0.22220744 0.2197582 0 0
4000 182.70803 -1059.2262 -43.044833 12.163134 1.0231128 42 0.16781689 0.16716177 0 0
5000 234.00907 -1821.0444 -46.04795 15.578317 1.0231128 42 0.13498091 0.13704201 0 0
6000 163.42759 -774.67294 -49.686261 11.691518 1.0961923 45 0.11401677 0.11296973 0 0
7000 171.64616 -355.23516 -49.323434 12.27947 1.0961923 45 0.098302308 0.098552065 0 0
8000 251.29791 -905.47863 -37.841209 15.480807 0.95003334 39 0.086856972 0.08638658 0 0
9000 143.69498 -849.95393 -49.073188 10.279858 1.0961923 45 0.078261061 0.077955243 0 0
10000 239.35727 -1158.1879 -43.562047 15.934355 1.0231128 42 0.070789792 0.070807529 0 0
11000 169.51213 -1574.7885 -51.125228 12.126803 1.0961923 45 0.065008734 0.06498871 0 0
12000 181.39739 160.11631 -46.850937 12.977068 1.0961923 45 0.059648717 0.059514803 0 0
13000 164.14601 -1107.7629 -50.726722 11.742914 1.0961923 45 0.055207333 0.055097701 0 0
14000 287.26285 418.51463 -41.664766 19.123497 1.0231128 42 0.051346789 0.051222285 0 0
15000 256.94593 -532.36615 -41.651618 17.105257 1.0231128 42 0.047870301 0.047861685 0 0
16000 166.92132 151.15933 -39.957018 11.11219 1.0231128 42 0.045205599 0.045042211 0 0
17000 163.22452 -1299.8119 -42.677558 10.866089 1.0231128 42 0.043122086 0.042993687 0 0
18000 158.01154 475.77329 -48.803162 11.304057 1.0961923 45 0.041016683 0.040647229 0 0
19000 138.49297 -1585.1508 -47.517099 9.9077098 1.0961923 45 0.038929287 0.038436764 0 0
20000 173.84439 -1362.6301 -53.002743 12.436731 1.0961923 45 0.036973919 0.036523816 0 0
Loop time of 31.8386 on 4 procs for 20000 steps with 45 atoms
1000 335.66829 -3.7743052 -4.6268612 7.3374649 0.36539744 15 0.20601899 0.20787963 0 0 5 10
2000 459.73529 238.91592 -0.42937831 5.4815343 0.21923846 9 0.30392058 0.30105616 0 0 3 6
3000 255.47773 -479.67802 -36.850434 15.738299 0.95003334 39 0.22220744 0.2197582 0 0 13 26
4000 182.70803 -1059.2262 -43.044833 12.163134 1.0231128 42 0.16781689 0.16716177 0 0 14 28
5000 234.00907 -1821.0444 -46.04795 15.578317 1.0231128 42 0.13498091 0.13704201 0 0 14 28
6000 163.42759 -774.67294 -49.686261 11.691518 1.0961923 45 0.11401677 0.11296973 0 0 15 30
7000 171.64616 -355.23516 -49.323434 12.27947 1.0961923 45 0.098302308 0.098552065 0 0 15 30
8000 251.29791 -905.47863 -37.841209 15.480807 0.95003334 39 0.086856972 0.08638658 0 0 13 26
9000 143.69498 -849.95393 -49.073188 10.279858 1.0961923 45 0.078261061 0.077955243 0 0 15 30
10000 239.35727 -1158.1879 -43.562047 15.934355 1.0231128 42 0.070789792 0.070807529 0 0 14 28
11000 169.51213 -1574.7885 -51.125228 12.126803 1.0961923 45 0.065008734 0.06498871 0 0 15 30
12000 181.39739 160.11631 -46.850937 12.977068 1.0961923 45 0.059648717 0.059514803 0 0 15 30
13000 164.14601 -1107.7629 -50.726722 11.742914 1.0961923 45 0.055207333 0.055097701 0 0 15 30
14000 287.26285 418.51463 -41.664766 19.123497 1.0231128 42 0.051346789 0.051222285 0 0 14 28
15000 256.94593 -532.36615 -41.651618 17.105257 1.0231128 42 0.047870301 0.047861685 0 0 14 28
16000 166.92132 151.15933 -39.957018 11.11219 1.0231128 42 0.045205599 0.045042211 0 0 14 28
17000 163.22452 -1299.8119 -42.677558 10.866089 1.0231128 42 0.043122086 0.042993687 0 0 14 28
18000 158.01154 475.77329 -48.803162 11.304057 1.0961923 45 0.041016683 0.040647229 0 0 15 30
19000 138.49297 -1585.1508 -47.517099 9.9077098 1.0961923 45 0.038929287 0.038436764 0 0 15 30
20000 173.84439 -1362.6301 -53.002743 12.436731 1.0961923 45 0.036973919 0.036523816 0 0 15 30
Loop time of 32.4481 on 4 procs for 20000 steps with 45 atoms
Performance: 54.274 ns/day, 0.442 hours/ns, 628.168 timesteps/s
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 53.254 ns/day, 0.451 hours/ns, 616.369 timesteps/s
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.1546 | 1.6687 | 2.1338 | 29.5 | 5.24
Bond | 0.019769 | 0.020369 | 0.02132 | 0.4 | 0.06
Kspace | 0.53392 | 0.99911 | 1.5116 | 37.8 | 3.14
Neigh | 0.06737 | 0.067842 | 0.068412 | 0.2 | 0.21
Comm | 1.9408 | 1.9582 | 1.9733 | 1.1 | 6.15
Output | 0.0019503 | 0.0020472 | 0.0022476 | 0.3 | 0.01
Modify | 26.974 | 26.99 | 27.001 | 0.2 | 84.77
Other | | 0.1322 | | | 0.42
Pair | 1.1687 | 1.6702 | 2.1864 | 30.8 | 5.15
Bond | 0.018828 | 0.020035 | 0.020975 | 0.6 | 0.06
Kspace | 0.57506 | 1.0931 | 1.5898 | 37.7 | 3.37
Neigh | 0.068863 | 0.069524 | 0.070128 | 0.2 | 0.21
Comm | 2.0735 | 2.0865 | 2.0979 | 0.7 | 6.43
Output | 0.0025017 | 0.0025966 | 0.0027781 | 0.2 | 0.01
Modify | 27.335 | 27.344 | 27.363 | 0.2 | 84.27
Other | | 0.1621 | | | 0.50
Nlocal: 11.25 ave 14 max 8 min
Histogram: 1 0 0 0 0 1 1 0 0 1
@ -177,4 +189,4 @@ Ave special neighs/atom = 2
Neighbor list builds = 20394
Dangerous builds = 0
Total wall time: 0:00:31
Total wall time: 0:00:32

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# fix gcmc example with fix shake
@ -51,6 +51,7 @@ Read molecule h2omol:
0 impropers with 0 types
create_atoms 0 box mol h2omol 464563 units box
Created 24 atoms
Time spent = 0.00201297 secs
# rigid SPC/E water model
@ -100,9 +101,9 @@ Per MPI rank memory allocation (min/avg/max) = 11.88 | 11.88 | 11.88 Mbytes
Step Temp E_pair E_mol TotEng Press
0 338 -4.1890564 9.2628112e-06 18.98377 739.06991
100 338 -30.182886 0.85607237 -6.1539961 -2535.3207
Loop time of 0.0525794 on 1 procs for 100 steps with 24 atoms
Loop time of 0.0507543 on 1 procs for 100 steps with 24 atoms
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max iterations
@ -116,14 +117,14 @@ Minimization stats:
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.044199 | 0.044199 | 0.044199 | 0.0 | 84.06
Bond | 0.00049019 | 0.00049019 | 0.00049019 | 0.0 | 0.93
Kspace | 0.0031631 | 0.0031631 | 0.0031631 | 0.0 | 6.02
Neigh | 0.00046444 | 0.00046444 | 0.00046444 | 0.0 | 0.88
Comm | 0.0034101 | 0.0034101 | 0.0034101 | 0.0 | 6.49
Output | 1.9073e-05 | 1.9073e-05 | 1.9073e-05 | 0.0 | 0.04
Pair | 0.042597 | 0.042597 | 0.042597 | 0.0 | 83.93
Bond | 0.00047708 | 0.00047708 | 0.00047708 | 0.0 | 0.94
Kspace | 0.0031135 | 0.0031135 | 0.0031135 | 0.0 | 6.13
Neigh | 0.00045919 | 0.00045919 | 0.00045919 | 0.0 | 0.90
Comm | 0.0032997 | 0.0032997 | 0.0032997 | 0.0 | 6.50
Output | 1.359e-05 | 1.359e-05 | 1.359e-05 | 0.0 | 0.03
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.0008333 | | | 1.58
Other | | 0.0007946 | | | 1.57
Nlocal: 24 ave 24 max 24 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -164,22 +165,22 @@ Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
Step Temp E_pair E_mol TotEng Press
0 518.26667 -30.182886 0 -7.0100684 993.1985
1000 326.9865 -62.258445 0 -47.638175 -5.3440813
Loop time of 0.14263 on 1 procs for 1000 steps with 24 atoms
Loop time of 0.141449 on 1 procs for 1000 steps with 24 atoms
Performance: 605.764 ns/day, 0.040 hours/ns, 7011.155 timesteps/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 610.819 ns/day, 0.039 hours/ns, 7069.663 timesteps/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10849 | 0.10849 | 0.10849 | 0.0 | 76.07
Bond | 0.00015426 | 0.00015426 | 0.00015426 | 0.0 | 0.11
Kspace | 0.01205 | 0.01205 | 0.01205 | 0.0 | 8.45
Neigh | 0.0046577 | 0.0046577 | 0.0046577 | 0.0 | 3.27
Comm | 0.011531 | 0.011531 | 0.011531 | 0.0 | 8.08
Output | 1.6212e-05 | 1.6212e-05 | 1.6212e-05 | 0.0 | 0.01
Modify | 0.0037699 | 0.0037699 | 0.0037699 | 0.0 | 2.64
Other | | 0.001957 | | | 1.37
Pair | 0.10788 | 0.10788 | 0.10788 | 0.0 | 76.27
Bond | 0.00018954 | 0.00018954 | 0.00018954 | 0.0 | 0.13
Kspace | 0.011867 | 0.011867 | 0.011867 | 0.0 | 8.39
Neigh | 0.0045254 | 0.0045254 | 0.0045254 | 0.0 | 3.20
Comm | 0.011277 | 0.011277 | 0.011277 | 0.0 | 7.97
Output | 1.5497e-05 | 1.5497e-05 | 1.5497e-05 | 0.0 | 0.01
Modify | 0.00383 | 0.00383 | 0.00383 | 0.0 | 2.71
Other | | 0.001868 | | | 1.32
Nlocal: 24 ave 24 max 24 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -201,6 +202,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert 1.66666666666667 group h2o shake wshake
# atom counts
variable oxygen atom "type==1"
variable hydrogen atom "type==2"
group oxygen dynamic all var oxygen
dynamic group oxygen defined
group hydrogen dynamic all var hydrogen
dynamic group hydrogen defined
variable nO equal count(oxygen)
variable nH equal count(hydrogen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -208,7 +220,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
thermo 1000
# run
@ -226,44 +238,44 @@ WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
1000 326.9865 -4.3509713 -62.258445 14.62027 0.23910963 24 0 0 0 0
2000 116.99793 -5344.1527 -286.61595 17.088682 0.74721761 75 0.048183096 0.013941446 0 0
3000 106.86746 -3920.4926 -361.60598 18.794545 0.89666113 90 0.035637919 0.012768883 0 0
4000 75.002668 540.46846 -414.8511 14.531966 0.98632724 99 0.025963651 0.0093451705 0 0
5000 79.924788 -2131.1173 -437.21216 15.962121 1.0162159 102 0.019879728 0.0070418993 0 0
6000 95.552773 -3647.0233 -438.24276 19.083253 1.0162159 102 0.015753613 0.0056885133 0 0
7000 79.501736 -2071.5369 -440.77351 15.877631 1.0162159 102 0.01326216 0.0046915318 0 0
8000 62.567091 -3102.9616 -442.21884 12.495541 1.0162159 102 0.011305503 0.0040437885 0 0
9000 68.324047 -3812.7866 -440.46835 13.645287 1.0162159 102 0.0099549538 0.0035157329 0 0
10000 83.857631 -2158.2659 -444.8183 16.747566 1.0162159 102 0.0088200922 0.0031354281 0 0
11000 68.350984 -2084.0789 -440.14081 13.650667 1.0162159 102 0.0081331455 0.0030247424 0 0
12000 76.867315 -1585.6723 -443.36199 15.3515 1.0162159 102 0.0073845932 0.0027532534 0 0
13000 59.74266 -2211.0211 -446.07791 11.931462 1.0162159 102 0.0067756276 0.0025213898 0 0
14000 81.154979 -907.0176 -441.53368 16.207808 1.0162159 102 0.0062527642 0.0023280719 0 0
15000 66.814346 -2804.5134 -455.80704 13.7421 1.0461046 105 0.0059590528 0.0021576214 0 0
16000 71.42983 -3930.4004 -458.43218 14.691394 1.0461046 105 0.0055547473 0.0020163729 0 0
17000 89.624855 -3569.8136 -455.18164 18.433672 1.0461046 105 0.0052173265 0.0018867687 0 0
18000 63.519962 -1882.8157 -456.58939 13.064525 1.0461046 105 0.0049082049 0.0017765986 0 0
19000 71.872698 -2243.5046 -454.93359 14.782481 1.0461046 105 0.0046439115 0.0016748361 0 0
20000 73.660765 -2285.3173 -476.35473 15.589381 1.0759934 108 0.0045124933 0.0015837653 0 0
21000 95.675868 987.92089 -475.46736 20.248603 1.0759934 108 0.004285814 0.0015049513 0 0
Loop time of 226.155 on 1 procs for 20000 steps with 108 atoms
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
1000 326.9865 -4.3509713 -62.258445 14.62027 0.23910963 24 0 0 0 0 8 16
2000 116.99793 -5344.1527 -286.61595 17.088682 0.74721761 75 0.048183096 0.013941446 0 0 25 50
3000 106.86746 -3920.4926 -361.60598 18.794545 0.89666113 90 0.035637919 0.012768883 0 0 30 60
4000 75.002668 540.46846 -414.8511 14.531966 0.98632724 99 0.025963651 0.0093451705 0 0 33 66
5000 79.924788 -2131.1173 -437.21216 15.962121 1.0162159 102 0.019879728 0.0070418993 0 0 34 68
6000 95.552773 -3647.0233 -438.24276 19.083253 1.0162159 102 0.015753613 0.0056885133 0 0 34 68
7000 79.501736 -2071.5369 -440.77351 15.877631 1.0162159 102 0.01326216 0.0046915318 0 0 34 68
8000 62.567091 -3102.9616 -442.21884 12.495541 1.0162159 102 0.011305503 0.0040437885 0 0 34 68
9000 68.324047 -3812.7866 -440.46835 13.645287 1.0162159 102 0.0099549538 0.0035157329 0 0 34 68
10000 83.857631 -2158.2659 -444.8183 16.747566 1.0162159 102 0.0088200922 0.0031354281 0 0 34 68
11000 68.350984 -2084.0789 -440.14081 13.650667 1.0162159 102 0.0081331455 0.0030247424 0 0 34 68
12000 76.867315 -1585.6723 -443.36199 15.3515 1.0162159 102 0.0073845932 0.0027532534 0 0 34 68
13000 59.74266 -2211.0211 -446.07791 11.931462 1.0162159 102 0.0067756276 0.0025213898 0 0 34 68
14000 81.154979 -907.0176 -441.53368 16.207808 1.0162159 102 0.0062527642 0.0023280719 0 0 34 68
15000 66.814346 -2804.5134 -455.80704 13.7421 1.0461046 105 0.0059590528 0.0021576214 0 0 35 70
16000 71.42983 -3930.4004 -458.43218 14.691394 1.0461046 105 0.0055547473 0.0020163729 0 0 35 70
17000 89.624855 -3569.8136 -455.18164 18.433672 1.0461046 105 0.0052173265 0.0018867687 0 0 35 70
18000 63.519962 -1882.8157 -456.58939 13.064525 1.0461046 105 0.0049082049 0.0017765986 0 0 35 70
19000 71.872698 -2243.5046 -454.93359 14.782481 1.0461046 105 0.0046439115 0.0016748361 0 0 35 70
20000 73.660765 -2285.3173 -476.35473 15.589381 1.0759934 108 0.0045124933 0.0015837653 0 0 36 72
21000 95.675868 987.92089 -475.46736 20.248603 1.0759934 108 0.004285814 0.0015049513 0 0 36 72
Loop time of 220.662 on 1 procs for 20000 steps with 108 atoms
Performance: 7.641 ns/day, 3.141 hours/ns, 88.435 timesteps/s
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 7.831 ns/day, 3.065 hours/ns, 90.637 timesteps/s
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 38.053 | 38.053 | 38.053 | 0.0 | 16.83
Bond | 0.089673 | 0.089673 | 0.089673 | 0.0 | 0.04
Kspace | 0.92778 | 0.92778 | 0.92778 | 0.0 | 0.41
Neigh | 1.2619 | 1.2619 | 1.2619 | 0.0 | 0.56
Comm | 0.97483 | 0.97483 | 0.97483 | 0.0 | 0.43
Output | 0.0013306 | 0.0013306 | 0.0013306 | 0.0 | 0.00
Modify | 184.68 | 184.68 | 184.68 | 0.0 | 81.66
Other | | 0.171 | | | 0.08
Pair | 37.459 | 37.459 | 37.459 | 0.0 | 16.98
Bond | 0.087067 | 0.087067 | 0.087067 | 0.0 | 0.04
Kspace | 0.90234 | 0.90234 | 0.90234 | 0.0 | 0.41
Neigh | 1.2299 | 1.2299 | 1.2299 | 0.0 | 0.56
Comm | 0.95437 | 0.95437 | 0.95437 | 0.0 | 0.43
Output | 0.0010636 | 0.0010636 | 0.0010636 | 0.0 | 0.00
Modify | 179.85 | 179.85 | 179.85 | 0.0 | 81.51
Other | | 0.1754 | | | 0.08
Nlocal: 108 ave 108 max 108 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -278,4 +290,4 @@ Ave special neighs/atom = 2
Neighbor list builds = 20439
Dangerous builds = 0
Total wall time: 0:03:46
Total wall time: 0:03:40

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# fix gcmc example with fix shake
@ -51,6 +51,7 @@ Read molecule h2omol:
0 impropers with 0 types
create_atoms 0 box mol h2omol 464563 units box
Created 24 atoms
Time spent = 0.00174451 secs
# rigid SPC/E water model
@ -100,9 +101,9 @@ Per MPI rank memory allocation (min/avg/max) = 11.85 | 11.85 | 11.85 Mbytes
Step Temp E_pair E_mol TotEng Press
0 338 -4.9610706 9.2628112e-06 18.211756 730.90791
100 338 -15.742442 0.14954269 7.579918 -637.49568
Loop time of 0.0828406 on 4 procs for 100 steps with 24 atoms
Loop time of 0.0566185 on 4 procs for 100 steps with 24 atoms
98.7% CPU use with 4 MPI tasks x 1 OpenMP threads
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = max iterations
@ -116,14 +117,14 @@ Minimization stats:
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.012844 | 0.025471 | 0.047008 | 8.1 | 30.75
Bond | 0.00038934 | 0.00046468 | 0.00054336 | 0.0 | 0.56
Kspace | 0.0061138 | 0.027556 | 0.04014 | 7.8 | 33.26
Pair | 0.0085177 | 0.016083 | 0.026787 | 5.3 | 28.41
Bond | 0.00022459 | 0.00031394 | 0.00037575 | 0.0 | 0.55
Kspace | 0.0049062 | 0.014122 | 0.02044 | 5.0 | 24.94
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.023276 | 0.023636 | 0.023804 | 0.1 | 28.53
Output | 3.171e-05 | 3.3557e-05 | 3.8147e-05 | 0.0 | 0.04
Comm | 0.018515 | 0.02086 | 0.023246 | 1.2 | 36.84
Output | 2.4796e-05 | 2.6047e-05 | 2.9802e-05 | 0.0 | 0.05
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.00568 | | | 6.86
Other | | 0.005213 | | | 9.21
Nlocal: 6 ave 8 max 3 min
Histogram: 1 0 0 0 1 0 0 0 0 2
@ -164,22 +165,22 @@ Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
Step Temp E_pair E_mol TotEng Press
0 518.26667 -15.742442 0 7.4303753 -613.0781
1000 369.81793 -54.202686 0 -37.667331 294.98823
Loop time of 0.199641 on 4 procs for 1000 steps with 24 atoms
Loop time of 0.154891 on 4 procs for 1000 steps with 24 atoms
Performance: 432.777 ns/day, 0.055 hours/ns, 5008.996 timesteps/s
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 557.810 ns/day, 0.043 hours/ns, 6456.135 timesteps/s
98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.017161 | 0.034988 | 0.05833 | 8.0 | 17.53
Bond | 0.00017357 | 0.00021374 | 0.00027347 | 0.0 | 0.11
Kspace | 0.018025 | 0.044624 | 0.065613 | 8.4 | 22.35
Neigh | 0.0029755 | 0.0033154 | 0.0036366 | 0.6 | 1.66
Comm | 0.059933 | 0.06537 | 0.070709 | 1.5 | 32.74
Output | 3.4571e-05 | 3.6657e-05 | 4.22e-05 | 0.0 | 0.02
Modify | 0.043458 | 0.045628 | 0.04767 | 0.9 | 22.86
Other | | 0.005465 | | | 2.74
Pair | 0.0154 | 0.028993 | 0.040525 | 5.5 | 18.72
Bond | 0.00016999 | 0.0001902 | 0.00023293 | 0.0 | 0.12
Kspace | 0.019093 | 0.028112 | 0.038976 | 4.3 | 18.15
Neigh | 0.0020263 | 0.0022184 | 0.002408 | 0.4 | 1.43
Comm | 0.04947 | 0.053627 | 0.058009 | 1.4 | 34.62
Output | 2.5749e-05 | 2.7537e-05 | 3.2187e-05 | 0.0 | 0.02
Modify | 0.035275 | 0.036815 | 0.038425 | 0.7 | 23.77
Other | | 0.004909 | | | 3.17
Nlocal: 6 ave 8 max 3 min
Histogram: 1 0 0 0 0 0 1 0 1 1
@ -201,6 +202,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert 1.66666666666667 group h2o shake wshake
# atom counts
variable oxygen atom "type==1"
variable hydrogen atom "type==2"
group oxygen dynamic all var oxygen
dynamic group oxygen defined
group hydrogen dynamic all var hydrogen
dynamic group hydrogen defined
variable nO equal count(oxygen)
variable nH equal count(hydrogen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
@ -208,7 +220,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
thermo 1000
# run
@ -226,44 +238,44 @@ WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
1000 369.81793 295.32434 -54.202686 16.535355 0.23910963 24 0 0 0 0
2000 84.544466 -2810.9047 -344.81664 14.364627 0.86677242 87 0.052198354 0.0099581757 0 0
3000 75.188527 -3688.256 -425.02228 14.567977 0.98632724 99 0.030546787 0.0049111089 0 0
4000 75.019396 -5669.3063 -427.69454 14.535207 0.98632724 99 0.019972039 0.0033375609 0 0
5000 90.415371 -2141.7596 -434.65925 17.518218 0.98632724 99 0.014909796 0.002514964 0 0
6000 78.212628 -943.75125 -428.80584 15.153904 0.98632724 99 0.01181521 0.0020316119 0 0
7000 71.754139 -2028.5122 -435.2139 13.902555 0.98632724 99 0.0099466198 0.0016755471 0 0
8000 84.446231 -1969.1657 -428.27313 16.361681 0.98632724 99 0.0084791272 0.0014442102 0 0
9000 70.952348 -2476.9812 -446.33824 14.170197 1.0162159 102 0.0077150892 0.0012556189 0 0
10000 71.418543 -1875.7083 -443.7214 14.263302 1.0162159 102 0.0068355714 0.0011197957 0 0
11000 86.094994 -4508.7581 -444.82687 17.194399 1.0162159 102 0.0061494515 0.0010082475 0 0
12000 81.906091 -1547.8105 -442.36719 16.357815 1.0162159 102 0.0055834729 0.00091775114 0 0
13000 57.221548 -4607.6222 -448.30939 11.42796 1.0162159 102 0.0051230355 0.00084046326 0 0
14000 61.288344 -2518.1779 -445.70636 12.240157 1.0162159 102 0.0047276997 0.00077602396 0 0
15000 85.787669 -2407.7111 -443.3834 17.133022 1.0162159 102 0.0043983485 0.00071920715 0 0
16000 74.845939 -3288.3403 -445.8247 14.947802 1.0162159 102 0.0042321884 0.00080654918 0 0
17000 73.835431 -1926.9566 -445.67476 14.745989 1.0162159 102 0.0039751059 0.00075470749 0 0
18000 72.634985 -3997.552 -447.2351 14.506243 1.0162159 102 0.0037395847 0.00071063946 0 0
19000 96.776472 -714.44132 -453.65552 19.904587 1.0461046 105 0.0036487876 0.00066993446 0 0
20000 75.470786 183.16972 -464.04688 15.522521 1.0461046 105 0.0034630763 0.00063350614 0 0
21000 65.658309 -773.41266 -466.27068 13.504331 1.0461046 105 0.003289113 0.00060198052 0 0
Loop time of 93.8859 on 4 procs for 20000 steps with 105 atoms
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
1000 369.81793 295.32434 -54.202686 16.535355 0.23910963 24 0 0 0 0 8 16
2000 84.544466 -2810.9047 -344.81664 14.364627 0.86677242 87 0.052198354 0.0099581757 0 0 29 58
3000 75.188527 -3688.256 -425.02228 14.567977 0.98632724 99 0.030546787 0.0049111089 0 0 33 66
4000 75.019396 -5669.3063 -427.69454 14.535207 0.98632724 99 0.019972039 0.0033375609 0 0 33 66
5000 90.415371 -2141.7596 -434.65925 17.518218 0.98632724 99 0.014909796 0.002514964 0 0 33 66
6000 78.212628 -943.75125 -428.80584 15.153904 0.98632724 99 0.01181521 0.0020316119 0 0 33 66
7000 71.754139 -2028.5122 -435.2139 13.902555 0.98632724 99 0.0099466198 0.0016755471 0 0 33 66
8000 84.446231 -1969.1657 -428.27313 16.361681 0.98632724 99 0.0084791272 0.0014442102 0 0 33 66
9000 70.952348 -2476.9812 -446.33824 14.170197 1.0162159 102 0.0077150892 0.0012556189 0 0 34 68
10000 71.418543 -1875.7083 -443.7214 14.263302 1.0162159 102 0.0068355714 0.0011197957 0 0 34 68
11000 86.094994 -4508.7581 -444.82687 17.194399 1.0162159 102 0.0061494515 0.0010082475 0 0 34 68
12000 81.906091 -1547.8105 -442.36719 16.357815 1.0162159 102 0.0055834729 0.00091775114 0 0 34 68
13000 57.221548 -4607.6222 -448.30939 11.42796 1.0162159 102 0.0051230355 0.00084046326 0 0 34 68
14000 61.288344 -2518.1779 -445.70636 12.240157 1.0162159 102 0.0047276997 0.00077602396 0 0 34 68
15000 85.787669 -2407.7111 -443.3834 17.133022 1.0162159 102 0.0043983485 0.00071920715 0 0 34 68
16000 74.845939 -3288.3403 -445.8247 14.947802 1.0162159 102 0.0042321884 0.00080654918 0 0 34 68
17000 73.835431 -1926.9566 -445.67476 14.745989 1.0162159 102 0.0039751059 0.00075470749 0 0 34 68
18000 72.634985 -3997.552 -447.2351 14.506243 1.0162159 102 0.0037395847 0.00071063946 0 0 34 68
19000 96.776472 -714.44132 -453.65552 19.904587 1.0461046 105 0.0036487876 0.00066993446 0 0 35 70
20000 75.470786 183.16972 -464.04688 15.522521 1.0461046 105 0.0034630763 0.00063350614 0 0 35 70
21000 65.658309 -773.41266 -466.27068 13.504331 1.0461046 105 0.003289113 0.00060198052 0 0 35 70
Loop time of 84.4085 on 4 procs for 20000 steps with 105 atoms
Performance: 18.405 ns/day, 1.304 hours/ns, 213.024 timesteps/s
Performance: 20.472 ns/day, 1.172 hours/ns, 236.943 timesteps/s
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 6.7882 | 10.264 | 14.758 | 93.2 | 10.93
Bond | 0.028286 | 0.034218 | 0.039038 | 2.5 | 0.04
Kspace | 0.57255 | 5.2227 | 8.8493 | 133.8 | 5.56
Neigh | 0.3635 | 0.36915 | 0.37473 | 0.9 | 0.39
Comm | 2.9961 | 3.2542 | 3.509 | 11.4 | 3.47
Output | 0.0011675 | 0.0012342 | 0.001375 | 0.2 | 0.00
Modify | 74.428 | 74.499 | 74.571 | 0.7 | 79.35
Other | | 0.2411 | | | 0.26
Pair | 6.3571 | 9.7574 | 13.984 | 90.7 | 11.56
Bond | 0.026374 | 0.031321 | 0.035482 | 2.1 | 0.04
Kspace | 0.57402 | 4.7894 | 8.1754 | 129.0 | 5.67
Neigh | 0.34952 | 0.34987 | 0.35021 | 0.1 | 0.41
Comm | 2.4028 | 2.4228 | 2.4372 | 0.9 | 2.87
Output | 0.0012269 | 0.0012826 | 0.0014355 | 0.2 | 0.00
Modify | 66.819 | 66.828 | 66.837 | 0.1 | 79.17
Other | | 0.2281 | | | 0.27
Nlocal: 26.25 ave 31 max 22 min
Histogram: 1 0 1 0 0 0 1 0 0 1
@ -278,4 +290,4 @@ Ave special neighs/atom = 2
Neighbor list builds = 20428
Dangerous builds = 0
Total wall time: 0:01:34
Total wall time: 0:01:24

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# GCMC for LJ simple fluid, no dynamics
# T = 2.0
@ -43,6 +43,13 @@ fix mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
# atom count
variable type1 atom "type==1"
group type1 dynamic all var type1
dynamic group type1 defined
variable n1 equal count(type1)
# averaging
variable rho equal density
@ -54,10 +61,11 @@ variable muex equal -1.25-${temp}*ln(density*${lambda}+${nugget})
variable muex equal -1.25-2.0*ln(density*${lambda}+${nugget})
variable muex equal -1.25-2.0*ln(density*1+${nugget})
variable muex equal -1.25-2.0*ln(density*1+1e-08)
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
variable rhoav equal f_ave[1]
variable pav equal f_ave[2]
variable muexav equal f_ave[3]
variable n1av equal f_ave[4]
# output
@ -68,7 +76,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+1e-08)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+1e-08)
compute_modify thermo_temp dynamic yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
thermo 1000
# run
@ -87,32 +95,32 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 0.433 | 0.433 | 0.433 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
0 0 0 0 -0 0 0 0 0 0 0 0 0
1000 2.4038954 2.1735585 -2.7041368 3.5476844 0.496 62 0.064790036 0.06313096 0.1081294 0.54304 1.4513524 -0.025479219
2000 2.0461168 1.1913842 -2.9880181 3.0212194 0.512 64 0.067416408 0.066335853 0.11306166 0.52736 1.3274665 0.034690004
3000 1.7930436 1.3788681 -3.2212667 2.6505861 0.552 69 0.067733191 0.066877836 0.1133516 0.5344 1.3834744 0.0070582537
4000 1.981449 1.2541054 -2.8222868 2.9217977 0.472 59 0.068546991 0.067856412 0.11442807 0.52504 1.3815629 0.043309657
5000 2.0946818 1.0701629 -3.5213291 3.0977688 0.568 71 0.06813743 0.067567891 0.11342906 0.53824 1.4049567 -0.0054539777
6000 1.9793484 0.68224187 -3.410211 2.9247088 0.536 67 0.067797628 0.067420108 0.11295333 0.5384 1.401683 -0.0066894359
7000 2.1885798 1.6745012 -3.185499 3.2345922 0.544 68 0.068630201 0.068261832 0.11403705 0.5244 1.449239 0.045987399
8000 2.2175324 1.5897263 -3.078898 3.2759002 0.528 66 0.068180395 0.067899629 0.11332691 0.53928 1.5488388 -0.01075766
9000 1.8610779 1.0396231 -2.923262 2.7465908 0.496 62 0.068346453 0.068028117 0.1134132 0.52912 1.4352871 0.027082544
10000 2.1079271 1.1746643 -2.9112062 3.1091925 0.48 60 0.068352878 0.068054948 0.11335434 0.5316 1.4462327 0.018503094
Loop time of 20.6892 on 1 procs for 10000 steps with 60 atoms
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
0 0 0 0 -0 0 0 0 0 0 0 0 0 0
1000 2.4038954 2.1735585 -2.7041368 3.5476844 0.496 62 0.064790036 0.06313096 0.1081294 0.54304 1.4513524 -0.025479219 64.98
2000 2.0461168 1.1913842 -2.9880181 3.0212194 0.512 64 0.067416408 0.066335853 0.11306166 0.52736 1.3274665 0.034690004 62.97
3000 1.7930436 1.3788681 -3.2212667 2.6505861 0.552 69 0.067733191 0.066877836 0.1133516 0.5344 1.3834744 0.0070582537 63.5
4000 1.981449 1.2541054 -2.8222868 2.9217977 0.472 59 0.068546991 0.067856412 0.11442807 0.52504 1.3815629 0.043309657 62.17
5000 2.0946818 1.0701629 -3.5213291 3.0977688 0.568 71 0.06813743 0.067567891 0.11342906 0.53824 1.4049567 -0.0054539777 64.15
6000 1.9793484 0.68224187 -3.410211 2.9247088 0.536 67 0.067797628 0.067420108 0.11295333 0.5384 1.401683 -0.0066894359 64.37
7000 2.1885798 1.6745012 -3.185499 3.2345922 0.544 68 0.068630201 0.068261832 0.11403705 0.5244 1.449239 0.045987399 62.33
8000 2.2175324 1.5897263 -3.078898 3.2759002 0.528 66 0.068180395 0.067899629 0.11332691 0.53928 1.5488388 -0.01075766 64.29
9000 1.8610779 1.0396231 -2.923262 2.7465908 0.496 62 0.068346453 0.068028117 0.1134132 0.52912 1.4352871 0.027082544 62.87
10000 2.1079271 1.1746643 -2.9112062 3.1091925 0.48 60 0.068352878 0.068054948 0.11335434 0.5316 1.4462327 0.018503094 63.2
Loop time of 20.4081 on 1 procs for 10000 steps with 60 atoms
Performance: 208804.611 tau/day, 483.344 timesteps/s
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 211680.375 tau/day, 490.001 timesteps/s
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.47227 | 0.47227 | 0.47227 | 0.0 | 2.28
Neigh | 1.1729 | 1.1729 | 1.1729 | 0.0 | 5.67
Comm | 0.17133 | 0.17133 | 0.17133 | 0.0 | 0.83
Output | 0.00028253 | 0.00028253 | 0.00028253 | 0.0 | 0.00
Modify | 18.852 | 18.852 | 18.852 | 0.0 | 91.12
Other | | 0.02063 | | | 0.10
Pair | 0.46484 | 0.46484 | 0.46484 | 0.0 | 2.28
Neigh | 1.1447 | 1.1447 | 1.1447 | 0.0 | 5.61
Comm | 0.1696 | 0.1696 | 0.1696 | 0.0 | 0.83
Output | 0.000319 | 0.000319 | 0.000319 | 0.0 | 0.00
Modify | 18.607 | 18.607 | 18.607 | 0.0 | 91.17
Other | | 0.02194 | | | 0.11
Nlocal: 60 ave 60 max 60 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,4 +1,4 @@
LAMMPS (6 Jul 2017)
LAMMPS (23 Oct 2017)
using 1 OpenMP thread(s) per MPI task
# GCMC for LJ simple fluid, no dynamics
# T = 2.0
@ -43,6 +43,13 @@ fix mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
# atom count
variable type1 atom "type==1"
group type1 dynamic all var type1
dynamic group type1 defined
variable n1 equal count(type1)
# averaging
variable rho equal density
@ -54,10 +61,11 @@ variable muex equal -1.25-${temp}*ln(density*${lambda}+${nugget})
variable muex equal -1.25-2.0*ln(density*${lambda}+${nugget})
variable muex equal -1.25-2.0*ln(density*1+${nugget})
variable muex equal -1.25-2.0*ln(density*1+1e-08)
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
variable rhoav equal f_ave[1]
variable pav equal f_ave[2]
variable muexav equal f_ave[3]
variable n1av equal f_ave[4]
# output
@ -68,7 +76,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+1e-08)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+1e-08)
compute_modify thermo_temp dynamic yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
thermo 1000
# run
@ -87,32 +95,32 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 0.4477 | 0.4477 | 0.4477 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
0 0 0 0 -0 0 0 0 0 0 0 0 0
1000 1.956397 1.7699101 -2.7889468 2.8864874 0.488 61 0.068894746 0.067229075 0.1141726 0.53288 1.3832798 0.013392866
2000 2.040943 0.56060899 -2.8001647 3.0077055 0.456 57 0.069858594 0.068831934 0.11629114 0.5232 1.3587174 0.049995794
3000 2.0004866 1.5736515 -3.3098044 2.9572411 0.552 69 0.069594029 0.068727791 0.11592543 0.53096 1.4129434 0.020022578
4000 2.1127942 2.642809 -2.8865084 3.1211733 0.528 66 0.070268697 0.069533235 0.11693806 0.52424 1.3444615 0.046884078
5000 2.3663648 1.354269 -3.1917346 3.4957662 0.528 66 0.070519633 0.069960064 0.11710321 0.52688 1.3595814 0.036270867
6000 1.9224136 0.82756699 -3.1965 2.839257 0.52 65 0.06985018 0.069474645 0.11628632 0.536 1.47062 0.00141549
7000 2.0266192 1.5593811 -2.9972341 2.9931606 0.52 65 0.070244693 0.069880791 0.11666541 0.52528 1.3246332 0.040754793
8000 1.7790467 1.8680568 -2.8028819 2.6275151 0.52 65 0.070454494 0.070172368 0.11736806 0.524 1.4213649 0.047985191
9000 1.7968847 1.3195587 -3.261001 2.6550983 0.536 67 0.069952011 0.069618327 0.11650087 0.53904 1.4624201 -0.01069837
10000 2.1566109 1.1015729 -3.4999837 3.1880335 0.552 69 0.069603309 0.069284134 0.11625548 0.53128 1.3587249 0.02075238
Loop time of 24.9916 on 4 procs for 10000 steps with 69 atoms
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
0 0 0 0 -0 0 0 0 0 0 0 0 0 0
1000 1.956397 1.7699101 -2.7889468 2.8864874 0.488 61 0.068894746 0.067229075 0.1141726 0.53288 1.3832798 0.013392866 63.44
2000 2.040943 0.56060899 -2.8001647 3.0077055 0.456 57 0.069858594 0.068831934 0.11629114 0.5232 1.3587174 0.049995794 62.19
3000 2.0004866 1.5736515 -3.3098044 2.9572411 0.552 69 0.069594029 0.068727791 0.11592543 0.53096 1.4129434 0.020022578 63.23
4000 2.1127942 2.642809 -2.8865084 3.1211733 0.528 66 0.070268697 0.069533235 0.11693806 0.52424 1.3444615 0.046884078 62.57
5000 2.3663648 1.354269 -3.1917346 3.4957662 0.528 66 0.070519633 0.069960064 0.11710321 0.52688 1.3595814 0.036270867 62.56
6000 1.9224136 0.82756699 -3.1965 2.839257 0.52 65 0.06985018 0.069474645 0.11628632 0.536 1.47062 0.00141549 63.76
7000 2.0266192 1.5593811 -2.9972341 2.9931606 0.52 65 0.070244693 0.069880791 0.11666541 0.52528 1.3246332 0.040754793 62.2
8000 1.7790467 1.8680568 -2.8028819 2.6275151 0.52 65 0.070454494 0.070172368 0.11736806 0.524 1.4213649 0.047985191 62.03
9000 1.7968847 1.3195587 -3.261001 2.6550983 0.536 67 0.069952011 0.069618327 0.11650087 0.53904 1.4624201 -0.01069837 64.36
10000 2.1566109 1.1015729 -3.4999837 3.1880335 0.552 69 0.069603309 0.069284134 0.11625548 0.53128 1.3587249 0.02075238 63.24
Loop time of 23.8213 on 4 procs for 10000 steps with 69 atoms
Performance: 172857.936 tau/day, 400.134 timesteps/s
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 181350.388 tau/day, 419.793 timesteps/s
97.6% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.11696 | 0.12516 | 0.1321 | 1.7 | 0.50
Neigh | 0.34874 | 0.35644 | 0.36545 | 1.2 | 1.43
Comm | 0.48531 | 0.51366 | 0.54755 | 3.8 | 2.06
Output | 0.0005362 | 0.00069767 | 0.00076008 | 0.0 | 0.00
Modify | 23.956 | 23.972 | 23.988 | 0.3 | 95.92
Other | | 0.02376 | | | 0.10
Pair | 0.10935 | 0.11844 | 0.12741 | 2.1 | 0.50
Neigh | 0.33 | 0.33945 | 0.35091 | 1.6 | 1.42
Comm | 0.49249 | 0.51745 | 0.53856 | 2.7 | 2.17
Output | 0.00053334 | 0.0007208 | 0.0007906 | 0.0 | 0.00
Modify | 22.82 | 22.822 | 22.825 | 0.0 | 95.81
Other | | 0.02289 | | | 0.10
Nlocal: 17.25 ave 23 max 10 min
Histogram: 1 0 0 0 0 0 2 0 0 1
@ -125,4 +133,4 @@ Total # of neighbors = 2823
Ave neighs/atom = 40.913
Neighbor list builds = 10000
Dangerous builds = 0
Total wall time: 0:00:24
Total wall time: 0:00:23

View File

@ -0,0 +1,16 @@
This folder contains several LAMMPS input scripts and a python module
file py_nve.py to demonstrate the use of the fix style python/move
to reimplement NVE using Python.
in.fix_python_move_nve_melt:
This is a version of the melt example which replaces the default NVE integrator
with a Python implementation. Fix python/move is used to create an
instance of the py_nve.NVE class which implements the required interface.
It demonstrates how to access LAMMPS data as numpy arrays. This gives direct
access to memory owned by the C++ code, allows easy manipulation through numpy
operations and avoids unnecessary copies.
in.fix_python_move_nve_melt_opt:
This version of melt example uses NVE_Opt instead of NVE. While this Python
implementation is still much slower than the native version, it shows that
simple code transformations can lead to speedups.

View File

@ -8,17 +8,21 @@ def loop(N,cut0,thresh,lmpptr):
from lammps import lammps
lmp = lammps(ptr=lmpptr)
natoms = lmp.get_natoms()
for i in range(N):
cut = cut0 + i*0.1
lmp.set_variable("cut",cut) # set a variable in LAMMPS
try:
for i in range(N):
cut = cut0 + i*0.1
lmp.command("pair_style lj/cut ${cut}") # LAMMPS command
#lmp.command("pair_style lj/cut %d" % cut) # LAMMPS command option
lmp.set_variable("cut",cut) # set a variable in LAMMPS
lmp.command("pair_style lj/cut ${cut}") # LAMMPS command
#lmp.command("pair_style lj/cut %d" % cut) # LAMMPS command option
lmp.command("pair_coeff * * 1.0 1.0") # ditto
lmp.command("run 10") # ditto
pe = lmp.extract_compute("thermo_pe",0,0) # extract total PE from LAMMPS
print("PE",pe/natoms,thresh)
if pe/natoms < thresh: return
except Exception as e:
print("LOOP error:", e)
lmp.command("pair_coeff * * 1.0 1.0") # ditto
lmp.command("run 10") # ditto
pe = lmp.extract_compute("thermo_pe",0,0) # extract total PE from LAMMPS
print("PE",pe/natoms,thresh)
if pe/natoms < thresh: return

View File

@ -33,8 +33,8 @@ def post_force_callback(lmp, v):
"""
fix 1 all nve
fix 2 all python 50 end_of_step end_of_step_callback
fix 3 all python 50 post_force post_force_callback
fix 2 all python/invoke 50 end_of_step end_of_step_callback
fix 3 all python/invoke 50 post_force post_force_callback
#dump id all atom 50 dump.melt

View File

@ -0,0 +1,23 @@
# 3d Lennard-Jones melt
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 10 0 10 0 10
create_box 1 box
create_atoms 1 box
mass * 1.0
velocity all create 3.0 87287
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
fix 1 all python/move py_nve.NVE
thermo 50
run 250

View File

@ -0,0 +1,23 @@
# 3d Lennard-Jones melt
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 10 0 10 0 10
create_box 1 box
create_atoms 1 box
mass * 1.0
velocity all create 3.0 87287
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
fix 1 all python/move py_nve.NVE_Opt
thermo 50
run 250

View File

@ -28,6 +28,7 @@ python simple here """
from __future__ import print_function
def simple():
foo = 0
print("Inside simple function")
try:
foo += 1

118
examples/python/py_nve.py Normal file
View File

@ -0,0 +1,118 @@
from __future__ import print_function
import lammps
import ctypes
import traceback
import numpy as np
class LAMMPSFix(object):
def __init__(self, ptr, group_name="all"):
self.lmp = lammps.lammps(ptr=ptr)
self.group_name = group_name
class LAMMPSFixMove(LAMMPSFix):
def __init__(self, ptr, group_name="all"):
super(LAMMPSFixMove, self).__init__(ptr, group_name)
def init(self):
pass
def initial_integrate(self, vflag):
pass
def final_integrate(self):
pass
def initial_integrate_respa(self, vflag, ilevel, iloop):
pass
def final_integrate_respa(self, ilevel, iloop):
pass
def reset_dt(self):
pass
class NVE(LAMMPSFixMove):
""" Python implementation of fix/nve """
def __init__(self, ptr, group_name="all"):
super(NVE, self).__init__(ptr)
assert(self.group_name == "all")
def init(self):
dt = self.lmp.extract_global("dt", 1)
ftm2v = self.lmp.extract_global("ftm2v", 1)
self.ntypes = self.lmp.extract_global("ntypes", 0)
self.dtv = dt
self.dtf = 0.5 * dt * ftm2v
def initial_integrate(self, vflag):
nlocal = self.lmp.extract_global("nlocal", 0)
mass = self.lmp.numpy.extract_atom_darray("mass", self.ntypes+1)
atype = self.lmp.numpy.extract_atom_iarray("type", nlocal)
x = self.lmp.numpy.extract_atom_darray("x", nlocal, dim=3)
v = self.lmp.numpy.extract_atom_darray("v", nlocal, dim=3)
f = self.lmp.numpy.extract_atom_darray("f", nlocal, dim=3)
for i in range(x.shape[0]):
dtfm = self.dtf / mass[int(atype[i])]
v[i,:]+= dtfm * f[i,:]
x[i,:] += self.dtv * v[i,:]
def final_integrate(self):
nlocal = self.lmp.extract_global("nlocal", 0)
mass = self.lmp.numpy.extract_atom_darray("mass", self.ntypes+1)
atype = self.lmp.numpy.extract_atom_iarray("type", nlocal)
v = self.lmp.numpy.extract_atom_darray("v", nlocal, dim=3)
f = self.lmp.numpy.extract_atom_darray("f", nlocal, dim=3)
for i in range(v.shape[0]):
dtfm = self.dtf / mass[int(atype[i])]
v[i,:] += dtfm * f[i,:]
class NVE_Opt(LAMMPSFixMove):
""" Performance-optimized Python implementation of fix/nve """
def __init__(self, ptr, group_name="all"):
super(NVE_Opt, self).__init__(ptr)
assert(self.group_name == "all")
def init(self):
dt = self.lmp.extract_global("dt", 1)
ftm2v = self.lmp.extract_global("ftm2v", 1)
self.ntypes = self.lmp.extract_global("ntypes", 0)
self.dtv = dt
self.dtf = 0.5 * dt * ftm2v
self.mass = self.lmp.numpy.extract_atom_darray("mass", self.ntypes+1)
def initial_integrate(self, vflag):
nlocal = self.lmp.extract_global("nlocal", 0)
atype = self.lmp.numpy.extract_atom_iarray("type", nlocal)
x = self.lmp.numpy.extract_atom_darray("x", nlocal, dim=3)
v = self.lmp.numpy.extract_atom_darray("v", nlocal, dim=3)
f = self.lmp.numpy.extract_atom_darray("f", nlocal, dim=3)
dtf = self.dtf
dtv = self.dtv
mass = self.mass
dtfm = dtf / np.take(mass, atype)
dtfm.reshape((nlocal, 1))
for d in range(x.shape[1]):
v[:,d] += dtfm[:,0] * f[:,d]
x[:,d] += dtv * v[:,d]
def final_integrate(self):
nlocal = self.lmp.extract_global("nlocal", 0)
mass = self.lmp.numpy.extract_atom_darray("mass", self.ntypes+1)
atype = self.lmp.numpy.extract_atom_iarray("type", nlocal)
v = self.lmp.numpy.extract_atom_darray("v", nlocal, dim=3)
f = self.lmp.numpy.extract_atom_darray("f", nlocal, dim=3)
dtf = self.dtf
dtv = self.dtv
mass = self.mass
dtfm = dtf / np.take(mass, atype)
dtfm.reshape((nlocal, 1))
for d in range(v.shape[1]):
v[:,d] += dtfm[:,0] * f[:,d]

View File

@ -0,0 +1,49 @@
# Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS
Authors: Mitchell Wood, Stan Moore, and Aidan Thompson, Sandia National Labs
Date: 2017-10-17
Questions: Mitchell Wood, mitwood@sandia.gov
---------ReaxFF Benchmark Files---------
1) in.reaxc.hns
2) data.hns-equil
3) ffield.reax.hns
---------File Description---------
1) LAMMPS input file for this test.
The file is read line by line looking for keywords to set up this run.
It will read in the configuration given by the argument of the read_data command, which is supplied in this distribution.
The type of simulation is set by the 'fix' commands, dynamic charges are controlled with 'fix qeq' and the integration style is given as 'fix nve' here.
More information about each of the individual commands can be found online at lammps.sandia.gov in the user manual section.
*There are four free varaibles in this file, three of which control the size of the simulation and the last will dictate how many MD time steps are taken.
*The size of the system is controlled by the 'replicate' command given the values of $x, $y and $z.
*The number of timesteps taken is controlled by the 'run' command given the value of $t
It is worth noting that these four free variables can be set at the command line when the simulation is invoked rather than editing the file by hand prior to each run.
Example syntax:
lmp_serial -in in.reaxc.hns -v x 2 -v y 2 -v z 2 -v t 100
2) LAMMPS Data file for crystalline HNS
This file matches the LAMMPS data format, more information about this data structure can be found at lammps.sandia.gov
This particular data file is of the energetic material Hexanitrostilbene (HNS) with atom_style charge (id type q x y z).
The file contains eight molecules (2 unit cells).
Chemical Name: Hexanitrostilbene
Molecule Composition: C14H6N6O12
IUPAC Name: 1,3,5-Trinitro-2-[2-(2,4,6-trinitrophenyl)ethenyl]benzene
Phyical Properties (Gerard F., Hardy A. Acta Cryst. (1988) 1283-1287)
Density: 1.741 g/cc
Crystal Structure: Monoclinic P2(1)/c
Molecules per Unit Cell: 4
Lattice Constants: a=22.326
b=5.5706
c=14.667
beta=110.04 deg
3) ReaxFF force field file.
Details about this particular parameterization can be found in T.-R. Shan, R. R. Wixom, A. P. Thompson, "Atomistic Simulation of Nanoscale Void-Enhanced Initiation in Hexanitrostilbene", Proc. 15th International Detonation Symposium, pp. 962-969, SAND Number: SAND2014-15518J

View File

@ -0,0 +1,631 @@
# Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS
# See README for more info
304 atoms
4 atom types
0.0000000000000000e+00 2.2326000000000001e+01 xlo xhi
0.0000000000000000e+00 1.1141200000000000e+01 ylo yhi
0.0000000000000000e+00 1.3778966000000000e+01 zlo zhi
0.0000000000000000e+00 -5.0260300000000004e+00 0.0000000000000000e+00 xy xz yz
Masses
1 12
2 1.008
3 15.999
4 14
Atoms
30 1 -1.5978703752096285e-03 1.2032863869865822e+00 2.8256400602546141e+00 1.6550970119417108e+00 0 0 0
34 1 1.4609342964817035e-01 1.9907567656339498e+00 4.0380967812225812e+00 1.6037009557414807e+00 0 0 0
38 1 -1.1313442904350110e-01 2.3735208752501014e+00 4.6358508212064597e+00 2.8207166456035706e+00 0 0 0
42 1 1.6137623866269668e-01 2.2068159183466545e+00 3.9155626912486312e+00 4.0393199600260017e+00 0 0 0
46 1 -1.3231732350799086e-01 1.6723546283637456e+00 2.6490843099361769e+00 4.0718695650174555e+00 0 0 0
50 1 1.3924326618460361e-01 1.0432796609680879e+00 2.1377763017045028e+00 2.8779760001142254e+00 0 0 0
2 1 1.0355454307915037e-02 9.2365304282304432e+00 3.0315922757175588e+00 5.8645178945136656e-01 0 0 0
83 3 -1.1387168269097275e-01 -2.8903688091767799e-01 4.4353520665316273e+00 5.8542082062284990e+00 0 0 0
151 2 2.4137857976817839e-01 -1.2098303319415862e+00 6.2642360580370904e-01 6.3751534971040620e+00 0 0 0
90 3 -1.4867175259103951e-01 2.7301832997028690e+00 4.2208910046400874e+00 6.4748944299312052e+00 0 0 0
62 3 -1.4102407432432201e-01 9.4127387076516271e+00 5.0642928548941315e+00 3.6732353442096048e+00 0 0 0
98 3 -1.4663622654196759e-01 -3.6147625406370998e-01 6.2032706772140034e-01 4.2927916563248019e+00 0 0 0
54 1 -4.5611437629532792e-02 4.5789128567777315e-01 2.3037414864278984e+00 4.4853180490390432e-01 0 0 0
87 3 -1.8118678506945068e-01 3.4239328769587729e-01 2.4978291763591067e+00 6.8433313861644862e+00 0 0 0
122 4 -1.3816556601478763e-03 2.7347000852858909e+00 4.7780564701856187e+00 5.2860122928435764e+00 0 0 0
126 4 3.6742909094152829e-03 2.4236147574090339e-01 8.2881803614262350e-01 3.1300069722778523e+00 0 0 0
106 4 5.0380311643663904e-03 9.5333959154754595e+00 4.9409481826854691e+00 2.4063719536640074e+00 0 0 0
146 2 2.5678858551879979e-01 1.6690771913639459e+00 2.1486485750781656e+00 4.9718402573987817e+00 0 0 0
110 4 1.6289496724444380e-03 5.3102382664427816e+00 1.9205393567101749e+00 2.1572449075775788e+00 0 0 0
150 2 2.1173170721002404e-01 7.5386951474057873e-01 1.3549807632892001e+00 9.3638420990104679e-02 0 0 1
6 1 1.1953236006118220e-01 8.7624714685569316e+00 3.7188181320106537e+00 1.7053122151642655e+00 0 0 0
10 1 -1.2241319991927709e-01 7.5639831402718549e+00 3.2619209383245216e+00 2.2783314043500087e+00 0 0 0
14 1 1.6332523038636718e-01 6.7064629894786840e+00 2.3225374933384266e+00 1.5993053103840011e+00 0 0 0
18 1 -1.2740222789777322e-01 7.1960583589051836e+00 1.7158122662355066e+00 4.4569871516692844e-01 0 0 0
27 1 -5.3470339611564929e-02 8.2035551240691014e+00 5.2145834528427404e+00 6.7535330772512978e+00 0 0 0
130 2 2.6175533983311156e-01 7.2291088343383372e+00 3.7463444170136344e+00 3.1894666598585886e+00 0 0 0
115 4 -1.0266178820511205e-02 6.5003245602926247e+00 1.9837100341352589e+00 5.4205438257015626e+00 0 0 0
70 3 -1.9659495203039720e-01 4.8736785299263445e+00 6.8433015433575883e-01 2.0399570769464188e+00 0 0 0
66 3 -1.4139946566263059e-01 4.6669037558628865e+00 2.7410416721294739e+00 2.9336061027665226e+00 0 0 0
79 3 -1.4677703049809945e-01 7.3812392124196062e+00 1.4179852894043470e+00 4.6640710482179113e+00 0 0 0
75 3 -1.6908670824429517e-01 6.1211322589023460e+00 3.2420945874253642e+00 5.3132771020098115e+00 0 0 0
139 2 2.5448108175084960e-01 8.4566882159339229e+00 4.3172025545808355e+00 6.2369390618225014e+00 0 0 0
23 1 1.3477422750843063e-01 6.0540050656644713e+00 1.1700924054581945e+00 6.6706585187016119e+00 0 0 0
118 4 -1.5835790692106114e-02 2.4504894190711446e+00 4.5478624528845764e+00 2.3408689744414402e-01 0 0 0
26 1 -5.8799784794887205e-02 1.0677497585216404e+01 3.3270395487987150e+00 2.1937163062090195e-01 0 0 1
135 2 2.2667543991902223e-01 4.2303516292691130e+00 2.3680991399220881e+00 6.7600909900965371e+00 0 0 0
134 2 2.6603700384712170e-01 1.5553791693879147e+00 9.2759126357203769e-01 1.3751336880718977e+01 0 0 -1
35 1 1.3619576950915824e-01 -6.1123259368930594e-01 4.2744050950379879e+00 8.2689176641591953e+00 0 0 0
39 1 -1.3619776752057167e-01 2.1174961291658523e-02 3.7911192964937714e+00 9.4031145771372433e+00 0 0 0
43 1 1.7616533882120664e-01 -2.4082821430091039e-01 4.3921540571785220e+00 1.0667961368752986e+01 0 0 0
55 1 -4.7675633308455131e-02 -1.8255087561703223e+00 2.3531147144749784e-02 7.0185294659074930e+00 0 0 0
51 1 1.4229302277810482e-01 -1.4696286889225143e+00 2.4331344403165978e-01 9.4912358273027095e+00 0 0 0
67 3 -1.3320855668594128e-01 2.2563624634551185e+00 6.4796712999277428e-01 9.7945933875844204e+00 0 0 0
82 3 -1.2277895342641043e-01 -2.4283488967409923e+00 3.7198642287090697e+00 1.2995930949473768e+01 0 0 0
111 4 -1.5140995980939403e-03 3.0250993995224067e+00 1.4943316767321402e+00 9.1744364446145408e+00 0 0 0
91 3 -1.4025506634127735e-01 1.7753588712423607e-01 4.4153781344920002e+00 1.3115706743542738e+01 0 0 0
95 3 -1.3868856763412177e-01 1.2309740323323872e+00 2.8163901938840534e+00 1.1864853104907548e+01 0 0 0
99 3 -1.3250332187377967e-01 -2.4235387111074864e+00 2.2927169952708413e+00 1.0531038226936827e+01 0 0 0
103 3 -1.5214067005316109e-01 -2.5943266041046478e+00 2.0130134130925272e+00 8.2928000156291564e+00 0 0 0
11 1 -1.2064832278125080e-01 4.9238352739840066e+00 5.1583157878512989e+00 8.7390613510373552e+00 0 0 0
123 4 -1.8374834914142782e-03 4.6335581596415221e-01 3.8350456476487684e+00 1.1969089243285413e+01 0 0 0
127 4 -4.5958705273757214e-03 -2.3340640092443685e+00 1.5285367626179718e+00 9.4882316286490980e+00 0 0 0
143 2 2.8164020999934403e-01 8.1801006001560150e-01 3.0833734683476477e+00 9.2359390877007783e+00 0 0 0
226 3 -1.3797612921025582e-01 3.0686575977270270e+00 5.3454897967899155e+00 1.2182598966837521e+01 0 0 0
74 3 -1.4848161091470552e-01 3.6465792627245133e+00 4.2615086181930439e-02 1.2180659758160441e+01 0 0 0
107 4 -1.4162558249806764e-02 6.9041986670066819e+00 3.4945477378354388e+00 8.8118463563242155e+00 0 0 0
7 1 1.3874647498773149e-01 6.1777705393650866e+00 4.7275638247590814e+00 8.2546633769247251e+00 0 0 0
59 3 -1.4867036170029541e-01 7.9924230788486739e+00 3.0224192820538822e+00 8.2251400208652061e+00 0 0 0
15 1 1.5783636416316224e-01 4.3575954701770536e+00 9.7856621771074259e-01 8.4167269066637989e+00 0 0 0
19 1 -1.2015824785960097e-01 4.8284895573299593e+00 1.5629079717902468e+00 7.2532253050378577e+00 0 0 0
147 2 2.8239828117589366e-01 -9.3165419330122523e-01 4.2118942787062214e-01 1.1512337330019069e+01 0 0 0
114 4 -1.4785079641223244e-02 3.8503739478102448e+00 1.3491416192259467e+00 1.2373804865591053e+01 0 0 0
3 1 1.3350861714137560e-02 6.8114774504878302e+00 5.5447953386683206e+00 7.2580722690515636e+00 0 0 0
63 3 -1.2277076639947315e-01 6.4897117194665608e+00 2.8986172068480283e+00 9.9060820538034609e+00 0 0 0
78 3 -1.1723116541459006e-01 4.4127311301931043e+00 2.1084084419897180e+00 1.1535065556985785e+01 0 0 0
71 3 -1.7152044820786300e-01 2.8873531342706946e+00 2.7797489684906393e+00 9.3163860457066789e+00 0 0 0
131 2 2.7834313014819689e-01 4.3817210322557489e+00 4.5528948096328836e+00 9.5379421136925018e+00 0 0 0
31 1 9.4935956929876678e-03 -1.4954352092350376e+00 5.3645298943245292e+00 8.3142675828162034e+00 0 0 0
86 3 -1.6350292182104242e-01 -1.8311649351050598e+00 2.0802600512349903e-01 1.3629050043036029e+01 0 0 -1
60 3 -1.7749808073059342e-01 6.6696465438141646e+00 1.5936122406953454e-01 1.1815497920409818e+01 0 0 0
155 1 7.9312977244249613e-03 6.8120544939431360e+00 1.0199834144196412e-01 7.2127972853813258e+00 0 1 0
22 1 1.4407031044516649e-01 3.4096950234688004e+00 2.0679954049404619e+00 1.3690619069119307e+01 0 0 -1
140 2 2.5769600911651236e-01 6.0687404141669434e+00 1.3241144290919518e+00 1.3462978005934200e+01 0 0 -1
199 1 -1.3944547646247771e-01 -1.1362038789337188e+00 5.4530148366485571e+00 1.0742524104946057e+01 0 0 0
119 4 -1.2299043862974497e-02 -2.3446859456688562e-01 3.6495764565964248e+00 6.8964694682143248e+00 0 0 0
182 1 6.7658225708544725e-03 1.4169424463071361e+00 8.3763330460636727e+00 1.4012109232974952e+00 0 0 0
186 1 1.2980507892816731e-01 2.2797704925844604e+00 9.5291291369621636e+00 1.3666006980904655e+00 0 0 0
190 1 -1.5071175365705503e-01 2.7699144439458436e+00 1.0081261276817276e+01 2.5544135724485146e+00 0 0 0
194 1 1.7547903565045994e-01 2.3921031079123969e+00 9.5103250107764765e+00 3.8009524053675627e+00 0 0 0
198 1 -1.3144018623170101e-01 1.4977753357515831e+00 8.3987685531196199e+00 3.8549410858411388e+00 0 0 0
202 1 1.3849820878754834e-01 1.0150476921735834e+00 7.8483962991977574e+00 2.6673948664405547e+00 0 0 0
206 1 -6.3927688649410647e-02 6.6270841666167679e-01 7.9494021125481424e+00 1.4197887405827284e-01 0 0 0
235 3 -1.3761341595728172e-01 -2.8837295421316522e-01 9.2189872838153608e+00 5.8372696110592788e+00 0 0 0
142 2 2.6479443554012794e-01 2.9320229108693479e+00 5.5858386406215974e+00 2.8822394959582591e+00 0 0 0
242 3 -1.4112562564538583e-01 2.5388308202795757e+00 9.7663385818562389e+00 6.3230546934248055e+00 0 0 0
291 2 2.3831756420052311e-01 8.3394602256848422e+00 1.0597218595134976e+01 5.6327293542472532e+00 0 0 0
250 3 -1.0987475178029475e-01 -5.0622879855012592e-01 6.2591257947415606e+00 3.8940086364947737e+00 0 0 0
258 4 6.9512359773382104e-03 9.4664816115561496e+00 1.0405510702076073e+01 1.9702849156142326e+00 0 0 0
262 4 -8.0100924398892291e-03 5.3017951547661228e+00 7.1947421307917523e+00 2.2008872174147442e+00 0 0 0
274 4 -2.8801715867946998e-02 2.8217805545648877e+00 1.0198911718869871e+01 5.0989203211129208e+00 0 0 0
278 4 -8.3382269572114982e-03 1.9022473073729729e-01 6.5306916972236531e+00 2.7977581783283543e+00 0 0 0
222 3 -1.5735096896248177e-01 5.0460780570651043e+00 5.9652600638197084e+00 1.9688452086847921e+00 0 0 0
298 2 2.8845912568524801e-01 1.2259584803396069e+00 7.9975091793540463e+00 4.8377168239797355e+00 0 0 0
267 4 -8.1543222370399418e-04 6.7515502316853571e+00 7.3530236371224733e+00 5.3783512877798509e+00 0 0 0
154 1 7.1908069858682630e-03 9.1240531784682535e+00 8.3732699807014779e+00 4.1677219242496333e-01 0 0 0
158 1 1.3448308907124562e-01 8.6487938120238645e+00 9.1661211028768115e+00 1.5116534817235705e+00 0 0 0
162 1 -1.1355360785260224e-01 7.3973813587135364e+00 8.8118392837386903e+00 2.0442619468259688e+00 0 0 0
166 1 1.5711265427818599e-01 6.6193754339762592e+00 7.7216957118390352e+00 1.5125332287756803e+00 0 0 0
170 1 -1.2245433545215903e-01 7.2334953478137844e+00 6.9135079041535876e+00 5.1425051872838257e-01 0 0 0
175 1 1.3581278243177822e-01 6.1399576319422247e+00 6.6351336822606477e+00 6.6388959270812675e+00 0 0 0
282 2 2.3480529560852545e-01 6.8780657238569551e+00 9.4266263098711551e+00 2.8083989170176249e+00 0 0 0
179 1 -3.9098442124970913e-02 8.1921382670269995e+00 1.1015911501599872e+01 6.6154483416940151e+00 0 0 0
231 3 -1.2568742237480407e-01 7.4708728388631442e+00 6.7304833314035504e+00 4.5334798740490836e+00 0 0 0
218 3 -1.4344893238707335e-01 4.7091494226840656e+00 7.8204929202859752e+00 3.1719768839537057e+00 0 0 0
294 2 2.9175211722940220e-01 3.4302436656544328e+00 1.0911761593148093e+01 2.4580124801797307e+00 0 0 0
227 3 -1.5716251537215054e-01 6.3710113945660511e+00 8.6140075062272228e+00 5.1189294887372707e+00 0 0 0
254 3 -1.6304878692327615e-01 1.1369152465923738e-02 5.8040125934093432e+00 1.7344736606349882e+00 0 0 0
94 3 -1.6001482691396210e-01 3.4226797144178276e+00 5.8324891118411557e+00 5.0673816802761040e+00 0 0 0
214 3 -1.3095404512866216e-01 9.2822478837309497e+00 1.0944567563926054e+01 3.1520938926115289e+00 0 0 0
210 3 -1.6656061802004779e-01 1.0125927049661630e+01 1.0968553134904163e+01 1.0306564425404838e+00 0 0 0
58 3 -1.8302344471552118e-01 1.0213161644629823e+01 5.8090021306247959e+00 1.7225024677054026e+00 0 0 0
246 3 -1.6180800736237624e-01 3.7271744208235593e+00 1.1136471158690993e+01 4.9690967792530811e+00 0 0 0
102 3 -1.6531840940386305e-01 3.3511101143416933e-01 1.1054539855366549e+01 2.2157686745942939e+00 0 -1 0
238 3 -1.6856155817812890e-01 2.9083086152708901e+00 5.7681194020610480e+00 1.7191101722965371e-01 0 0 0
287 2 2.4377790046642306e-01 4.4026866149631791e+00 7.9897646117591492e+00 6.8189677819979027e+00 0 0 0
286 2 2.6154505839152942e-01 6.7181127902312507e+00 5.9804318863208010e+00 2.1530836987465235e-01 0 0 0
171 1 -1.1187852832153318e-01 4.9158733746689869e+00 7.0613244573777925e+00 7.1285394473597972e+00 0 0 0
187 1 1.3804049779409072e-01 -4.7081814568988589e-01 9.4447023070407337e+00 8.2867903808074814e+00 0 0 0
191 1 -1.2971955344725286e-01 1.0532858911262055e-01 9.0301089070007023e+00 9.5194948333957843e+00 0 0 0
195 1 1.7237826722593086e-01 -3.2979026063385319e-02 9.7887682538998035e+00 1.0706940452275044e+01 0 0 0
270 4 -1.3464043531568919e-02 -2.2543639852501798e+00 1.0142966260197174e+01 1.3730567035196929e+01 0 0 -1
203 1 1.3427963268281090e-01 -1.8024111493992248e+00 5.9588781753908151e+00 9.5912321727716829e+00 0 0 0
302 2 2.4793795803104607e-01 -4.0813465149326733e+00 7.0098028171254363e+00 1.3582140525668459e+01 0 0 0
234 3 -1.2298530438399083e-01 -2.0999175503602907e+00 9.3334349911585850e+00 1.2713070387329807e+01 0 0 0
183 1 -1.3480580351704630e-03 -1.2524425039534379e+00 1.0603399634220155e+01 8.3052270038890796e+00 0 0 0
243 3 -1.6074098714307544e-01 1.0092944188786444e+00 1.0218279224693790e+01 1.2861379846486365e+01 0 0 0
247 3 -1.5387578069009830e-01 8.5439915136228706e-01 8.0170106581812881e+00 1.2211169111299865e+01 0 0 0
251 3 -1.3983948146137931e-01 -2.9738796938163725e+00 7.5122263482065499e+00 1.1030823813483353e+01 0 0 0
255 3 -1.6423936253041480e-01 -3.0284913258585524e+00 7.9088522479385679e+00 8.7407850365314399e+00 0 0 0
259 4 8.0410558983729646e-04 6.7961292001636444e+00 9.1867860735672711e+00 8.8636424740217947e+00 0 0 0
275 4 -4.3259974176743099e-05 6.9707283465202874e-01 9.3227186018980994e+00 1.1981108937286187e+01 0 0 0
279 4 -5.4226204814747658e-03 -2.7183814077004502e+00 7.1633679386102083e+00 9.7555594565405492e+00 0 0 0
295 2 2.6218133810847499e-01 6.0410847381122412e-01 8.0421997981783182e+00 9.5648500938018834e+00 0 0 0
230 3 -1.2018011636818954e-01 4.6317864784420824e+00 6.8176590020738042e+00 1.1516620570461674e+01 0 0 0
271 4 -2.8439562879540532e-02 -2.3352025232358109e-01 8.6009765210205842e+00 7.0174876202960812e+00 0 0 0
219 3 -1.4441576113611607e-01 2.1139860757598838e+00 5.9566809343395395e+00 9.2739736659519139e+00 0 0 0
159 1 1.3413754194495167e-01 6.2381774846970295e+00 1.0512869843000209e+01 8.2998411286674898e+00 0 0 0
207 1 -4.5275085907843307e-02 -2.2313374155847714e+00 5.9531808015124978e+00 7.1401084416064693e+00 0 0 0
167 1 1.7086332099009921e-01 4.3308992321162805e+00 6.2978761471859119e+00 8.1848912823747266e+00 0 0 0
299 2 2.8374116457714360e-01 -1.3476728927796344e+00 5.8584256959679699e+00 1.1723539811442672e+01 0 0 0
163 1 -1.2189457501468513e-01 5.0935078513079350e+00 1.1062258678023431e+01 9.0012683062525820e+00 0 0 0
263 4 -7.2701194644572698e-04 2.9434843653848728e+00 6.8044753722388700e+00 8.7310546416994494e+00 0 0 0
283 2 2.7264339681755889e-01 4.8359812206870174e+00 1.0640435156903745e+01 9.9608335270238513e+00 0 0 0
215 3 -1.4288902954841964e-01 6.2383981494412399e+00 8.7703889714141425e+00 9.9908196032513992e+00 0 0 0
266 4 -8.3036691590210043e-03 3.8552898694615410e+00 6.3532834866457213e+00 1.2405163389905894e+01 0 0 0
223 3 -1.5495221688355837e-01 2.7688702181241505e+00 8.0788864563930165e+00 8.7961622886575483e+00 0 0 0
47 1 -1.4240292392311604e-01 -8.0585282619207854e-01 1.1001203580909479e+01 1.0640184120123211e+01 0 -1 0
239 3 -1.5918937290882762e-01 1.2364626954722713e-01 7.3735979096052837e+00 7.1236548585242829e+00 0 0 0
211 3 -1.5314927771899267e-01 7.7651972221628771e+00 8.5829452424035306e+00 8.2735478967570266e+00 0 0 0
174 1 1.3567196175621835e-01 3.3561575756156685e+00 7.2839028683362592e+00 1.3611594287463081e+01 0 0 -1
178 1 -4.2521883951091258e-02 5.4615345784574156e+00 8.6476231458927373e+00 1.3600443195015076e+01 0 0 0
290 2 2.1442656366253354e-01 5.5274039219990954e+00 9.2255865950855895e+00 1.2687705291121766e+01 0 0 0
303 2 2.5353570250225943e-01 -2.2348717930687036e+00 7.0298204354936624e+00 6.9132532076613566e+00 0 0 0
24 1 1.2162850983145865e-01 1.3570458894241060e+01 3.7277652770944414e+00 9.8918074854908070e-02 0 0 1
5 1 1.3914102385590588e-01 1.1213395000571410e+01 8.0472724282855101e-01 5.7408880705229404e+00 0 0 0
197 1 -1.3041827238141993e-01 1.8473286069241315e+01 1.0985097812596707e-01 3.0075353107267451e+00 0 1 0
13 1 1.7283275995574809e-01 1.2875160453890059e+01 4.7996107330851263e+00 5.2087316096641079e+00 0 0 0
17 1 -1.1881087407702678e-01 1.2355470079281316e+01 4.1155201213165631e+00 6.3297886650294171e+00 0 0 0
125 4 3.7413972756181225e-03 1.9792607892607982e+01 3.8314384983826288e+00 3.7758070374204347e+00 0 0 0
65 3 -1.5036712947298864e-01 1.5121389160787066e+01 4.9829628898301168e+00 4.1493419461259045e+00 0 0 0
117 4 -2.8172670419954578e-02 1.7196064275775313e+01 2.0768392879531876e+00 6.6413862436815210e+00 0 0 0
61 3 -1.2308569749478299e-01 1.0809273741496686e+01 2.5226209794106560e+00 4.0850632510091458e+00 0 0 0
85 3 -1.6137869003688254e-01 1.6596173548046423e+01 3.2483998401081635e+00 6.6279770720028131e+00 0 0 0
69 3 -1.6211349992745419e-01 1.4316483787038429e+01 2.8679518868321781e+00 4.4855442842711772e+00 0 0 0
9 1 -1.3074969844225212e-01 1.2401631549383206e+01 3.6248247848246284e-01 5.0973483639088109e+00 0 0 0
80 3 -1.2136120739760561e-01 1.2414408244527392e+01 3.7798480870141100e+00 2.3049497332865676e+00 0 0 0
105 4 -8.7639699558985304e-03 1.0400914317139788e+01 1.9934211504476644e+00 5.2185528134499632e+00 0 0 0
109 4 3.6355423208319151e-03 1.4153445124920722e+01 4.1606747163691100e+00 4.5151554719853308e+00 0 0 0
116 4 -2.0040355754916923e-02 1.3085160543744017e+01 4.4594714321443236e+00 1.4538603237969565e+00 0 0 0
129 2 2.8405512757711698e-01 1.2820832866494431e+01 8.9357547891832556e-01 4.2332198666407352e+00 0 0 0
152 2 2.4669130813086726e-01 2.1677578157490025e+01 4.0323646146544609e+00 3.5638857460123857e-01 0 0 0
29 1 5.8620817499049974e-03 1.8561052170019028e+01 2.8191467769292960e-01 5.3975919601693825e+00 0 0 0
141 2 2.6074912497584113e-01 1.6683115099591326e+01 2.8811346832734976e+00 4.1932142387762292e+00 0 0 0
33 1 1.3809754803072044e-01 1.7700292673901394e+01 1.4462902229581946e+00 5.3613784374191082e+00 0 0 0
37 1 -1.2506428679034834e-01 1.7292724764729162e+01 1.9577791424971711e+00 4.1365222417858645e+00 0 0 0
41 1 1.5574606725144832e-01 1.7684017799240962e+01 1.2568437218671011e+00 2.9834398674586708e+00 0 0 0
121 4 3.1035256692961075e-03 1.7254091420272236e+01 1.9749573648856620e+00 1.5939503050368518e+00 0 0 0
49 1 1.3615547301261535e-01 1.8863927091248083e+01 5.0961048964131059e+00 3.9285863191137240e+00 0 0 0
149 2 2.2703718115742552e-01 1.9254758140895767e+01 4.0931544733063738e+00 6.6148594449325175e+00 0 0 0
84 3 -1.3924471002607569e-01 2.0413070700633931e+01 1.2047548927515181e+00 1.0936978108224675e+00 0 0 0
53 1 -4.8376182763242251e-02 1.9296848129360342e+01 5.1351935135474474e+00 6.3529637885031054e+00 0 0 0
89 3 -1.4492596391523513e-01 1.7151071776065425e+01 1.2918686591231159e+00 5.0291711308277665e-01 0 0 0
93 3 -1.7423814775149760e-01 1.6893419100350471e+01 3.2111750510659807e+00 1.6437292442546174e+00 0 0 0
97 3 -1.3408621635364737e-01 2.0252553978161927e+01 3.6033112624663475e+00 2.6319164884537698e+00 0 0 0
101 3 -1.5647560242362671e-01 1.9966818329962706e+01 2.9803252235704702e+00 4.7704681555938286e+00 0 0 0
145 2 2.9710717883828969e-01 1.8342396226420870e+01 5.0375210273389071e+00 1.8399466526232027e+00 0 0 0
228 3 -1.4751575154425844e-01 1.3620322518195461e+01 4.8592688087461144e-01 1.7071338271502052e+00 0 1 0
57 3 -1.6234942986621856e-01 9.5573034514145281e+00 2.5713316687631611e+00 6.0309294315367872e+00 0 0 0
133 2 2.5213413889296182e-01 1.2870471176495373e+01 3.1816472789094496e+00 6.6131200188746284e+00 0 0 0
136 2 2.5352888813788832e-01 1.5309707786810065e+01 4.9333975554866214e+00 8.8529787370636895e-02 0 0 1
138 2 2.4757969448062320e-01 1.1088418315051889e+01 4.2920333787949172e+00 3.0106028235732774e-01 0 0 1
1 1 1.4746669082761749e-02 1.0642281893540970e+01 6.8544269556010395e-02 6.8142401227780320e+00 0 0 0
88 3 -1.6483993868322799e-01 1.9581081903169775e+01 5.2703115059623826e+00 2.1488086883709036e-02 0 0 1
64 3 -1.5561028561723289e-01 8.1514538556249523e+00 3.6877081373514281e-01 1.0190861669963537e+01 0 0 0
8 1 1.2742104870686943e-01 8.4817612503248814e+00 1.9386649635257653e+00 1.2088673448348180e+01 0 0 0
12 1 -1.3287822675261260e-01 9.7374245849040690e+00 2.3614292305863063e+00 1.1668887530828931e+01 0 0 0
16 1 1.7038148918615603e-01 1.0385610834546672e+01 3.4830285077629948e+00 1.2258282947730743e+01 0 0 0
20 1 -1.2612831428267482e-01 9.7652115043624903e+00 4.1264217871858486e+00 1.3381826333553166e+01 0 0 0
25 1 -4.9580879905770883e-02 9.2720365942599763e+00 3.2092695107275732e-01 7.3585562419532167e+00 0 0 0
148 2 2.8255405335750933e-01 1.6024837696238595e+01 3.2479443163306607e+00 8.9410550895656549e+00 0 0 0
137 2 2.4211278788929905e-01 9.1875734209445099e+00 7.8297873360776893e-01 8.2956507179333450e+00 0 0 0
104 3 -1.6303797587445271e-01 1.7571928078007303e+01 5.3161697109543047e+00 1.2072204347282128e+01 0 0 0
68 3 -1.3950884940126265e-01 1.2726252049625897e+01 3.2949351425978031e+00 1.1414834763137264e+01 0 0 0
128 4 -1.1637074791112794e-02 1.7184554793649326e+01 4.6282393562250501e+00 1.1015460865140042e+01 0 0 0
73 3 -1.5872839596893912e-01 1.1181520064577594e+01 2.5784441672869147e+00 8.5109267793241798e+00 0 0 0
77 3 -1.2443355673803388e-01 1.0091806544554002e+01 4.3646337275773526e+00 9.2688186113011550e+00 0 0 0
108 4 -3.6175483988508603e-03 7.8242079841413910e+00 6.6722303677879913e-01 1.1399732511932291e+01 0 0 0
112 4 -1.1575150065119208e-03 1.1761455742350400e+01 4.0719181606614256e+00 1.1776879794815027e+01 0 0 0
113 4 2.4550599269124868e-04 1.0795250821397342e+01 3.7987066995239132e+00 8.3505753502250588e+00 0 0 0
132 2 2.4842899099174726e-01 1.0210124897784075e+01 1.8788605874908142e+00 1.0866322237260500e+01 0 0 0
56 1 -5.7548729418621672e-02 1.6817150692583052e+01 3.1182828489110217e+00 1.3647345422902928e+01 0 0 0
21 1 1.3924700036304882e-01 1.1320578571569595e+01 4.6135876874421253e+00 7.0983485573687055e+00 0 0 0
32 1 1.0844185182340992e-02 1.6170921360774656e+01 2.7042197293152741e+00 1.2379322306625614e+01 0 0 0
36 1 1.3503387619781887e-01 1.5341369407103103e+01 1.5518718147435990e+00 1.2428854940060008e+01 0 0 0
40 1 -1.3597771280707957e-01 1.4740075360614529e+01 1.0465774988630860e+00 1.1294731238516940e+01 0 0 0
44 1 1.6880045598426557e-01 1.5001353192585187e+01 1.6411551197426020e+00 1.0010620303523039e+01 0 0 0
48 1 -1.2558996845974929e-01 1.5808101597792366e+01 2.7755379813359049e+00 9.9372975636831917e+00 0 0 0
52 1 1.3281216321759565e-01 1.6322309187162340e+01 3.3644510045114564e+00 1.1112513564301416e+01 0 0 0
28 1 -6.5294980841562170e-02 6.4211323147196655e+00 2.3017586164015249e+00 1.3490316072051021e+01 0 0 -1
81 3 -1.2843492532541184e-01 1.7151825848192740e+01 1.3120341070283221e+00 7.7174295144219229e+00 0 0 0
124 4 -1.4764597579941991e-02 1.4185236897374100e+01 1.0228517938755142e+00 8.8729039133495515e+00 0 0 0
92 3 -1.4190415481562765e-01 1.4204698596670227e+01 1.5016257934556176e+00 7.6321699049346643e+00 0 0 0
248 3 -1.5638430087805932e-01 1.4020886714186110e+01 5.0947360067557721e+00 8.6627100663371710e+00 0 0 0
100 3 -1.3133130869891860e-01 1.7310522047850426e+01 5.1918304994019406e+00 9.8392866690657019e+00 0 0 0
4 1 1.5734719075794559e-02 7.8639113856106908e+00 2.6785305061792619e+00 1.3189765412864087e+01 0 0 0
72 3 -1.5426752144049144e-01 1.1969567014622319e+01 5.3270782247615420e+00 1.2064966387155430e+01 0 0 0
120 4 -2.0660475242344017e-02 1.5113088125709915e+01 6.8136976964891294e-01 1.3734925518848485e+01 0 0 0
144 2 2.8606673499984137e-01 1.4148562456194458e+01 1.2935293435874679e-01 1.1341925553730979e+01 0 0 0
169 1 -1.2507437749398062e-01 1.2589350193664469e+01 9.6660641865322336e+00 6.6820816309750768e+00 0 0 0
157 1 1.3101766309728599e-01 1.1145831453245778e+01 6.5322364284476038e+00 5.4897532104231015e+00 0 0 0
237 3 -1.8127406245080599e-01 1.6806111047670463e+01 8.6400093722835205e+00 6.6759262988075010e+00 0 0 0
165 1 1.6995487109137958e-01 1.3103500332034736e+01 1.0384335954455226e+01 5.5271785715298618e+00 0 0 0
176 1 1.2882442652127868e-01 1.3671797000328342e+01 9.6038663738548795e+00 2.6168928776903760e-01 0 0 1
205 1 -4.8207815225547582e-02 1.9224825955952788e+01 1.0874213403116096e+01 6.6574893131046124e+00 0 0 0
277 4 1.4930286360253821e-03 1.9651416561184572e+01 9.2489608770003588e+00 4.1784091141788453e+00 0 0 0
209 3 -1.6275120538245183e-01 9.5554489015501503e+00 8.3795120288952756e+00 5.8743003066822324e+00 0 0 0
213 3 -1.3485169792328811e-01 1.0943788927101483e+01 8.6431449393778390e+00 4.0928003727842803e+00 0 0 0
161 1 -1.3273743374911376e-01 1.2280736566108812e+01 6.0290419636079431e+00 4.8556228573471660e+00 0 0 0
221 3 -1.7679581574343128e-01 1.4393585749017504e+01 8.4899193891902520e+00 4.5825079042836760e+00 0 0 0
253 3 -1.6035745761620385e-01 1.9781445944064224e+01 8.6485767448586675e+00 5.3040041753399327e+00 0 0 0
232 3 -1.2799358810754613e-01 1.2364918612601592e+01 9.7758010551044840e+00 2.2401917199098085e+00 0 0 0
257 4 -1.9913799867289986e-04 1.0451479233722360e+01 7.9379519522033899e+00 5.0504514859089920e+00 0 0 0
261 4 -3.4555361126691019e-03 1.4320242842210837e+01 9.7749018361670981e+00 4.7062260598906827e+00 0 0 0
268 4 -1.5055288888581174e-02 1.3124484360209099e+01 1.0442001174009329e+01 1.4325865653416883e+00 0 0 0
281 2 2.5703834979854812e-01 1.2682557129077104e+01 6.5903281288690403e+00 4.0666020770935871e+00 0 0 0
76 3 -1.6586999266455632e-01 1.3327490136711706e+01 5.7131554828911719e+00 1.6697801246823667e+00 0 0 0
269 4 -2.1171000778044357e-02 1.7283160130632815e+01 7.4411692063792323e+00 6.6447469455156956e+00 0 0 0
293 2 2.7290480959393421e-01 1.6390117340052175e+01 8.1427871754464327e+00 4.1453778817030393e+00 0 0 0
185 1 1.4251888962968337e-01 1.7646301360095702e+01 6.8060051363141278e+00 5.2762360485359965e+00 0 0 0
189 1 -1.3737458776787198e-01 1.7106287939262291e+01 7.3151885688533937e+00 4.0829606247112133e+00 0 0 0
193 1 1.6541485059377861e-01 1.7474745511598268e+01 6.7395321126450396e+00 2.8386528663930264e+00 0 0 0
249 3 -1.1843584216878646e-01 2.0295681305936338e+01 8.9442689135060611e+00 3.0850044490980602e+00 0 0 0
201 1 1.3485899621277553e-01 1.8900452250802715e+01 1.0643913043619367e+01 4.2326691162612606e+00 0 0 0
273 4 -1.6714023259828865e-02 1.6938996933016462e+01 7.3387870122823786e+00 1.5363988784299578e+00 0 0 0
236 3 -1.2355410366085848e-01 2.0177433851291724e+01 7.3270773757376118e+00 8.0727851108673909e-01 0 0 0
297 2 2.7365008989235995e-01 1.8678094529668360e+01 1.0829042176024551e+01 2.0264646843938703e+00 0 0 0
241 3 -1.3242507487597038e-01 1.7150677421619047e+01 6.6859112973428427e+00 4.3318022894633185e-01 0 0 0
245 3 -1.5323252835912843e-01 1.6103166872797594e+01 8.3462901340103492e+00 1.5133752076252216e+00 0 0 0
217 3 -1.4629220392561476e-01 1.5067188206352801e+01 1.0618680859452411e+01 4.0492352246916967e+00 0 0 0
181 1 5.0965121162264149e-03 1.8587182516354687e+01 5.7170737089830137e+00 5.1565413815669334e+00 0 0 0
292 2 2.2874358541976608e-01 1.1552525108380831e+01 7.6259286510297697e+00 1.3384679985379644e+00 0 0 0
180 1 -5.1746461189359383e-02 1.1625165190185328e+01 8.1444186576450406e+00 4.0762536869394300e-01 0 0 0
153 1 8.8208209649980433e-03 1.0600258034032093e+01 5.7454307198841628e+00 6.5451775261429477e+00 0 0 0
288 2 2.4927582339981319e-01 1.5463637315305929e+01 1.0699099426447392e+01 1.0486275946296693e-01 0 0 1
45 1 -1.3517946310057191e-01 1.8301477956473473e+01 5.5717679472161583e+00 2.7664633054482839e+00 0 0 0
304 2 2.2486586845500126e-01 2.1617085806614373e+01 9.5310367098813202e+00 5.5239430577664519e-02 0 0 0
301 2 2.3470421113143294e-01 1.8703111761640312e+01 1.0141321746893691e+01 7.2037351056071399e+00 0 0 0
160 1 1.3364542254657649e-01 8.4346293600260474e+00 7.6851716017603682e+00 1.2467023336907147e+01 0 0 0
164 1 -1.2487089796822108e-01 9.6666468779246557e+00 8.0468240032658169e+00 1.1943669747243241e+01 0 0 0
168 1 1.6701349494391496e-01 1.0439803295885056e+01 9.1127840899256274e+00 1.2381177087258184e+01 0 0 0
172 1 -1.3020759405372742e-01 9.8932371684989029e+00 9.8913871779883049e+00 1.3447195727693076e+01 0 0 0
212 3 -1.5125403187103914e-01 6.9624281408518947e+00 5.6571610609985141e+00 1.2453261174476992e+01 0 0 0
300 2 2.7611769610997067e-01 1.6017471570020845e+01 8.6259558338967963e+00 8.7191276546742404e+00 0 0 0
173 1 1.3743470947361397e-01 1.1427208127509154e+01 1.0070249006720299e+01 7.3012666328220623e+00 0 0 0
252 3 -1.3985099857863706e-01 1.7703283623898365e+01 1.0471689159899555e+01 9.4960946630226921e+00 0 0 0
220 3 -1.3314684995454354e-01 1.2640391702818302e+01 8.7278098710881640e+00 1.1171691575716721e+01 0 0 0
224 3 -1.6236151179485753e-01 1.2195126308387401e+01 1.0782788030472828e+01 1.1930418819765878e+01 0 0 0
225 3 -1.6039635575996958e-01 1.1353998720161787e+01 8.0440397714963083e+00 8.6550334837763891e+00 0 0 0
229 3 -1.3323753060864349e-01 9.9301103297282758e+00 9.5821150336327268e+00 9.3285752178239303e+00 0 0 0
260 4 -7.2882218470804692e-03 7.7661613649657051e+00 6.4638379478392016e+00 1.1828846332357456e+01 0 0 0
264 4 -4.4812040282032721e-03 1.1811851783049329e+01 9.5492369552617848e+00 1.1798537690204709e+01 0 0 0
265 4 -1.1490593454960719e-02 1.0900624858965966e+01 9.2549569808961660e+00 8.5265278740098260e+00 0 0 0
284 2 2.6169361381127387e-01 1.0136530252720341e+01 7.4934987247178269e+00 1.1092226812526848e+01 0 0 0
156 1 3.7379196017244612e-03 7.9392347778451446e+00 8.4560411860777513e+00 1.3578276661002105e+01 0 0 0
296 2 2.6498019774798365e-01 1.4043644232829966e+01 5.7233288173678014e+00 1.1072881863137523e+01 0 0 0
184 1 6.4957634629475743e-03 1.6305180909519947e+01 8.0991512260634924e+00 1.2086442524820042e+01 0 0 0
188 1 1.4843357901885965e-01 1.5406855890108130e+01 7.0068766343707436e+00 1.2240334144353453e+01 0 0 0
192 1 -1.2516789083526150e-01 1.4818668347533144e+01 6.5268485695570471e+00 1.1067589711981087e+01 0 0 0
196 1 1.6508881872184145e-01 1.5069466191418311e+01 7.0262259913129794e+00 9.7805102402414406e+00 0 0 0
200 1 -1.3083913251494941e-01 1.5877770724233319e+01 8.1909563622810566e+00 9.6849283497158432e+00 0 0 0
204 1 1.4328415910864176e-01 1.6517454767413131e+01 8.7153370164695936e+00 1.0835341568135473e+01 0 0 0
208 1 -3.8003030991159703e-02 1.6991575004843000e+01 8.6944401555232247e+00 1.3313277441939094e+01 0 0 0
233 3 -1.2326769386570821e-01 1.7156065036742135e+01 6.6639053499866350e+00 7.7079787843959817e+00 0 0 0
276 4 -5.2986617880064930e-03 1.4413639513006760e+01 6.3307747767611460e+00 8.5405715830585791e+00 0 0 0
244 3 -1.5332334147379001e-01 1.4369625482518934e+01 6.9679841418869541e+00 7.4021901341817147e+00 0 0 0
280 4 -1.0402553151618275e-03 1.7407378472673361e+01 9.9643766158767004e+00 1.0667658376032438e+01 0 0 0
256 3 -1.5333876696855078e-01 1.7730538655474327e+01 1.0586091087689283e+01 1.1752671734713664e+01 0 0 0
216 3 -1.2878785467194953e-01 8.1639102845009042e+00 6.0881555837219636e+00 1.0601035151948000e+01 0 0 0
272 4 -1.1454730376138519e-02 1.5121809213972451e+01 6.4239863410326965e+00 1.3638484698105245e+01 0 0 0
240 3 -1.7440955102646941e-01 1.4541899399377094e+01 1.0692525508455294e+01 1.3580894402760997e+01 0 0 0
289 2 2.5518604784481402e-01 9.0866514971259225e+00 6.9566208908866489e+00 7.6825247899372453e+00 0 0 0
177 1 -5.5916134966486265e-02 9.2532862740598993e+00 6.0521578915699488e+00 7.1173031955497548e+00 0 0 0
96 3 -1.5202035991426149e-01 1.3493699232041106e+01 1.1085823288281921e+01 9.0487676573379119e+00 0 -1 0
285 2 2.4589286761119938e-01 1.3000363019268956e+01 8.7257850399635615e+00 7.0132894052156329e+00 0 0 0
Velocities
30 -2.4174866102998649e-05 -5.8400589693352791e-03 3.6955846688862632e-03
34 -1.3368307218153295e-03 7.0584278791678914e-04 -3.0271317908999555e-03
38 8.6171069789500506e-03 -1.0386254798008827e-02 -2.3314367537503582e-03
42 4.8899848626993876e-03 3.9658933682618922e-03 -1.3834629869053450e-03
46 -5.1759547107459820e-03 -1.6591730900438351e-03 1.3562788235339125e-03
50 3.2654372821856043e-04 -2.6116773352929845e-03 3.0838446698027021e-03
2 5.1894432194761312e-04 -3.6417701641676351e-03 -6.0338161946400983e-03
83 6.4151200155796147e-03 1.1229419196344197e-03 5.8686926636185061e-04
151 -2.8796970286988421e-02 -1.9548040511881571e-02 -6.7147938124706083e-03
90 6.2870412345627461e-04 -3.1855217036112515e-03 -2.4627865498249857e-03
62 -4.4936223386147171e-03 2.5073159143134635e-03 5.0810575404568363e-03
98 -2.6875273259438230e-03 -2.4115478804683705e-03 -4.4288138402231482e-03
54 -5.1467385322100587e-03 2.3510009029855091e-03 -5.7599904123623999e-03
87 -2.6684214311491952e-03 -2.8674576614179329e-03 -2.4648328610147843e-03
122 -1.1105639887986528e-04 3.7635425105536613e-03 6.5468310425097244e-03
126 1.7828516731701188e-03 2.8588181283881898e-03 -2.1514694876793162e-03
106 -7.7358290604802099e-03 -4.3326415268508372e-03 2.1962581331009981e-03
146 -1.9223843131665190e-02 -1.5532877349572517e-02 -1.1613923723158268e-02
110 -8.2566212285788074e-03 4.2234253378360346e-03 3.6785470951886073e-03
150 -1.2647024341794211e-02 1.8221509465505117e-02 -5.0128424122487351e-03
6 -6.8768919890731146e-03 9.6678308905083585e-03 -1.3917811305885867e-03
10 3.3168337478153122e-03 3.3619712471675725e-03 1.0650876474592522e-03
14 -1.6475678689132532e-03 -6.7698081292684271e-03 -7.9364870861734881e-04
18 1.0422096740317807e-04 -4.8696249119766313e-04 -4.3921928339088817e-03
27 -6.9682265925353234e-04 5.5558986359258728e-03 -2.7945120615473170e-03
130 7.3436853366040510e-03 -1.5615310112063635e-02 -9.7973567669173128e-03
115 -4.9493176729646319e-03 2.2805811912743512e-03 -4.9676425031934309e-03
70 4.0695789639428725e-03 2.2086802832277375e-03 3.2576668769327293e-03
66 -8.5702414719068636e-04 1.8464043867736203e-03 -9.9555929207937981e-04
79 1.1070783496162258e-03 6.1862400561743238e-03 -4.4051680685139050e-04
75 1.9178089415144753e-03 3.1463732884630131e-04 -1.7217916675468907e-03
139 2.8517079207620144e-02 -1.9905991206418231e-02 3.0264652754780935e-02
23 4.3797306852474890e-03 7.4086737657933421e-03 -2.8926828277232282e-03
118 -4.2147982046991687e-03 -8.2984567965974573e-03 -1.7977706716132648e-03
26 3.4699369555654721e-03 -5.3268668174097636e-03 1.8533436395768656e-03
135 5.0870099813551360e-03 2.0031409187880080e-02 2.2279936704878493e-02
134 -3.4718997783717287e-02 -2.9046322574695655e-02 -6.7290107414706181e-03
35 -1.2742938214048215e-03 -5.4677769759628484e-03 4.7166914319580477e-03
39 -3.5171031039312260e-05 -1.1036949335105606e-03 -1.7799449964092009e-03
43 4.8250906268874363e-04 -3.8354099752335269e-03 -5.0163266920790258e-03
55 3.9772466070045580e-03 -3.5583777510197752e-03 -2.7896235341660572e-04
51 1.5321458062959898e-03 -2.5209486954065438e-03 -2.9415253251844297e-03
67 5.2768727282876873e-03 3.3637779239677082e-04 -5.3077524292974064e-03
82 -4.6010418478961692e-03 2.1304975260813871e-03 1.1013307930023183e-03
111 -4.0141402813814028e-03 1.2793755351396241e-02 -1.1323015089853242e-03
91 -9.6347063458754171e-04 -3.5925228782824701e-03 3.7468788450416997e-03
95 5.2641923860850424e-03 -1.1996066942874387e-03 -3.8583046662080682e-03
99 2.3310479302716311e-03 2.2048601264337848e-03 1.9775025948164386e-03
103 6.3269083153676174e-03 6.1569760098524693e-03 -1.3850043247383714e-03
11 -8.2028729433133388e-04 8.2443337191164673e-03 6.9902706057217599e-03
123 2.8650904196624318e-03 -6.0257734224878484e-03 -1.2614564384462788e-02
127 -1.3550684527947047e-04 -2.6284774608511655e-03 2.8069949466735810e-04
143 -1.8419932991845429e-03 -2.6883069832929719e-03 -8.1392982989522298e-04
226 3.4261189824281555e-03 -3.2522996094829560e-03 2.8225670673923528e-03
74 -1.5628901433170131e-03 2.5608703622864438e-04 -1.3280001953940086e-04
107 1.5589530299060254e-03 -2.4852894833352420e-03 8.3108677637003976e-03
7 4.2438551230323320e-04 -5.7307909930981258e-03 -2.7893810245450206e-03
59 2.2690384886148115e-03 -9.0468087925548706e-03 -5.1781998228276976e-04
15 -3.9577231821540616e-03 -2.1847885018534147e-03 -8.4371976597557574e-03
19 7.1229587205270907e-03 -2.1206916186471624e-04 -5.8627889621317396e-03
147 1.6390240343441092e-02 -8.7176501390591708e-03 -2.8178922194092536e-03
114 4.7515421240825620e-03 6.7642492576560622e-03 1.7473395470475074e-03
3 4.2551631139686498e-03 1.9437904991404275e-03 1.7935525179072753e-03
63 3.8697842475399176e-03 -8.4765436511819187e-03 -2.0491881784184133e-03
78 -5.3846747219525202e-03 -6.8961963835257167e-03 -3.7349089410657235e-03
71 2.9873740104239097e-03 8.1549198198451985e-04 -1.2934279359320738e-03
131 -5.0390794739495932e-03 -4.6131525347064785e-03 -4.9175135351588175e-03
31 -5.2605889050595231e-03 5.7430101599048719e-04 -7.0682843661158861e-03
86 3.1844979209605865e-03 4.0950803059798075e-03 -3.0587604667680749e-03
60 8.1133523195327998e-04 -7.6704816714192525e-03 -2.2818047599636416e-03
155 -8.0144518574578917e-03 -5.1005256982490348e-03 6.2037281719425292e-03
22 4.1797836257974454e-03 1.6568806164942351e-03 8.7670139729851895e-05
140 -2.3324839515429668e-02 -1.2437810613019238e-02 3.6287188915814311e-02
199 -1.0790097311952464e-03 -2.9869062426129372e-03 -4.0112108465879112e-03
119 -1.1755627465417481e-03 -8.2100780073601515e-03 2.6479374681998786e-03
182 1.8734201874040408e-03 -2.6689908635035755e-03 1.0860930707006422e-02
186 -2.5675279605953606e-03 -2.4756375850000737e-03 1.0395482737196491e-03
190 2.2910971675434619e-03 -1.3145289380748972e-03 -5.2985364488092098e-03
194 6.8186760409634419e-03 8.3840465649670081e-04 5.3074104269872037e-03
198 -5.0859955599489521e-03 4.2087962673814959e-04 4.6023185972026296e-03
202 2.1012410907117738e-03 -6.7507745063792000e-03 -1.1128219310673163e-03
206 -6.5209450456218789e-03 -1.0339535444774403e-03 -1.4501279837400901e-03
235 3.3388911239315496e-03 2.1065220517720367e-03 7.9991895755700954e-03
142 9.8475835271551841e-03 -9.5028518218655076e-03 -1.8276565508549877e-03
242 1.0217457780939720e-03 -1.5197673217320828e-03 4.7406923875269085e-03
291 -3.0930387698493111e-02 7.8445304030849618e-03 1.6310030568432197e-02
250 -6.8489632875769993e-04 4.6565160745170404e-03 3.3886136702525487e-03
258 -1.4004182588445049e-03 2.2806177132263595e-03 -1.0347843260651223e-03
262 -1.2881324206774447e-03 6.9434393825884946e-04 -5.8956964621466827e-03
274 -1.8944352259530324e-03 3.2192357927930009e-04 -1.7082790058223906e-03
278 1.5288401707297728e-03 3.6217814543088645e-03 -2.0316883110052923e-04
222 7.7331045584829068e-03 1.2362023936040929e-03 8.2907874575483369e-03
298 2.5328078728893279e-03 -6.2165377525673126e-03 1.5784008908580539e-02
267 7.0018357704332811e-03 -4.5522884959513024e-03 7.6649882914402567e-03
154 -3.6287490712629171e-03 -1.2740874221828388e-02 3.8314063886802823e-03
158 -7.6208895283387092e-03 1.1878194435768373e-02 -3.5971056387286322e-03
162 -6.4746300934775817e-04 5.5506749212761494e-04 6.0756597279294430e-03
166 1.1989320501678076e-03 -5.0577544194060501e-03 6.3998146927604317e-03
170 -3.8035317060563859e-03 7.5841699707098983e-04 6.5780084783308920e-03
175 -3.8974609142492406e-04 6.1926230615375706e-04 -2.3335031290293434e-04
282 9.3600641903433621e-03 3.6118288335866035e-02 -6.6071709116293925e-03
179 3.4096307972593799e-03 -3.4658785452165147e-03 -3.1253185076433169e-03
231 -2.9608872194030354e-03 1.7079627030041283e-04 3.4641088880785907e-03
218 5.3586543913679188e-04 2.9233881729537371e-03 3.5123582767227724e-03
294 5.5955227959160669e-03 -1.0367898439140481e-02 2.0848408079255427e-02
227 5.9077764223686036e-03 -2.1490305761074865e-03 -1.1498913753977054e-03
254 1.0207662040460023e-03 -2.8373729468057305e-03 -4.2228149347897145e-03
94 7.0053050017033342e-04 -3.4205728973730012e-03 5.5901075709640308e-03
214 -2.1438652636591813e-03 -7.5896096294795689e-03 -8.6309429242904783e-03
210 -1.0137192662770177e-03 1.7866741192566335e-03 -2.8780339165619612e-03
58 3.6776824844257320e-03 5.0588406301632300e-03 -7.3087049943876834e-03
246 -4.7447451326206687e-03 2.9334768545539193e-03 -3.7175562945460888e-03
102 -7.7688822748834601e-03 -3.3809459073935026e-03 -1.9803049579750244e-03
238 -2.2703027353564169e-03 2.3821770671317356e-03 -2.3098026900021324e-03
287 6.1455392512188714e-03 -6.1103362577766343e-03 2.6693189746480363e-03
286 -1.3231867204732992e-02 9.6718744859041784e-03 5.2001428560543668e-03
171 -3.2795522829800667e-03 2.3198896576538167e-03 -8.7584561749707406e-03
187 -7.1723088512307930e-03 -1.4024816229882265e-03 2.4036881855671209e-03
191 -1.1265816553933752e-03 -1.6943105339333627e-03 2.1934152683983758e-03
195 -3.0355768625237203e-03 -1.4270597862987302e-03 -4.4764275782047036e-03
270 4.9452386193567094e-03 3.4248768308214380e-03 -2.7114518030588778e-03
203 -3.6586732242194263e-03 -6.3045607688845878e-03 1.2589365192845096e-02
302 -3.0967008143875647e-03 -1.4504530673619854e-02 -2.5558490469790678e-02
234 5.8312510510702895e-03 -2.7109492663016086e-03 2.7864231473259892e-03
183 1.9611113402573451e-03 -4.6399229602014196e-03 -4.5484397980495861e-03
243 -1.7989222282919558e-03 -8.3773945133634839e-04 -8.9721100811624658e-03
247 5.3124635291446163e-04 -6.0116601385645152e-03 5.1900240478296765e-03
251 -6.8565419117596312e-03 -1.1124755685907217e-03 5.6599142152711874e-03
255 -1.4205420643149062e-03 4.8031833242560776e-03 -3.4229862352147741e-03
259 -1.1678626131811894e-03 -7.6285944329823087e-03 4.4278412712106946e-03
275 4.1647945349179862e-04 -6.5900329798053903e-04 -5.8751124096330177e-03
279 1.3825195837119980e-03 -1.3491169538852154e-03 2.8955034735846019e-03
295 -2.7825193434958737e-02 3.7188963726747116e-03 1.4241395330423495e-02
230 3.9381149513646446e-03 -8.3657637033183324e-04 2.4205795188033744e-03
271 -5.5957344548436894e-03 4.3979467178565422e-03 2.6593393575132305e-03
219 1.8686514417658123e-03 -3.5626313146927386e-03 5.5554970146296989e-03
159 1.0526790106853650e-02 3.0132509030908776e-03 -5.9349539991849767e-03
207 7.6888508831103432e-03 1.9814068662144511e-03 5.8024603926956310e-03
167 7.3873940493462574e-03 5.0561160614476441e-03 -9.5138068359663409e-03
299 1.1389090343270231e-02 1.2335222052153004e-02 5.1854247830508448e-03
163 3.7514806422877323e-03 6.0021848224389458e-04 7.3984182635305855e-04
263 -1.3311416384275030e-03 -8.3947102292534256e-04 -1.6587363346947726e-03
283 -1.0620025504881845e-02 2.7452983956948855e-03 -8.6416056884697917e-03
215 -1.3673571899212099e-03 -4.9165406371302806e-06 -5.4353669866533106e-04
266 -1.5207241133139229e-03 -3.0455538066024301e-03 -4.9898142041270308e-03
223 7.5910823419502059e-03 2.1726507130216993e-03 2.7886767580300427e-03
47 1.7101589232864246e-03 6.5504844423619577e-04 -3.8918976101025146e-03
239 5.3972599702514796e-03 -3.2074197692656811e-03 -2.8617030304009731e-03
211 3.8857543898680621e-04 2.1756300867946709e-03 3.0390581737593124e-03
174 3.0622057715666486e-04 -3.5442317884825654e-03 6.8549731131780913e-03
178 1.0100086235516800e-02 -2.1135991151899139e-03 -3.9716759635449574e-03
290 4.6165685682473881e-03 1.1431875282555784e-02 -9.5929415658242510e-03
303 3.4375944882452270e-02 1.2663150202869896e-02 5.0191122447531662e-02
24 2.7722040270529322e-04 9.3045183484613270e-03 -5.4696809618402084e-03
5 1.4530732421377847e-03 8.4407096360853799e-03 6.9996566944709208e-03
197 1.2180196447747885e-04 1.9057884749376704e-03 2.5203716257742922e-03
13 2.9580325020781683e-03 -7.2598114036915157e-03 2.4953271033417565e-03
17 -2.5691329217609050e-03 9.4706315563068708e-06 1.9944514378249611e-03
125 6.0633500715407871e-04 6.0911401225465130e-03 2.0083752286464618e-03
65 -3.6413892234086150e-03 8.4183871082086866e-04 -9.5673812168976177e-03
117 -2.4135897728023823e-03 5.8854918825421406e-03 -9.7691183765619746e-04
61 4.6973997015394816e-03 1.1808478803322716e-02 -1.6550999664335026e-03
85 -8.2406395830183915e-03 -1.5500026972734928e-03 -3.1459961335715596e-04
69 -2.8622735200865383e-03 2.0014502794053028e-03 -5.7101986761900507e-03
9 -1.0407713436376988e-03 -5.4188685232808183e-03 9.7397563007423766e-04
80 4.1821094389522294e-03 -1.4661786050517277e-03 -6.6021963934954691e-03
105 -2.2592350958062024e-03 2.9575142392665385e-03 -3.4456168045163224e-03
109 -4.4630310484392944e-03 8.3843196556275083e-03 -1.7785718826200719e-03
116 -3.7261596410293608e-03 3.3180847030642203e-03 -3.6946196242010175e-04
129 9.0700019604887097e-04 -3.6265074779059637e-03 -4.4372949358870211e-03
152 1.1700981066970786e-02 -1.5474385127547048e-02 4.5469649055726834e-03
29 -7.6273392485150498e-04 -5.2638028956206217e-03 1.5055014077169275e-03
141 -3.7118829597102436e-02 6.5148473098852189e-03 4.3511847061281370e-03
33 -3.9470728901237319e-03 4.5498742407082057e-03 -5.5393392769089384e-03
37 8.8145907550448016e-03 -5.6012684363408336e-03 2.7301067646077464e-03
41 4.1486225497212514e-03 -1.8362733044464384e-03 -1.7013548165352639e-03
121 2.1700813079443522e-03 5.4557303436680955e-03 -4.4782699909277088e-03
49 4.6413606571955217e-03 -1.9124228477447340e-03 -2.3388241246549385e-03
149 -1.9995983634128758e-02 -5.0606377461450049e-03 2.0255946982863860e-02
84 3.3713805726191702e-03 -2.9297704191600440e-04 9.1670737511324657e-04
53 7.6804037541409907e-03 5.3546368402172320e-03 -3.2086851687728036e-03
89 -3.5239071966877531e-03 -1.0591472119567920e-03 -3.0112741584284752e-03
93 3.0220138249750666e-03 -1.7671027489704343e-03 3.3436379217387634e-03
97 2.9633387608442546e-03 2.1027128795329643e-03 -1.4424462438033939e-03
101 -1.7277449363560275e-03 -3.7883930305986006e-03 -1.2778141319349334e-03
145 1.3754301880493217e-02 -2.9464527569243112e-02 -1.8827157517875556e-02
228 2.4060656531958990e-03 -3.0156919087798470e-03 2.7324065007439283e-03
57 7.0375169402002663e-04 -2.8537039994158140e-03 -1.5277803933876235e-03
133 -7.1051720384830604e-03 -1.3677602407398261e-03 3.6026752123927572e-02
136 -2.5544385010401623e-02 -1.4078454458823419e-03 4.0579684781210344e-03
138 -4.0187647722179178e-02 -2.1571801243316192e-02 -7.1604231565876022e-03
1 -3.4095272641180428e-03 6.1537481095595712e-03 7.9045267349075663e-04
88 4.4116705299466841e-03 2.7993870615652876e-03 5.1164335644218956e-03
64 -1.8742297825381788e-03 2.6827591735599583e-03 -5.1722459872697744e-03
8 3.1885844258643008e-03 4.2903678434358713e-03 5.1786330955596359e-03
12 -5.2210336672334420e-03 3.9495414273393922e-03 2.2335713352698550e-03
16 9.9422742059577423e-04 1.7521404301466441e-03 8.7590953970051986e-04
20 6.0854312947614614e-03 5.4983631623741992e-03 5.4593745160439952e-03
25 -5.4309141612719491e-03 -1.7666866720226777e-03 4.7703338575602657e-03
148 1.1086815383338491e-02 2.6022863618603707e-02 2.0087587552315819e-02
137 1.5690832964233584e-02 -2.5293009109084732e-03 -1.1883375678028274e-02
104 -5.0640494124431987e-03 2.3370245336442447e-03 -2.2986534425586274e-04
68 -1.0867367865646591e-03 2.3623004024366013e-03 2.4942168922851425e-03
128 -8.2438351816644800e-03 1.0571196268724028e-03 -8.4815808051728534e-04
73 -5.7362573079004020e-03 -3.0043343214873099e-03 1.5237919791527093e-03
77 -3.4255948914421685e-03 5.4760208931593666e-03 6.6618412238336061e-04
108 5.2795029127425666e-03 6.5415836813069569e-04 6.1298969724376466e-04
112 -1.6078046478582991e-03 4.0606635002996610e-03 9.1026530262352373e-04
113 6.4915058150423399e-03 5.1629533163456854e-03 -6.3755775127421538e-03
132 -4.0774627249993917e-03 -1.5399070432691127e-02 -7.4691887109230096e-03
56 -5.2003817997179165e-03 -9.7620641513053094e-03 -4.3950880281533765e-03
21 -7.0691445197789441e-03 7.6955670100957842e-04 -5.4105853611055871e-03
32 -2.9169110825653880e-03 -1.1073349638571425e-03 -5.4851932971711724e-03
36 -2.4396685252407470e-03 1.4819068238334156e-03 -3.0805515593447705e-03
40 -7.0666779614816802e-03 -1.3430215710235145e-03 -4.4139313396336999e-03
44 -5.1539163988777083e-03 -1.9320778456829594e-03 2.9052648833327553e-03
48 -8.0370531818583901e-03 -4.9164082712983724e-03 1.0053385697820794e-02
52 4.6673277069024383e-03 2.4732486926647718e-03 -3.0437092822526947e-03
28 9.5059021626105167e-04 6.6703881368338760e-03 1.2183723942516731e-03
81 -1.7766957322548395e-03 -8.0571519569416382e-04 -4.2657655144627132e-03
124 -2.5737399426471086e-03 4.8932142374913043e-03 -3.0826221822277021e-04
92 -2.7210332800526667e-03 -4.3522625573974967e-06 5.0313762934084396e-03
248 -2.1428984033524610e-04 3.5920620300439283e-03 -1.2394812885684373e-03
100 6.9480047945285808e-03 -2.0720536878365910e-03 6.0976223682410527e-04
4 3.0533858921656435e-03 1.3749371297301436e-03 2.6879157400351203e-03
72 6.9563359253365785e-04 -3.3839307816438810e-03 -5.2966447925867051e-04
120 4.3628381698379657e-04 3.3989272988654736e-04 -4.7418586471331681e-03
144 -1.9399828512073235e-02 2.8784276306305957e-03 -4.9015707840947172e-03
169 3.6286101890929310e-04 1.3804030749833694e-03 3.8772039152943243e-03
157 -9.7104751271310137e-03 -2.5432779712195779e-03 4.9920473407863593e-04
237 -5.6836990991889925e-03 4.3828035612363779e-03 -4.9564216578871206e-03
165 6.9095280546444867e-03 1.0729454663071183e-04 -2.8377808824037773e-04
176 -3.5726796462146955e-03 -6.9803617017510314e-04 6.5737720026882414e-03
205 -4.7897558884080942e-03 -9.7012031638177235e-03 1.6149422322463858e-03
277 2.3932341723865618e-03 -1.2799481485681208e-03 -9.5088871626072000e-04
209 1.5940196133829015e-03 3.4125147840405141e-03 -1.9185849366575963e-04
213 5.0359888288056447e-03 -3.2459317567451623e-03 -6.0422204701546540e-03
161 3.1496494652942433e-03 -5.4032811877358826e-03 -1.8404083591310836e-03
221 -7.0837711227610673e-05 3.5642763354140797e-03 7.1267387665626429e-03
253 -1.1552964427254658e-03 8.1061938945047457e-03 6.8560275135920814e-04
232 7.1516069443152200e-04 6.9884991537049641e-03 1.9456377945585132e-03
257 9.7287812908641580e-03 5.6802362058564610e-04 -1.9896602364413026e-03
261 3.5641606450239399e-03 1.1263657016134332e-03 -4.9800485874682988e-03
268 -2.4182201566053767e-03 5.6517425572549286e-04 -4.7968007270599378e-03
281 1.8023451989382603e-02 -2.0011466408538753e-02 2.6788628047223523e-03
76 3.6833438514848591e-03 -7.5314593270302587e-03 2.3036184377253134e-03
269 5.4766103896972693e-04 1.0714454448212749e-04 -2.9150182080626727e-03
293 -1.5803838932239959e-02 4.4565921908284638e-03 6.0777345016507587e-03
185 -4.2480671256378598e-03 -7.4956530350122502e-04 8.8480321154379964e-03
189 -2.1548899566118220e-03 1.5465752986606573e-03 -1.2754684317658836e-03
193 -3.2970116016428075e-03 -5.5091314245397441e-03 4.6300273271534225e-03
249 2.0185063121804770e-03 -3.3503108367265821e-03 6.4889425299302387e-03
201 4.9894242342005612e-04 2.0554328851371461e-03 -2.2943565378546371e-03
273 7.2763997976980747e-04 -1.0896643067098042e-03 7.1256273183209901e-03
236 2.0690907685087471e-03 6.8363977716210979e-03 4.1459649884454768e-03
297 1.3621128083419113e-02 1.6046581101408330e-02 4.8457931367957398e-03
241 -2.5291016298909096e-03 1.4215869718728002e-03 -1.9884597198944918e-03
245 -5.2221318448004168e-03 -1.7800664058218062e-04 4.4010035123521704e-04
217 -1.7843053411821738e-03 -1.6528038759970564e-03 -2.3128643778518122e-04
181 1.2770006041816402e-03 9.0821236224940469e-03 -6.7109253232624253e-04
292 4.6641003179734592e-03 -1.5497869295909884e-02 9.9209229002761717e-03
180 -2.3945351490970031e-03 2.1740953931129073e-04 6.0240486612073230e-03
153 9.1376359130041884e-04 1.2619379366518707e-03 -1.1019889044123631e-03
288 9.1870458102437658e-03 1.2778922312094822e-02 -2.1072238127411075e-02
45 -7.7724575331532535e-04 -1.7141020628976028e-03 5.6759226356627775e-03
304 -2.5582451057078827e-02 -2.2645536121991501e-02 -1.4290517463409140e-02
301 -5.9841500766453981e-03 -1.5684175634367186e-03 -2.4956264538292219e-02
160 3.9339801689694557e-03 -3.6126921625193411e-03 -2.4443523541620845e-03
164 8.1230468881143946e-03 -9.3521431341237662e-03 -3.5308117479258393e-04
168 4.9446040375734903e-03 -8.2154773760103651e-04 -1.0492769229361480e-02
172 2.6148305794376089e-03 2.6504247099737371e-03 -2.7694367959707113e-03
212 4.4593645697807213e-03 -1.4573503711062438e-05 -1.3782207140241650e-03
300 -1.8679506789017677e-03 -2.0469993534843488e-02 -3.8301874388749933e-03
173 -1.6137581443588121e-03 2.0965695130792921e-03 -4.0201255392549005e-03
252 1.9637421273734318e-03 -4.1845350440895444e-04 9.1914352340609893e-04
220 4.8425364408329402e-03 4.1558131563977632e-03 -4.5732135892261249e-03
224 -5.0106731049793761e-03 6.3056084400456101e-03 -2.5402324427869867e-03
225 2.3074874398853491e-03 -8.2581204918229945e-03 5.7223482227764808e-03
229 -3.1949429657485212e-03 1.2470862731982931e-03 1.6206842413737377e-03
260 -1.7356077348708357e-03 -6.6380421726333931e-04 4.9344441008672127e-03
264 -1.4170245024577935e-03 2.5892297874871607e-03 6.1212726394288964e-04
265 -2.0491154530031591e-03 -4.6743453933109679e-03 2.6620072482574646e-03
284 1.0822583460626851e-02 1.1993987876701846e-02 3.7723405443682773e-02
156 3.2121442419044783e-03 7.5002892289370033e-03 1.9824119709575898e-03
296 -2.5491930009982500e-02 -2.3854508590914567e-02 -7.4606589514458746e-03
184 -1.9223239057771181e-03 -4.9053534641709537e-04 1.2211379250644705e-03
188 1.2636857357410621e-03 -4.9864683204641908e-03 -1.3531293825327969e-03
192 -7.7727559158047056e-03 3.7612632558858211e-03 4.7003948322159681e-03
196 -2.8825133856888118e-03 3.9250757025840674e-03 5.0909854172008495e-04
200 -7.4421531526066200e-03 -1.5108146428348063e-03 4.2441546002170358e-03
204 -4.5541880771186351e-03 2.2282891439829376e-03 9.6246255590907315e-03
208 5.5460189242739375e-04 -8.5643343980268936e-04 4.6961691086096109e-03
233 -9.7408104129497115e-04 2.0917875306183170e-03 1.6045486422407123e-03
276 -1.0986838142969923e-03 5.4315792533420901e-03 5.0077081054951244e-03
244 -1.2183665223623778e-03 -4.2193410981771198e-03 -2.7354288515525696e-03
280 1.3552010403368481e-03 6.3132429381080192e-04 1.7031901341229926e-04
256 -2.2077829342060304e-03 1.6772588023449473e-03 2.2350654447874461e-04
216 1.2254364422878230e-03 2.0994512158283556e-03 -2.0172376558553222e-03
272 2.1464441432257797e-03 -1.8486660410473694e-04 1.9014747511050384e-03
240 3.1573950446869229e-04 -3.7605367960744638e-04 2.3191303881599541e-04
289 -1.2039974662100633e-02 2.6395586163545951e-03 -2.8478645629107940e-02
177 6.1157082891864691e-03 6.9161818478923455e-04 -3.0081137643864736e-03
96 -3.1669072586457290e-03 -6.3737086224948253e-03 1.5172924185041878e-03
285 -1.2188701008670824e-02 -1.7123376677445068e-02 2.0830072814090890e-02

View File

@ -0,0 +1,168 @@
Reactive MD-force field: c/h/o/s/f/cl Jan30_2012
39 ! Number of general parameters
50.0000 !p(boc1)
9.5469 !p(boc2)
26.5405 !p(coa2)
1.5105 !p(trip4)
6.6630 !p(trip3)
70.0000 !kc2
1.0588 !p(ovun6)
4.6000 !p(trip2)
12.1176 !p(ovun7)
13.3056 !p(ovun8)
-60.1292 !p(trip1)
0.0000 !Lower Taper-radius (swa)
10.0000 !Upper Taper-radius (swb)
0.0000 !not used
33.8667 !p(val7)
6.0891 !p(lp1)
1.0563 !p(val9)
2.0384 !p(val10)
6.1431 !not used
6.9290 !p(pen2)
0.3989 !p(pen3)
3.9954 !p(pen4)
0.0000 !not used
5.7796 !p(tor2)
10.0000 !p(tor3)
1.9487 !p(tor4)
0.0000 !not used
2.1645 !p(cot2)
1.5591 !p(vdW1)
0.1000 !Cutoff for bond order*100 (cutoff)
2.1365 !p(coa4)
0.6991 !p(ovun4)
50.0000 !p(ovun3)
1.8512 !p(val8)
0.0000 !not used
0.0000 !not used
0.0000 !not used
0.0000 !not used
2.6962 !p(coa3)
4 ! Nr of atoms; atomID;ro(sigma); Val;atom mass;Rvdw;Dij;gamma
alfa;gamma(w);Val(angle);p(ovun5);n.u.;chiEEM;etaEEM;n.u.
ro(pipi);p(lp2);Heat increment;p(boc4);p(boc3);p(boc5),n.u.;n.u.
p(ovun2);p(val3);n.u.;Val(boc);p(val5);n.u.;n.u.;n.u.
C 1.3825 4.0000 12.0000 1.9133 0.1853 0.9000 1.1359 4.0000
9.7602 2.1346 4.0000 33.2433 79.5548 5.8678 7.0000 0.0000
1.2104 0.0000 199.0303 8.6991 34.7289 13.3894 0.8563 0.0000
-2.8983 2.5000 1.0564 4.0000 2.9663 0.0000 0.0000 0.0000
H 0.7853 1.0000 1.0080 1.5904 0.0419 1.0206 -0.1000 1.0000
9.3557 5.0518 1.0000 0.0000 121.1250 5.3200 7.4366 1.0000
-0.1000 0.0000 55.0000 1.9771 3.3517 0.7571 1.0698 0.0000
-15.7683 2.1488 1.0338 1.0000 2.8793 0.0000 0.0000 0.0000
O 1.2477 2.0000 15.9990 1.9236 0.0904 1.0503 1.0863 6.0000
10.2127 7.7719 4.0000 36.9573 116.0768 8.5000 8.9989 2.0000
0.9088 1.0003 60.8726 20.4140 3.3754 0.2702 0.9745 0.0000
-3.6141 2.7025 1.0493 4.0000 2.9225 0.0000 0.0000 0.0000
N 1.6157 3.0000 14.0000 1.9376 0.1203 1.0000 1.2558 5.0000
9.4267 26.8500 4.0000 8.6294 100.0000 7.6099 7.7500 2.0000
1.0439 0.1000 119.9837 1.7640 2.7409 2.3814 0.9745 0.0000
-6.5798 4.4843 1.0183 4.0000 2.8793 0.0000 0.0000 0.0000
10 ! Nr of bonds; at1;at2;De(sigma);De(pi);De(pipi);p(be1);p(b
p(be2);p(bo3);p(bo4);n.u.;p(bo1);p(bo2)
1 1 156.5953 100.0397 80.0000 -0.8157 -0.4591 1.0000 37.7369 0.4235
0.4527 -0.1000 9.2605 1.0000 -0.0750 6.8316 1.0000 0.0000
1 2 170.2316 0.0000 0.0000 -0.5931 0.0000 1.0000 6.0000 0.7140
5.2267 1.0000 0.0000 1.0000 -0.0500 6.8315 0.0000 0.0000
2 2 156.0973 0.0000 0.0000 -0.1377 0.0000 1.0000 6.0000 0.8240
2.9907 1.0000 0.0000 1.0000 -0.0593 4.8358 0.0000 0.0000
1 3 160.4802 105.1693 23.3059 -0.3873 -0.1613 1.0000 10.8851 1.0000
0.5341 -0.3174 7.0303 1.0000 -0.1463 5.2913 0.0000 0.0000
3 3 60.1463 176.6202 51.1430 -0.2802 -0.1244 1.0000 29.6439 0.9114
0.2441 -0.1239 7.6487 1.0000 -0.1302 6.2919 1.0000 0.0000
2 3 180.4373 0.0000 0.0000 -0.8074 0.0000 1.0000 6.0000 0.5514
1.2490 1.0000 0.0000 1.0000 -0.0657 5.0451 0.0000 0.0000
1 4 175.7446 131.3190 132.3859 -0.5827 -0.2709 1.0000 29.9009 0.8400
1.9511 -0.2103 7.4487 1.0000 -0.1150 5.8717 1.0000 0.0000
2 4 161.1063 0.0000 0.0000 -0.1387 0.0000 1.0000 6.0000 0.7276
0.6127 1.0000 0.0000 1.0000 -0.0395 7.2218 0.0000 0.0000
3 4 86.0536 180.5864 40.0000 1.0000 -0.4462 1.0000 34.9336 0.2000
0.8154 -0.2175 7.0255 1.0000 -0.1937 5.2140 1.0000 0.0000
4 4 134.6492 66.2329 149.2707 -0.7228 -0.1000 1.0000 19.0850 1.0000
0.6060 -0.2050 9.7308 1.0000 -0.1791 5.8008 1.0000 0.0000
6 ! Nr of off-diagonal terms. at1;at2;Dij;RvdW;alfa;ro(sigma);r
1 2 0.1219 1.4000 9.8442 1.1203 -1.0000 -1.0000
2 3 0.0344 1.6800 10.3247 0.9013 -1.0000 -1.0000
1 3 0.1131 1.8523 9.8442 1.2775 1.1342 1.0621
1 4 0.1398 1.9263 10.1847 1.4778 1.1446 1.1216
2 4 0.0480 2.3000 9.0050 1.0156 -1.0000 -1.0000
3 4 0.0942 1.9531 10.3265 1.3018 1.0984 1.0125
40 ! Nr of angles. at1;at2;at3;Thetao,o;p(val1);p(val2);p(coa1);
1 1 1 67.2326 22.0695 1.6286 0.0000 1.7959 15.4141 1.8089
1 1 2 65.2527 14.3185 6.2977 0.0000 0.5645 0.0000 1.1530
2 1 2 70.0840 25.3540 3.4508 0.0000 0.0050 0.0000 3.0000
1 2 2 0.0000 0.0000 6.0000 0.0000 0.0000 0.0000 1.0400
1 2 1 0.0000 3.4110 7.7350 0.0000 0.0000 0.0000 1.0400
2 2 2 0.0000 27.9213 5.8635 0.0000 0.0000 0.0000 1.0400
1 1 3 49.5561 7.3771 4.9568 0.0000 0.7533 15.9906 1.0010
3 1 3 77.1171 39.8746 2.5403 -24.3902 1.7740 -42.9758 2.1240
2 1 3 65.0000 14.2057 4.8649 0.0000 0.3504 0.0000 1.7185
1 3 1 74.3994 44.7500 0.7982 0.0000 3.0000 0.0000 1.0528
1 3 3 77.9854 36.6201 2.0201 0.0000 0.7434 67.0264 3.0000
3 3 3 80.7324 30.4554 0.9953 0.0000 1.6310 50.0000 1.0783
1 3 2 71.5018 21.7062 0.4735 0.0000 0.5186 0.0000 1.1793
2 3 3 84.9468 23.3540 1.5057 0.0000 2.6374 0.0000 1.3023
2 3 2 77.0645 10.4737 1.2895 0.0000 0.9924 0.0000 1.1043
1 2 3 0.0000 25.0000 3.0000 0.0000 1.0000 0.0000 1.0400
3 2 3 0.0000 0.0148 6.0000 0.0000 0.0000 0.0000 1.0400
2 2 3 0.0000 9.7025 6.0000 0.0000 0.0000 0.0000 1.0400
1 1 4 61.6894 9.9742 3.5920 0.0000 5.0000 50.0000 2.2098
3 1 4 67.5853 29.6915 1.8611 0.0000 3.0000 0.0000 1.5926
4 1 4 53.0437 35.9280 1.7824 0.0000 5.0000 0.0000 4.0000
2 1 4 66.9313 25.8025 3.5718 0.0000 0.0600 0.0000 1.0946
1 3 4 71.7246 38.5022 1.1738 0.0000 1.6310 0.0000 1.2782
3 3 4 83.0764 35.5413 1.4072 0.0000 1.6310 0.0000 1.1439
4 3 4 79.3317 40.0000 2.3424 0.0000 1.6310 0.0000 1.0061
2 3 4 81.0695 40.0000 2.0285 0.0000 0.1218 0.0000 1.4477
1 4 1 68.9764 14.3404 1.9702 0.0000 1.3606 0.0000 1.0000
1 4 3 76.1086 35.0355 1.0724 0.0000 1.6777 0.0000 1.6071
1 4 4 81.8917 25.7475 0.7287 0.0000 2.0100 0.0000 1.9350
3 4 3 80.1274 24.7547 1.7946 -10.0963 1.6777 0.0000 3.2815
3 4 4 83.6527 36.3627 1.0967 -0.9193 1.6777 0.0000 1.0000
4 4 4 90.0000 44.3028 1.6659 0.0000 0.7529 0.0000 1.2398
1 4 2 76.9847 29.2262 0.9407 0.0000 0.0300 0.0000 2.6196
2 4 3 85.4080 40.0000 1.7549 0.0000 0.0222 0.0000 1.0774
2 4 4 83.5658 40.0000 1.3540 0.0000 0.0222 0.0000 2.6397
2 4 2 58.0387 1.1862 3.9770 0.0000 0.0222 0.0000 1.0000
1 2 4 0.0000 0.0019 6.3000 0.0000 0.0000 0.0000 1.0400
2 2 4 0.0000 0.0019 6.0000 0.0000 0.0000 0.0000 1.0400
3 2 4 0.0000 0.0019 6.0000 0.0000 0.0000 0.0000 1.0400
4 2 4 0.0000 0.0019 6.0000 0.0000 0.0000 0.0000 1.0400
31 ! Nr of torsions. at1;at2;at3;at4;;V1;V2;V3;p(tor1);p(cot1);n
1 1 1 1 -0.2500 11.5822 0.1879 -4.7057 -2.2047 0.0000 0.0000
1 1 1 2 -0.2500 31.2596 0.1709 -4.6391 -1.9002 0.0000 0.0000
2 1 1 2 -0.1770 30.0252 0.4340 -5.0019 -2.0697 0.0000 0.0000
1 1 1 3 -0.7098 22.2951 0.0060 -2.5000 -2.1688 0.0000 0.0000
2 1 1 3 -0.3568 22.6472 0.6045 -4.0088 -1.0000 0.0000 0.0000
3 1 1 3 -0.0528 6.8150 0.7498 -5.0913 -1.0000 0.0000 0.0000
1 1 3 1 2.0007 25.5641 -0.0608 -2.6456 -1.1766 0.0000 0.0000
1 1 3 2 -1.1953 42.1545 -1.0000 -8.0821 -1.0000 0.0000 0.0000
2 1 3 1 -0.9284 34.3952 0.7285 -2.5440 -2.4641 0.0000 0.0000
2 1 3 2 -2.5000 79.6980 1.0000 -3.5697 -2.7501 0.0000 0.0000
1 1 3 3 -0.0179 5.0603 -0.1894 -2.5000 -2.0399 0.0000 0.0000
2 1 3 3 -0.5583 80.0000 1.0000 -4.4000 -3.0000 0.0000 0.0000
3 1 3 1 -2.5000 76.0427 -0.0141 -3.7586 -2.9000 0.0000 0.0000
3 1 3 2 0.0345 78.9586 -0.6810 -4.1777 -3.0000 0.0000 0.0000
3 1 3 3 -2.5000 66.3525 0.3986 -3.0293 -3.0000 0.0000 0.0000
1 3 3 1 2.5000 -0.5332 1.0000 -3.5096 -2.9000 0.0000 0.0000
1 3 3 2 -2.5000 3.3219 0.7180 -5.2021 -2.9330 0.0000 0.0000
2 3 3 2 2.2500 -6.2288 1.0000 -2.6189 -1.0000 0.0000 0.0000
1 3 3 3 0.0531 -17.3983 1.0000 -2.5000 -2.1584 0.0000 0.0000
2 3 3 3 0.4723 -12.4144 -1.0000 -2.5000 -1.0000 0.0000 0.0000
3 3 3 3 -2.5000 -25.0000 1.0000 -2.5000 -1.0000 0.0000 0.0000
0 1 2 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 2 2 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 2 3 0 0.0000 0.1000 0.0200 -2.5415 0.0000 0.0000 0.0000
0 1 1 0 0.0000 50.0000 0.3000 -4.0000 -2.0000 0.0000 0.0000
0 3 3 0 0.5511 25.4150 1.1330 -5.1903 -1.0000 0.0000 0.0000
0 1 4 0 -0.5473 25.3808 0.9931 -4.3407 -3.0000 0.0000 0.0000
0 2 4 0 0.0000 0.1000 0.0200 -2.5415 0.0000 0.0000 0.0000
0 3 4 0 2.0000 71.9948 -0.8805 -6.1274 -2.7831 0.0000 0.0000
0 4 4 0 2.0000 90.0000 -0.7837 -9.0000 -2.0000 0.0000 0.0000
4 1 4 4 -2.0000 90.0000 -0.0279 -7.5866 -0.1000 0.0000 0.0000
4 ! Nr of hydrogen bonds. at1;at2;at3;r(hb);p(hb1);p(hb2);p(hb3
3 2 3 2.0000 -2.0000 1.5000 19.5000
3 2 4 1.9000 -2.0000 1.7976 19.0000
4 2 3 1.9000 -2.0000 1.7976 19.0000
4 2 4 1.9000 -2.0000 1.7976 19.0000

View File

@ -0,0 +1,34 @@
# Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS
# See README for more info
units real
atom_style charge
atom_modify sort 100 0.0 # optional
dimension 3
boundary p p p
box tilt large
read_data data.hns-equil
replicate $x $y $z bbox
pair_style reax/c NULL
pair_coeff * * ffield.reax.hns C H O N
compute reax all pair reax/c
neighbor 1.0 bin
neigh_modify every 20 delay 0 check no
timestep 0.1
thermo_style custom step temp pe press evdwl ecoul vol
thermo_modify norm yes
thermo 100
velocity all create 300.0 41279 loop geom
fix 1 all nve
fix 2 all qeq/reax 1 0.0 10.0 1e-6 reax/c
run 100

View File

@ -0,0 +1,649 @@
LAMMPS data file via write_data, version 23 Oct 2017, timestep = 100000
315 atoms
2 atom types
0.0000000000000000e+00 2.0000000000000000e+01 xlo xhi
0.0000000000000000e+00 2.0000000000000000e+01 ylo yhi
0.0000000000000000e+00 2.0000000000000000e+01 zlo zhi
Masses
1 12.011
2 1.008
Atoms # charge
175 2 0.0000000000000000e+00 5.3453687209469996e+00 5.5862726787962940e+00 4.0849785930715354e+00 1 0 0
103 2 0.0000000000000000e+00 1.3073645814185417e+00 3.7206017715158937e+00 3.8524713056132751e+00 0 0 -1
275 2 0.0000000000000000e+00 4.5600071648073301e+00 3.2329990023327824e+00 1.4821360978767673e+00 1 0 0
271 1 0.0000000000000000e+00 4.5843986967581722e+00 3.9176387402395871e+00 5.8099831361575494e-01 1 0 0
272 2 0.0000000000000000e+00 5.4182317432033766e+00 3.6898398009502156e+00 1.9965991602287605e+01 1 0 -1
273 2 0.0000000000000000e+00 3.6051023956156447e+00 3.8873287655431406e+00 1.9973105836472126e+01 1 0 -1
274 2 0.0000000000000000e+00 4.7919672477150748e+00 4.9286774621912297e+00 9.6215228549394083e-01 1 0 0
1 1 0.0000000000000000e+00 1.0949422771872639e+01 1.1263564251882920e+00 4.5818433826058058e+00 2 -1 0
4 2 0.0000000000000000e+00 1.1062078869518452e+01 1.8180370241226866e+00 3.7056441784637810e+00 2 -1 0
2 2 0.0000000000000000e+00 1.0128614847702552e+01 4.0521961508372545e-01 4.3443871852431215e+00 2 -1 0
49 2 0.0000000000000000e+00 9.5420250978384704e+00 3.6748811076174732e+00 6.9923624106878846e-01 0 -3 -1
5 2 0.0000000000000000e+00 1.1895921213727425e+01 5.9644887079656606e-01 4.8275121519683699e+00 2 -1 0
156 1 0.0000000000000000e+00 1.5350436635040626e+01 3.4944682618464196e+00 1.7820227892005359e+01 0 0 -1
158 2 0.0000000000000000e+00 1.6234885135644735e+01 4.1073565210303551e+00 1.8057804919138462e+01 0 0 -1
3 2 0.0000000000000000e+00 1.0638740127309621e+01 1.8737956827951723e+00 5.3939971205730135e+00 2 -1 0
54 2 0.0000000000000000e+00 1.7052455149295493e+01 6.1908001655126670e+00 3.8576008358326090e+00 -3 2 -3
159 2 0.0000000000000000e+00 1.4499107646573572e+01 3.7948767230433833e+00 1.8431013979305458e+01 0 0 -1
174 2 0.0000000000000000e+00 4.2023079102565521e+00 6.1554910639166103e+00 5.3707953997810565e+00 1 0 0
110 2 0.0000000000000000e+00 5.9228298978270466e+00 7.2826855552171832e+00 1.7589830768160732e+00 1 1 0
106 1 0.0000000000000000e+00 4.9244475610856240e+00 7.6927459153302671e+00 2.2297553862451567e+00 1 1 0
107 2 0.0000000000000000e+00 5.2386028337056265e+00 8.3909640111237671e+00 3.0345818656938097e+00 1 1 0
171 1 0.0000000000000000e+00 4.3023638963145299e+00 5.7330041668123508e+00 4.3363925456334522e+00 1 0 0
109 2 0.0000000000000000e+00 4.4004149695192085e+00 6.7821801577700214e+00 2.5893710659081899e+00 1 1 0
108 2 0.0000000000000000e+00 4.2740420890161115e+00 8.3254657494564768e+00 1.6027901460949956e+00 1 1 0
10 2 0.0000000000000000e+00 1.3257411832459456e+00 6.3889318368318131e+00 3.9757317160978789e+00 -1 -1 1
119 2 0.0000000000000000e+00 4.3148717130789356e+00 1.0019671440740531e+01 5.4848497820819606e+00 0 2 -1
173 2 0.0000000000000000e+00 3.9177557626872619e+00 4.6422301624828259e+00 4.2645502823043184e+00 1 0 0
194 2 0.0000000000000000e+00 7.4225277460058336e+00 1.0727964288898299e+01 1.9970692827027928e+01 -1 1 0
43 2 0.0000000000000000e+00 5.9784651534992816e+00 5.3197439887593001e+00 7.1371708543065617e+00 4 -1 2
157 2 0.0000000000000000e+00 1.5630281098459180e+01 2.4573206825593084e+00 1.7942836225216134e+01 0 0 -1
314 2 0.0000000000000000e+00 1.1566403476316767e+01 6.3954502587012092e+00 4.0672680727332047e+00 -1 1 4
315 2 0.0000000000000000e+00 9.7793024070031294e+00 6.1182231058810617e+00 4.0434157467946887e+00 -1 1 4
311 1 0.0000000000000000e+00 1.0740266656657713e+01 5.8829003129841775e+00 4.5248285330926601e+00 -1 1 4
38 2 0.0000000000000000e+00 1.1310542077155715e+01 7.6861907560603608e+00 2.2477789643954775e+00 3 0 -1
30 2 0.0000000000000000e+00 1.8394466800629068e+00 1.4015648787525809e+01 2.3327147732453954e+00 0 0 1
27 2 0.0000000000000000e+00 3.4470472115340434e-01 1.4323294078018423e+01 1.4005089285060470e+00 0 0 1
26 1 0.0000000000000000e+00 1.1391339740095721e+00 1.3546595729631424e+01 1.5750152498370000e+00 0 0 1
264 2 0.0000000000000000e+00 4.5759617782254436e+00 1.3310762309539912e+01 1.3694648644547793e+00 0 -2 -1
22 2 0.0000000000000000e+00 3.5566791269374578e+00 1.3042406572426589e+01 3.3457202536360047e+00 -1 -1 -3
28 2 0.0000000000000000e+00 1.6751480492594251e+00 1.3195934622963932e+01 6.6391237805201164e-01 0 0 1
265 2 0.0000000000000000e+00 4.9415867256590840e+00 1.2867983414679109e+01 3.0727806009800673e+00 0 -2 -1
263 2 0.0000000000000000e+00 5.8817011053762869e+00 1.2119709768149235e+01 1.7793045823911147e+00 0 -2 -1
262 2 0.0000000000000000e+00 6.1095938668574137e+00 1.3902206467158273e+01 2.1388931002679508e+00 0 -2 -1
261 1 0.0000000000000000e+00 5.3947224158640239e+00 1.3100746459646325e+01 2.0932355695561347e+00 0 -2 -1
313 2 0.0000000000000000e+00 1.0979550983153096e+01 4.8560939627722464e+00 4.4254843377639501e+00 -1 1 4
177 2 0.0000000000000000e+00 1.3347275647031404e+01 1.4644873344365251e+01 4.5810675707070976e+00 -1 -3 2
176 1 0.0000000000000000e+00 1.2478259350945532e+01 1.4052376743162130e+01 4.9762894864207432e+00 -1 -3 2
179 2 0.0000000000000000e+00 1.2230938255194133e+01 1.4380976370539551e+01 6.0312061277807976e+00 -1 -3 2
40 2 0.0000000000000000e+00 1.0431833398647282e+01 9.1411338734452094e+00 2.8471053043472137e+00 3 0 -1
36 1 0.0000000000000000e+00 1.0503315378230882e+01 8.4066629279942564e+00 2.0127518389019068e+00 3 0 -1
29 2 0.0000000000000000e+00 7.0673779636710043e-01 1.2591245277054831e+01 1.9359578543553047e+00 0 0 1
127 2 0.0000000000000000e+00 1.7723696726944713e+01 1.3010375587964814e+01 2.6470618456388411e+00 -1 -3 1
129 2 0.0000000000000000e+00 1.8188055467648180e+01 1.1406617858229632e+01 3.3902034809353969e+00 -1 -3 1
130 2 0.0000000000000000e+00 1.6848414717419999e+01 1.1505319162512432e+01 2.0872826283712915e+00 -1 -3 1
126 1 0.0000000000000000e+00 1.7301073825980328e+01 1.2007765411015372e+01 2.9467714070656283e+00 -1 -3 1
128 2 0.0000000000000000e+00 1.6574394742225149e+01 1.2189854921616117e+01 3.7269195214454198e+00 -1 -3 1
33 2 0.0000000000000000e+00 2.6267666961725569e+00 1.6236765067453096e+01 2.7937314778270403e+00 -1 -1 1
32 2 0.0000000000000000e+00 3.9749621673026572e+00 1.5659072228430459e+01 3.6940538226953370e+00 -1 -1 1
31 1 0.0000000000000000e+00 3.6938357182189896e+00 1.6249578011374791e+01 2.8148426204327741e+00 -1 -1 1
35 2 0.0000000000000000e+00 4.1287966368149016e+00 1.7251553996961885e+01 2.9953023328457644e+00 -1 -1 1
34 2 0.0000000000000000e+00 4.0585629928716473e+00 1.5757695872678383e+01 1.8816582074916917e+00 -1 -1 1
178 2 0.0000000000000000e+00 1.1527947446441607e+01 1.4164691665589434e+01 4.4186758818086451e+00 -1 -3 2
168 2 0.0000000000000000e+00 1.3886070288358210e+01 1.9241865108699020e+01 2.7615200182631998e+00 -2 0 -2
169 2 0.0000000000000000e+00 1.5169311533990372e+01 4.0935588752029484e-01 2.9529412982245971e+00 -2 1 -2
166 1 0.0000000000000000e+00 1.4996980435922133e+01 1.9376559201388517e+01 2.5874411251380196e+00 -2 0 -2
167 2 0.0000000000000000e+00 1.5081058857648586e+01 1.9390798420028442e+01 1.4935461670872499e+00 -2 0 -2
170 2 0.0000000000000000e+00 1.5603353196950756e+01 1.8579645452991596e+01 2.9503695393715708e+00 -2 0 -2
69 2 0.0000000000000000e+00 1.8758544337699696e+01 8.0682885401828830e-01 4.0879936203640135e+00 -1 2 -1
66 1 0.0000000000000000e+00 1.8728681423823147e+01 3.2607262639736723e-01 5.0220297297310834e+00 -1 2 -1
67 2 0.0000000000000000e+00 1.7738442288151585e+01 1.9723891336445096e+01 5.1301857817645793e+00 -1 1 -1
102 2 0.0000000000000000e+00 1.6397331916684568e+00 4.2735189141803769e+00 5.5547563500055608e+00 0 0 -1
287 2 0.0000000000000000e+00 9.7063141877155201e-01 1.8893163756804203e+01 1.0592555242850027e+01 -1 1 0
104 2 0.0000000000000000e+00 9.2783744998535456e-01 2.4688594106605768e+00 5.1061293315307577e+00 0 0 -1
101 1 0.0000000000000000e+00 1.5626066882835914e+00 3.3406098702183078e+00 4.8829903089668800e+00 0 0 -1
138 2 0.0000000000000000e+00 1.1233891471855765e+01 4.7118328900038478e+00 8.1024533118790369e+00 -1 1 -1
140 2 0.0000000000000000e+00 9.4993906793291814e+00 3.9779488927269675e+00 7.9849211909785502e+00 -1 1 -1
139 2 0.0000000000000000e+00 1.0361323563448300e+01 4.6477207890595578e+00 6.5026295609496181e+00 -1 1 -1
136 1 0.0000000000000000e+00 1.0234850421539512e+01 4.7515227402999765e+00 7.6031473650818020e+00 -1 1 -1
137 2 0.0000000000000000e+00 9.8305233632577984e+00 5.7732717311844901e+00 7.7781284405940667e+00 -1 1 -1
52 2 0.0000000000000000e+00 1.6264080737765717e+01 4.9271529286515880e+00 4.7997361189522447e+00 -3 2 -3
8 2 0.0000000000000000e+00 8.8130781237956290e-01 6.7320609519861199e+00 5.5863715061393258e+00 -1 -1 1
9 2 0.0000000000000000e+00 1.9701039861983109e+01 7.0998400413085081e+00 4.3169555689171943e+00 -2 -1 1
6 1 0.0000000000000000e+00 4.6472757720188973e-01 6.3682968920462963e+00 4.6602881128892779e+00 -1 -1 1
116 1 0.0000000000000000e+00 3.8547184855603880e+00 9.1159275782702700e+00 5.9646899406628924e+00 0 2 -1
120 2 0.0000000000000000e+00 4.6203595927842969e+00 8.3064000427694538e+00 5.9044796738179972e+00 0 2 -1
172 2 0.0000000000000000e+00 3.7643081737622248e+00 6.5842662904559290e+00 3.7526658961498804e+00 1 0 0
105 2 0.0000000000000000e+00 2.5500747223710460e+00 2.8573575074147608e+00 4.9266451015001875e+00 0 0 -1
117 2 0.0000000000000000e+00 3.0485420676485941e+00 8.7803026905746204e+00 5.3103555898437262e+00 0 2 -1
269 2 0.0000000000000000e+00 9.5660888231682439e-01 7.3717872199595860e+00 8.8853506691579458e+00 1 0 -2
268 2 0.0000000000000000e+00 3.6788466359860728e-01 8.9391338256263246e+00 9.5130736478938047e+00 1 0 -2
42 2 0.0000000000000000e+00 6.4616448519089236e+00 6.3639894529073384e+00 5.6893667627725417e+00 4 -1 2
41 1 0.0000000000000000e+00 6.7987726108979576e+00 5.6654154373514620e+00 6.4965068188827750e+00 4 -1 2
45 2 0.0000000000000000e+00 7.1983037970390455e+00 4.8866456555398345e+00 5.8524716325749511e+00 4 -1 2
239 2 0.0000000000000000e+00 4.1744612934093217e+00 4.6767924061042647e+00 8.1816836209132884e+00 -3 0 -1
238 2 0.0000000000000000e+00 2.5063120427706775e+00 5.4704685101464658e+00 8.3322865585278265e+00 -3 0 -1
236 1 0.0000000000000000e+00 3.1791520644670266e+00 4.6701385409838991e+00 8.5904151317914330e+00 -3 0 -1
237 2 0.0000000000000000e+00 2.6783998531481017e+00 3.6900000593640203e+00 8.3286072561945090e+00 -3 0 -1
240 2 0.0000000000000000e+00 3.2307552749017643e+00 4.7836685041543001e+00 9.7286291300497822e+00 -3 0 -1
44 2 0.0000000000000000e+00 7.7613800497790253e+00 6.0835041450783356e+00 6.9672137397351817e+00 4 -1 2
217 2 0.0000000000000000e+00 6.0391059227521060e+00 8.6397110720464436e+00 8.6182846561994229e+00 1 1 1
220 2 0.0000000000000000e+00 5.4998781143363971e+00 9.3186253126624781e+00 7.1416751280722925e+00 1 1 1
216 1 0.0000000000000000e+00 6.4555438260032059e+00 9.0115377099063085e+00 7.6598196907829150e+00 1 1 1
218 2 0.0000000000000000e+00 6.9768512222373076e+00 8.1763100294420497e+00 7.1716575285358815e+00 1 1 1
235 2 0.0000000000000000e+00 1.3568865842854780e+01 8.9821400965715252e+00 6.1428226913244908e+00 1 0 1
231 1 0.0000000000000000e+00 1.2801675604064105e+01 9.4085793662665349e+00 6.8770035356892230e+00 1 0 1
232 2 0.0000000000000000e+00 1.2473538938945829e+01 8.4940148217050968e+00 7.5384076156507192e+00 1 0 1
234 2 0.0000000000000000e+00 1.1910516297511959e+01 9.7723550362398122e+00 6.3027721375720267e+00 1 0 1
233 2 0.0000000000000000e+00 1.3259194205011816e+01 1.0269594331903395e+01 7.3597853009384586e+00 1 0 1
312 2 0.0000000000000000e+00 1.0706341922683754e+01 6.0799956118488261e+00 5.6265345461298697e+00 -1 1 4
7 2 0.0000000000000000e+00 1.9986039095597040e+01 5.4245711137798969e+00 4.8022962770143582e+00 -2 -1 1
53 2 0.0000000000000000e+00 1.7589164605527355e+01 5.9866181972270782e+00 5.5077800075692886e+00 -3 2 -3
51 1 0.0000000000000000e+00 1.7208754223741021e+01 5.4098961246487924e+00 4.5853991258056421e+00 -3 2 -3
55 2 0.0000000000000000e+00 1.7817722950189776e+01 4.6494939458595113e+00 4.1111771485064574e+00 -3 2 -3
255 2 0.0000000000000000e+00 1.7436848272923868e+01 8.5946503202644671e+00 6.6280074583192645e+00 0 -1 1
252 2 0.0000000000000000e+00 1.7415280419154954e+01 9.7627185499346805e+00 7.8893385298576888e+00 0 -1 1
254 2 0.0000000000000000e+00 1.6744136777312374e+01 8.1839767990475885e+00 8.2020232422763666e+00 0 -1 1
251 1 0.0000000000000000e+00 1.6820300636902360e+01 8.9619688421895134e+00 7.4376621549392263e+00 0 -1 1
253 2 0.0000000000000000e+00 1.5858437132215775e+01 9.4859350359688186e+00 7.2477886775086606e+00 0 -1 1
229 2 0.0000000000000000e+00 1.5428798058645260e+01 1.1123768673829543e+01 1.0931445913865913e+01 -2 0 -2
304 2 0.0000000000000000e+00 1.6037380564551316e+00 3.4989161504021475e+00 9.6585020949954448e+00 0 -1 3
118 2 0.0000000000000000e+00 3.4891599835251261e+00 9.3834445474090380e+00 7.0079795687446973e+00 0 2 -1
19 2 0.0000000000000000e+00 3.6149300444498267e+00 1.0245155347232496e+01 8.3968272048764447e+00 -1 -1 -1
16 1 0.0000000000000000e+00 4.0390453513729163e+00 1.0369013955447025e+01 9.3883431698435675e+00 -1 -1 -1
24 2 0.0000000000000000e+00 4.4820830670049947e+00 1.3844990064198186e+01 4.7312097042504524e+00 -1 -1 -3
17 2 0.0000000000000000e+00 3.4729824020032112e+00 1.1115118897824294e+01 9.9586605395694843e+00 -1 -1 -1
25 2 0.0000000000000000e+00 3.2273804169089688e+00 1.2438314155064660e+01 5.0839995886867930e+00 -1 -1 -3
23 2 0.0000000000000000e+00 2.7228248747482393e+00 1.4082829837146207e+01 4.6898076175012084e+00 -1 -1 -3
21 1 0.0000000000000000e+00 3.5063748800680430e+00 1.3332834323871053e+01 4.4416853100663252e+00 -1 -1 -3
18 2 0.0000000000000000e+00 5.0656581347322795e+00 1.0658942601282646e+01 9.3701424245492415e+00 -1 -1 -1
219 2 0.0000000000000000e+00 7.2154987711014407e+00 9.7989122036949947e+00 7.9111233571859580e+00 1 1 1
73 2 0.0000000000000000e+00 9.2319564267200978e+00 1.4549063604646022e+01 7.3597837169824567e+00 0 -2 -2
180 2 0.0000000000000000e+00 1.2848403217726370e+01 1.2988043864240506e+01 5.0281280463352926e+00 -1 -3 2
75 2 0.0000000000000000e+00 1.0636938701409910e+01 1.4863153610572125e+01 8.6036757256308061e+00 0 -2 -2
71 1 0.0000000000000000e+00 9.5821477697935382e+00 1.4578909999450094e+01 8.4461476949756342e+00 0 -2 -2
74 2 0.0000000000000000e+00 9.4502425784536079e+00 1.3528390587907406e+01 8.7818251345854179e+00 0 -2 -2
72 2 0.0000000000000000e+00 8.8640965998408063e+00 1.5138567920252855e+01 9.0454757473036356e+00 0 -2 -2
260 2 0.0000000000000000e+00 1.6632929271555874e+01 1.5821953469446921e+01 6.9130860245906849e+00 -2 -2 1
256 1 0.0000000000000000e+00 1.7085713586812151e+01 1.5251779026489970e+01 6.0885855634961485e+00 -2 -2 1
258 2 0.0000000000000000e+00 1.6347857415135714e+01 1.5214313486494301e+01 5.3391949822345373e+00 -2 -2 1
85 2 0.0000000000000000e+00 1.9167326328035077e+01 1.1769864106961979e+01 9.1516388629661574e+00 -4 -1 0
187 2 0.0000000000000000e+00 1.5748986771186981e+00 1.6797100804635754e+01 5.9604917536174726e+00 0 -4 2
190 2 0.0000000000000000e+00 2.5409115049466313e-01 1.6219512507876022e+01 4.8416231070614346e+00 0 -4 2
186 1 0.0000000000000000e+00 9.4296912064607286e-01 1.5953412822834983e+01 5.6008590784002319e+00 0 -4 2
188 2 0.0000000000000000e+00 4.3127694608414890e-01 1.5342835924650281e+01 6.3921128351767580e+00 0 -4 2
189 2 0.0000000000000000e+00 1.6277194566655657e+00 1.5297848066687743e+01 5.1339626785021730e+00 0 -4 2
133 2 0.0000000000000000e+00 1.1636454179819162e+00 1.5350149245152526e+01 1.2830627042378454e+01 0 1 -1
94 2 0.0000000000000000e+00 1.0592738861583992e+01 1.7732750083134125e+01 5.7772046341668206e+00 0 1 0
142 2 0.0000000000000000e+00 1.6256539716856604e+01 1.9749098610677549e+01 6.5318377065570568e+00 0 1 -1
92 2 0.0000000000000000e+00 9.7847287411240025e+00 1.8843682004651004e+01 7.0372273748777996e+00 0 1 0
93 2 0.0000000000000000e+00 1.0433757074223312e+01 1.7092717093537495e+01 7.4602881391142226e+00 0 1 0
91 1 0.0000000000000000e+00 1.0022458193794600e+01 1.7813733343021976e+01 6.7342441922081004e+00 0 1 0
95 2 0.0000000000000000e+00 9.0707847285700840e+00 1.7437511967602120e+01 6.4019094089154178e+00 0 1 0
145 2 0.0000000000000000e+00 1.6647960553474118e+01 1.8764970443696402e+01 7.8738305743942627e+00 0 1 -1
141 1 0.0000000000000000e+00 1.5864831758896935e+01 1.8890474038479184e+01 7.0828183623273162e+00 0 1 -1
144 2 0.0000000000000000e+00 1.4889881493525582e+01 1.9039981127760086e+01 7.6012774831328347e+00 0 1 -1
143 2 0.0000000000000000e+00 1.5854773748227343e+01 1.7952725095472243e+01 6.5270943374070436e+00 0 1 -1
70 2 0.0000000000000000e+00 1.9627676113051439e+01 1.9684011340627997e+01 5.2597192469574079e+00 -1 1 -1
259 2 0.0000000000000000e+00 1.7974236951843885e+01 1.5714248731538277e+01 5.6878741749044410e+00 -2 -2 1
257 2 0.0000000000000000e+00 1.7325187482971099e+01 1.4206794248402689e+01 6.3767852211946252e+00 -2 -2 1
68 2 0.0000000000000000e+00 1.8638856832648528e+01 1.0955709147544939e+00 5.8261037015770762e+00 -1 2 -1
288 2 0.0000000000000000e+00 1.6474892912428287e+00 5.8017352205231243e-01 1.0571181228055464e+01 -1 2 0
286 1 0.0000000000000000e+00 7.1123670895625890e-01 1.9918430824567974e+01 1.0748501687703365e+01 -1 1 0
278 2 0.0000000000000000e+00 7.2798646730446706e+00 3.5748463446657421e+00 1.1085765932361522e+01 0 1 -1
276 1 0.0000000000000000e+00 6.8050173847218414e+00 2.5671954190725876e+00 1.1293726004982144e+01 0 1 -1
280 2 0.0000000000000000e+00 7.4751028807192572e+00 1.6695384065643097e+00 1.1353309143135288e+01 0 1 -1
277 2 0.0000000000000000e+00 6.2736611689350203e+00 2.6543244261291745e+00 1.2223424751567363e+01 0 1 -1
279 2 0.0000000000000000e+00 6.0072634330889851e+00 2.3258985121139601e+00 1.0568779981294913e+01 0 1 -1
245 2 0.0000000000000000e+00 1.3028732147408457e+01 3.4469223880747153e+00 9.1049871261920892e+00 1 0 1
243 2 0.0000000000000000e+00 1.2940287992920529e+01 1.9097563512303122e+00 9.7741927700801963e+00 1 0 1
241 1 0.0000000000000000e+00 1.3451473764465414e+01 2.8700780207674410e+00 9.9633262493283627e+00 1 0 1
242 2 0.0000000000000000e+00 1.3217049225368687e+01 3.3091833836728597e+00 1.0949602685733648e+01 1 0 1
303 2 0.0000000000000000e+00 3.1191252644927953e-01 2.1730731336728124e+00 9.4004825906570364e+00 0 -1 3
290 2 0.0000000000000000e+00 3.8428943531377824e-02 1.5102741619080107e-01 9.8543166681516485e+00 -1 2 0
244 2 0.0000000000000000e+00 1.4487115690064725e+01 2.7256270784347056e+00 1.0100669572350684e+01 1 0 1
298 2 0.0000000000000000e+00 1.9000581501316233e+01 4.1040138821960905e+00 1.6084524934226057e+01 -1 0 1
300 2 0.0000000000000000e+00 1.7157023619010925e+01 3.6875057652326904e+00 1.6208541223111283e+01 -1 0 1
80 2 0.0000000000000000e+00 1.6272492854913420e+01 1.7694925955900604e+00 1.2727722934632629e+01 1 1 -3
77 2 0.0000000000000000e+00 1.7852675042833575e+01 2.5266033114166899e+00 1.3283594102758114e+01 1 1 -3
76 1 0.0000000000000000e+00 1.7208586947862813e+01 2.2635586203636375e+00 1.2399267294872022e+01 1 1 -3
79 2 0.0000000000000000e+00 1.6991485512895991e+01 3.1849043138940130e+00 1.1866260725568040e+01 1 1 -3
78 2 0.0000000000000000e+00 1.7757533425041085e+01 1.5285735084063925e+00 1.1801445510350518e+01 1 1 -3
302 2 0.0000000000000000e+00 7.9367314300036185e-03 3.9838389784018657e+00 9.6192987176552940e+00 0 -1 3
267 2 0.0000000000000000e+00 2.0674360144183956e+00 8.5776641218665119e+00 9.5989584659764660e+00 1 0 -2
266 1 0.0000000000000000e+00 1.1980024596167258e+00 8.4519906495339292e+00 8.9736168618903154e+00 1 0 -2
270 2 0.0000000000000000e+00 1.3227836782791205e+00 8.9961791811375615e+00 7.9710737357599886e+00 1 0 -2
310 2 0.0000000000000000e+00 2.6761759786773864e+00 7.2731318704994576e+00 1.4271185330896181e+01 0 2 1
306 1 0.0000000000000000e+00 3.1757086622046411e+00 7.8843945690420600e+00 1.3518191121353995e+01 0 2 1
307 2 0.0000000000000000e+00 2.5125476286007351e+00 8.5260395735708023e+00 1.2893579375366818e+01 0 2 1
309 2 0.0000000000000000e+00 3.6418042222481697e+00 7.1035520395111682e+00 1.2921536051921271e+01 0 2 1
90 2 0.0000000000000000e+00 9.5356314893739267e+00 8.5484613153173648e+00 1.4087331998822318e+01 -1 0 1
87 2 0.0000000000000000e+00 9.0072657330587962e+00 8.7013079613201914e+00 1.2460178869272461e+01 -1 0 1
249 2 0.0000000000000000e+00 1.2384853075083686e+01 8.2720107522952144e+00 1.1640005780365739e+01 -2 0 3
250 2 0.0000000000000000e+00 1.3909740696186651e+01 7.4603244147289312e+00 1.1975483113188702e+01 -2 0 3
248 2 0.0000000000000000e+00 1.2400053655447357e+01 6.4776398085266766e+00 1.2100324568950599e+01 -2 0 3
246 1 0.0000000000000000e+00 1.2887603983327981e+01 7.3209748924566629e+00 1.1512833319280736e+01 -2 0 3
113 2 0.0000000000000000e+00 9.9889703288316483e+00 1.0026728229965448e+01 1.0252244584414809e+01 -2 -1 -1
247 2 0.0000000000000000e+00 1.3043870390204599e+01 7.0415391203083502e+00 1.0449977038959226e+01 -2 0 3
99 2 0.0000000000000000e+00 1.5746220384960795e+01 1.1936677235977722e+01 1.4074436522758678e+01 0 2 0
305 2 0.0000000000000000e+00 9.1563297729149229e-01 3.2993069524922425e+00 8.0869430381809835e+00 0 -1 3
301 1 0.0000000000000000e+00 6.7956495025930175e-01 3.1992098996695879e+00 9.1919706580507619e+00 0 -1 3
228 2 0.0000000000000000e+00 1.5093349765760419e+01 9.6511109733770581e+00 1.1973364584432678e+01 -2 0 -2
227 2 0.0000000000000000e+00 1.4324285051482850e+01 9.7140330079488049e+00 1.0450998206170086e+01 -2 0 -2
296 1 0.0000000000000000e+00 1.7933631624918764e+01 4.4386107687201317e+00 1.5892195587304197e+01 -1 0 1
297 2 0.0000000000000000e+00 1.7845215303357907e+01 5.3436697357782714e+00 1.6511114150158441e+01 -1 0 1
299 2 0.0000000000000000e+00 1.7826173326549991e+01 4.7011258972400993e+00 1.4787316916066922e+01 -1 0 1
209 2 0.0000000000000000e+00 1.7792658424620985e+01 1.1207169715678084e+01 1.2954587162051725e+01 -1 1 0
230 2 0.0000000000000000e+00 1.6093397436975664e+01 9.4804078821206748e+00 1.0490556990732042e+01 -2 0 -2
226 1 0.0000000000000000e+00 1.5236708780494391e+01 1.0032915852901922e+01 1.0966906777896606e+01 -2 0 -2
20 2 0.0000000000000000e+00 4.0069853025640922e+00 9.4133540775905260e+00 1.0030142151196140e+01 -1 -1 -1
83 2 0.0000000000000000e+00 8.5001478950175646e-01 1.2505784824816704e+01 8.9356458679388897e+00 -3 -1 0
207 2 0.0000000000000000e+00 1.9584585172210637e+01 1.0872014510559106e+01 1.3003817968550416e+01 -1 1 0
308 2 0.0000000000000000e+00 3.9565192455190252e+00 8.5905916272941170e+00 1.3940034039983082e+01 0 2 1
162 2 0.0000000000000000e+00 5.2019171030512315e+00 1.4911387230883586e+01 1.3650281511126655e+01 -1 -2 -1
163 2 0.0000000000000000e+00 6.7099817143883502e+00 1.5836023810809861e+01 1.4296045952123722e+01 -1 -2 -1
164 2 0.0000000000000000e+00 5.4733950469561625e+00 1.5157983477774172e+01 1.5385431599293677e+01 -1 -2 -1
89 2 0.0000000000000000e+00 9.6683499722095281e+00 1.0157530252137828e+01 1.3277220275170791e+01 -1 0 1
115 2 0.0000000000000000e+00 1.0963981787078335e+01 1.0238015582003770e+01 1.1669685302879071e+01 -2 -1 -1
149 2 0.0000000000000000e+00 9.5679791323898584e+00 1.6236225524313834e+01 1.3021460590584111e+01 0 1 0
88 2 0.0000000000000000e+00 8.0855212361023305e+00 9.4909831421040867e+00 1.3862452839100875e+01 -1 0 1
86 1 0.0000000000000000e+00 9.0817775661206213e+00 9.2260799410188525e+00 1.3405039740437894e+01 -1 0 1
97 2 0.0000000000000000e+00 1.4850474205646920e+01 1.1876609624108585e+01 1.5586695318932938e+01 0 2 0
96 1 0.0000000000000000e+00 1.5567837216991146e+01 1.2542666834877332e+01 1.4993031756891178e+01 0 2 0
112 2 0.0000000000000000e+00 1.1819398510444287e+01 1.0253415508963975e+01 1.0083860977217819e+01 -2 -1 -1
111 1 0.0000000000000000e+00 1.0870319514076888e+01 1.0507411987324220e+01 1.0653795550220012e+01 -2 -1 -1
114 2 0.0000000000000000e+00 1.0670798134660316e+01 1.1563526859154297e+01 1.0636507006156691e+01 -2 -1 -1
147 2 0.0000000000000000e+00 1.0030091785964611e+01 1.5559753907228664e+01 1.1359170333580273e+01 0 1 0
148 2 0.0000000000000000e+00 1.0363562855853885e+01 1.4630007513271455e+01 1.2834538364352577e+01 0 1 0
146 1 0.0000000000000000e+00 1.0264614950421247e+01 1.5658819492955097e+01 1.2375158233053595e+01 0 1 0
84 2 0.0000000000000000e+00 6.4855204126238608e-01 1.0879429838952138e+01 9.5960369391299079e+00 -3 -1 0
98 2 0.0000000000000000e+00 1.5195765671511536e+01 1.3530581931459675e+01 1.4941942918621361e+01 0 2 0
100 2 0.0000000000000000e+00 1.6509499312978438e+01 1.2521039286941511e+01 1.5514933162064928e+01 0 2 0
210 2 0.0000000000000000e+00 1.9010953245303803e+01 1.2588036023419427e+01 1.2501350536398311e+01 -1 1 0
206 1 0.0000000000000000e+00 1.8796128416664754e+01 1.1695878369608607e+01 1.3126446226197251e+01 -1 1 0
124 2 0.0000000000000000e+00 1.8851055609611649e+01 1.6189394720348130e+01 1.3569746871645213e+01 1 4 1
208 2 0.0000000000000000e+00 1.8955895999478880e+01 1.2068713530832138e+01 1.4196704599549090e+01 -1 1 0
121 1 0.0000000000000000e+00 1.8218527032071076e+01 1.6265890183971752e+01 1.4429165502215785e+01 1 4 1
82 2 0.0000000000000000e+00 2.7105040024561955e-01 1.1133233366906710e+01 7.8747052899409287e+00 -3 -1 0
81 1 0.0000000000000000e+00 2.1191140377158973e-01 1.1587897923751379e+01 8.8521512268483846e+00 -3 -1 0
123 2 0.0000000000000000e+00 1.7220664898760585e+01 1.5756652784697179e+01 1.4389309681514048e+01 1 4 1
131 1 0.0000000000000000e+00 6.5965522012960465e-01 1.4471789471229318e+01 1.2368752811895776e+01 0 1 -1
135 2 0.0000000000000000e+00 8.9510772505030556e-01 1.3511535394863298e+01 1.2825862461561147e+01 0 1 -1
134 2 0.0000000000000000e+00 8.8118384091726409e-01 1.4460319056017974e+01 1.1245977596612807e+01 0 1 -1
132 2 0.0000000000000000e+00 1.9597638703087135e+01 1.4522359508092684e+01 1.2548339306930385e+01 -1 1 -1
289 2 0.0000000000000000e+00 3.0702167454193430e-01 1.3225192402863420e-01 1.1764312683149074e+01 -1 2 0
185 2 0.0000000000000000e+00 5.4358122902511816e+00 1.9933621431653336e+01 9.5166115370656286e+00 -2 -1 -2
161 1 0.0000000000000000e+00 5.6192878126483636e+00 1.5599658591819033e+01 1.4423138766205485e+01 -1 -2 -1
165 2 0.0000000000000000e+00 5.1118417294714780e+00 1.6538073826005178e+01 1.4438012515220892e+01 -1 -2 -1
57 2 0.0000000000000000e+00 9.5068361984935361e+00 6.0816680751827601e-01 1.0961727024613694e+01 2 0 -1
181 1 0.0000000000000000e+00 6.0135031088454580e+00 1.9345895608831871e+01 1.0334973170151127e+01 -2 -1 -2
183 2 0.0000000000000000e+00 5.7779933995792963e+00 1.9995130130085741e+01 1.1232169397470580e+01 -2 -1 -2
182 2 0.0000000000000000e+00 7.1138820563582126e+00 1.9412321646338448e+01 1.0364762073596417e+01 -2 -1 -2
59 2 0.0000000000000000e+00 9.6220942075791438e+00 1.9896931995375738e+01 1.2662882300112981e+01 2 -1 -1
184 2 0.0000000000000000e+00 5.4952901130338221e+00 1.8316039126568185e+01 1.0485729735596614e+01 -2 -1 -2
282 2 0.0000000000000000e+00 8.4373648127082781e+00 1.6656216910232182e+01 1.6009990046113856e+01 1 1 1
285 2 0.0000000000000000e+00 7.8179595848169461e+00 1.8122309920561523e+01 1.6904563064513709e+01 1 1 1
150 2 0.0000000000000000e+00 1.1311687885575235e+01 1.6064075980207793e+01 1.2471941174377442e+01 0 1 0
60 2 0.0000000000000000e+00 9.5863882520853760e+00 1.7375408363551990e+00 1.2299265419469311e+01 2 0 -1
58 2 0.0000000000000000e+00 1.1051086876583636e+01 8.9207793137264080e-01 1.1889099779371454e+01 2 0 -1
56 1 0.0000000000000000e+00 9.9392583568421262e+00 7.8546641770808190e-01 1.1968639452421639e+01 2 0 -1
125 2 0.0000000000000000e+00 1.8000989139567306e+01 1.7296274771938553e+01 1.4721873479302953e+01 1 4 1
13 2 0.0000000000000000e+00 1.6189702206251684e+00 1.8646775005931687e+01 1.6455886224379253e+01 1 -1 0
12 2 0.0000000000000000e+00 1.1501703316680048e+00 1.9792649682474195e+01 1.7748820124444485e+01 1 -1 0
14 2 0.0000000000000000e+00 2.1564808293124225e+00 4.3839306846282616e-01 1.6391944590352452e+01 1 0 0
11 1 0.0000000000000000e+00 1.3567089412249069e+00 1.9710496905494129e+01 1.6721737946985549e+01 1 -1 0
15 2 0.0000000000000000e+00 4.7891531490894912e-01 6.3148495004174521e-02 1.6181544018682885e+01 1 0 0
47 2 0.0000000000000000e+00 9.0271969090193611e+00 3.1737009243899692e+00 2.3269000801034752e+00 0 -3 -1
46 1 0.0000000000000000e+00 9.5184417744724037e+00 3.9851211232763224e+00 1.6994391857151094e+00 0 -3 -1
50 2 0.0000000000000000e+00 1.0521777102475017e+01 4.2963334757299370e+00 2.0231028177358961e+00 0 -3 -1
154 2 0.0000000000000000e+00 6.7952243452702090e+00 2.1448352724116551e+00 1.7505872922635302e+01 2 1 1
151 1 0.0000000000000000e+00 6.5299092353945323e+00 1.5255788348748884e+00 1.8352222992803402e+01 2 1 1
155 2 0.0000000000000000e+00 6.8168852775865663e+00 4.5058226223199377e-01 1.8364576028692024e+01 2 1 1
160 2 0.0000000000000000e+00 1.5118330965778773e+01 3.4868149689777925e+00 1.6732304135943068e+01 0 0 -1
205 2 0.0000000000000000e+00 1.6858430561726600e+01 8.5488396593281202e-01 1.9603680187289093e+01 2 0 0
201 1 0.0000000000000000e+00 1.7375575203241429e+01 1.9832656234949663e+01 1.9562671733831710e+01 2 -1 0
202 2 0.0000000000000000e+00 1.7440820395599918e+01 1.9520412413914453e+01 1.8463824353280238e+01 2 -1 0
203 2 0.0000000000000000e+00 1.8342598029999994e+01 1.9834220314801851e+01 9.1699650061570992e-02 2 -1 1
212 2 0.0000000000000000e+00 3.4498460378284856e-01 6.5284870792135914e+00 1.9626356025996795e+01 2 1 2
211 1 0.0000000000000000e+00 2.9760010819141552e-01 6.5805924237908853e+00 1.8538349501024726e+01 2 1 2
214 2 0.0000000000000000e+00 1.9234179785084343e+01 6.8966842448219552e+00 1.8273971391654737e+01 1 1 2
213 2 0.0000000000000000e+00 9.4479007636097256e-01 7.4215365008163721e+00 1.8240048511571356e+01 2 1 2
48 2 0.0000000000000000e+00 8.8441549305166873e+00 4.8761263256453917e+00 1.7706538770564662e+00 0 -3 -1
195 2 0.0000000000000000e+00 6.9403200134848211e+00 9.1425852563475107e+00 6.6435233215693668e-01 -1 1 1
191 1 0.0000000000000000e+00 6.6029444860411504e+00 1.0171538460224131e+01 5.1908221452796721e-01 -1 1 1
192 2 0.0000000000000000e+00 5.7450744569807259e+00 1.0073475983370438e+01 1.9912648711557651e+01 -1 1 0
37 2 0.0000000000000000e+00 1.0756862700009142e+01 9.0191291384125432e+00 1.1207218204430782e+00 3 0 -1
215 2 0.0000000000000000e+00 7.0706237271719330e-01 5.5977448904573031e+00 1.8113877770586388e+01 2 1 2
200 2 0.0000000000000000e+00 3.1425905026608048e+00 1.3045684099342436e+01 1.8670316410810546e+01 0 -1 -4
198 2 0.0000000000000000e+00 4.8269930294372001e+00 1.3265277164734856e+01 1.9313338739393551e+01 0 -1 -4
196 1 0.0000000000000000e+00 4.1166540055393064e+00 1.2519371126466199e+01 1.8892023987056067e+01 0 -1 -4
197 2 0.0000000000000000e+00 4.3847180122220992e+00 1.2247157678351046e+01 1.7863588629818835e+01 0 -1 -4
199 2 0.0000000000000000e+00 3.9576966994170535e+00 1.1733721906350182e+01 1.9610655971980137e+01 0 -1 -4
292 2 0.0000000000000000e+00 1.9675674895103640e+01 1.5782524522398687e+01 1.8989726588163212e+01 4 -2 0
193 2 0.0000000000000000e+00 6.2963773493789983e+00 1.0734056217963904e+01 1.4319368243099124e+00 -1 1 1
222 2 0.0000000000000000e+00 8.2786319875478185e+00 1.3201479047951652e+01 1.5063627784041008e+01 0 1 1
225 2 0.0000000000000000e+00 7.6696975922089994e+00 1.3473587294729841e+01 1.6692477007837454e+01 0 1 1
221 1 0.0000000000000000e+00 8.2156420833644770e+00 1.3923639108283185e+01 1.5872709731411131e+01 0 1 1
223 2 0.0000000000000000e+00 7.5855122693612120e+00 1.4805895263916909e+01 1.5564322441046409e+01 0 1 1
224 2 0.0000000000000000e+00 9.1681978684693526e+00 1.4299634810045507e+01 1.6322644585423220e+01 0 1 1
39 2 0.0000000000000000e+00 9.4987968719730311e+00 7.9843140093930769e+00 1.8490393092806989e+00 3 0 -1
122 2 0.0000000000000000e+00 1.8747855543184116e+01 1.5879898544955875e+01 1.5328750515364884e+01 1 4 1
291 1 0.0000000000000000e+00 5.4323749174873204e-01 1.5566898025370776e+01 1.8346807023484160e+01 5 -2 0
295 2 0.0000000000000000e+00 1.0119263588126288e+00 1.4667126471619692e+01 1.8743522226781391e+01 5 -2 0
294 2 0.0000000000000000e+00 2.3088129680602246e-01 1.5392388874703020e+01 1.7332378376616454e+01 5 -2 0
153 2 0.0000000000000000e+00 6.8084620975946715e+00 2.0178595375593598e+00 1.9368986187214727e+01 2 1 1
152 2 0.0000000000000000e+00 5.4178570675723199e+00 1.4199223510245125e+00 1.8286638215954397e+01 2 1 1
283 2 0.0000000000000000e+00 7.1698835047579834e+00 1.7681183484294465e+01 1.5302545021292589e+01 1 1 1
281 1 0.0000000000000000e+00 8.1201530527127641e+00 1.7697240581541340e+01 1.5889308627763242e+01 1 1 1
284 2 0.0000000000000000e+00 8.8735032632712620e+00 1.8459143077051447e+01 1.5496269781359343e+01 1 1 1
64 2 0.0000000000000000e+00 1.0332560918701450e+01 1.7663868104577137e+01 1.7752043347153101e+01 1 -1 0
62 2 0.0000000000000000e+00 1.1758727085987680e+01 1.7282382125472257e+01 1.6757265243608312e+01 1 -1 0
63 2 0.0000000000000000e+00 1.1992971983701571e+01 1.8315723598997362e+01 1.8277128129317244e+01 1 -1 0
61 1 0.0000000000000000e+00 1.1327027880825648e+01 1.8020737941213067e+01 1.7445093051465371e+01 1 -1 0
65 2 0.0000000000000000e+00 1.1108190265562886e+01 1.8917784385400331e+01 1.6783158230629301e+01 1 -1 0
204 2 0.0000000000000000e+00 1.6696133259270116e+01 1.9227937926937326e+01 1.7665040573529225e-01 2 -1 1
293 2 0.0000000000000000e+00 1.2428903058180443e+00 1.6400936594837656e+01 1.8352614597098761e+01 5 -2 0
Velocities
175 -2.1358259165668528e-02 -1.7339816448672610e-02 1.5664884602676614e-02
103 2.2136788480931514e-02 1.3791380676591778e-03 4.7417555587605495e-04
275 -3.3748111352892682e-03 1.3555049481064976e-02 2.0558202857799288e-02
271 -9.0906247974434379e-03 4.6578038455500200e-03 -2.9540387935631002e-03
272 -6.7353608908594107e-03 2.3429221164303016e-02 -1.4200737876190785e-03
273 -3.5229765885167810e-02 8.1635368195765116e-03 -1.7498854107057496e-02
274 -1.4391781427507411e-02 5.1152450057436686e-04 -2.1474316344183491e-02
1 2.8549987730996343e-03 -1.1424149405044636e-02 3.0879757962828185e-03
4 1.8337961364842888e-02 -1.0717011238057654e-02 -1.2072948689306140e-02
2 2.4068947326967557e-02 7.9729634135825723e-03 -3.7414367470498386e-03
49 4.2352380796642469e-02 1.7250840658900445e-03 -1.7390908725286074e-02
5 -2.1858286327952281e-02 -2.7004466166471463e-02 4.3300200889093247e-02
156 2.0304778777162778e-03 -7.3690927924099456e-03 -1.2854611268247522e-02
158 3.3620112485522831e-02 5.9712961025144727e-03 -8.4513320887959070e-03
3 1.9009921019910420e-02 2.6552525811790847e-02 -2.4210305660493921e-02
54 2.3499491820316867e-02 -2.5156080161610053e-02 -5.6197443957496900e-04
159 1.5968265724446044e-02 1.4068639935722630e-02 -2.1376578453391779e-02
174 -1.2352728632106782e-02 1.4073475655077088e-02 -1.5401830818404121e-03
110 -2.1720758963629454e-02 1.4410328279069552e-02 1.6986490382604204e-03
106 2.9190560792996373e-03 -4.2698273511984543e-03 2.8794767741132312e-03
107 7.4213992872985760e-03 1.0720876414390337e-02 -4.4295266125072789e-03
171 4.1905700447088558e-03 -1.0956830302507676e-02 8.8843838338574458e-03
109 1.8219836284214277e-02 -6.5022585198554802e-03 -6.5284694534882507e-03
108 -1.8056028840372405e-02 -9.7629002674145069e-03 -1.7506955814616133e-02
10 -1.3542918530869563e-02 -1.8397508666858148e-02 -6.8792538288556977e-03
119 1.1157637573771799e-02 -9.7459459128669060e-03 6.5562617050118378e-03
173 -6.8136384037513851e-03 -8.9860770729900449e-03 -3.6013120849660317e-02
194 -5.5924267279926600e-04 -2.0456144423234412e-02 -5.6086903612861993e-04
43 -5.2082189441791646e-02 -4.1648216586539551e-03 -3.2952235352484031e-02
157 2.1328646257018816e-04 -2.4264990795243219e-02 1.5606707228739086e-04
314 -3.2625907310169042e-03 -3.1770878160917843e-03 1.4016477509629069e-02
315 -4.6483008990176974e-04 -3.0415793935735305e-03 2.1918053923409828e-02
311 -4.3754084027487787e-03 -1.8285667342924309e-02 3.1236274438242581e-03
38 -5.0133523842299368e-02 5.5086789563759710e-03 -1.7388017194988552e-02
30 1.2694204474430587e-02 1.4483577243556018e-02 2.6679433087676140e-02
27 -2.7042829736552237e-02 1.2854217956889017e-02 -2.5132368298341479e-02
26 5.8254907338675952e-03 5.9696513226330742e-03 -4.4472222458134345e-03
264 -1.8834530860499805e-02 2.4602293266228648e-02 -9.5550198704043438e-03
22 2.4156558631746733e-03 1.8146866370697994e-02 -8.5395882158565486e-03
28 5.5919912088353965e-02 -2.2856212665838191e-02 -2.3109504853120744e-02
265 -7.3778672548913517e-03 -5.3047723640206653e-03 1.8158224548633247e-02
263 1.3784851386139642e-02 1.5665509018552577e-03 -1.6737932724647096e-02
262 -6.5098283262917918e-04 9.9409024712909383e-03 -1.0212431287587337e-02
261 7.9673984078064831e-04 8.4400774340785169e-03 -3.0016899980537782e-03
313 1.2399529450119821e-02 -3.8148314942350159e-02 3.1153989217802023e-02
177 1.8753394156560649e-02 -1.7179251685926988e-02 -2.5189617943691353e-03
176 -5.1448779033722450e-03 2.9753446552111744e-04 2.2546478257789550e-03
179 2.4813732525894534e-02 5.0890248880097726e-03 3.5289780507974731e-02
40 7.9377852950771599e-03 -4.9484347984021975e-03 -3.9845347703874240e-02
36 -4.1376033628292026e-03 -7.8792503425939384e-03 7.6626232377946541e-03
29 -8.7246954139641886e-03 -1.5552220764669844e-03 2.1080552891556224e-02
127 1.4224664834616065e-03 -9.7600449613677951e-03 4.6757240160358440e-02
129 -4.8302084907600358e-03 -3.5909554531948405e-02 -1.0808233628427503e-02
130 8.4743706485674580e-05 1.1062617494156411e-02 -5.1762272585835566e-02
126 -3.6948389643019571e-03 2.0119573567856357e-03 4.8279968661582816e-03
128 9.1998093143287791e-04 -1.7592502656793921e-02 -1.2108726587265398e-02
33 3.0228121634122803e-02 2.3372853048996882e-02 1.8123915036330412e-02
32 -2.2339524503340782e-02 -2.7694609076392589e-02 7.6397440200546042e-03
31 -2.9683213524512755e-03 5.6598119573995356e-04 4.4738888026158424e-03
35 -2.3264489494799475e-02 -1.9071640664055704e-02 9.0690264016809723e-03
34 -8.9126153133044974e-03 8.9753524163035218e-03 -5.5696004238540778e-03
178 -4.0628806164661732e-02 -1.5910538984815255e-02 -2.1635512103215650e-02
168 2.9487755356416238e-03 -2.3588865201902582e-03 -3.7222383743421988e-03
169 1.9901270039060313e-02 1.4953414769741744e-02 3.6886613057867938e-02
166 6.5184706543446099e-03 1.2937989631760692e-03 4.7918289652051985e-03
167 -1.1005457870082605e-02 5.6214978339947158e-03 -5.2637535620151145e-03
170 -1.3169538365702539e-02 6.6645904890090188e-03 -1.4438144632164451e-02
69 -1.4723565997107800e-02 1.3961543539499806e-02 -7.9298975227918330e-04
66 -6.1124829111106310e-04 8.4959685929401722e-03 4.0060920153148745e-03
67 2.6347881612626991e-02 2.6758622280420235e-02 -3.9219523752856778e-03
102 4.9037991333892022e-04 1.1367344719689809e-02 -1.0351734553865392e-02
287 6.1693115595047344e-03 -3.4071087047206697e-02 -4.8770139462771828e-03
104 -2.9001977263992814e-04 -4.8018835703595712e-02 8.2522964236864272e-03
101 -2.1595952290281179e-03 -9.1220727133040792e-03 -2.2663185790479804e-03
138 1.0825951870682032e-02 4.4674631047191972e-02 8.0582031557165403e-03
140 1.3937407259050127e-02 7.7652599552271353e-03 -4.7764076107801418e-04
139 9.4298133531529136e-03 7.2815123954151472e-03 -3.0607866689871342e-02
136 -3.6795359771187924e-03 5.6332301741221962e-03 1.0092915611641797e-02
137 6.8504972548676310e-03 2.5611569064970630e-02 6.6776699788254866e-03
52 1.1359154476080498e-02 -2.5327638792936584e-02 1.2178875548498414e-02
8 -3.9626848476712754e-03 -3.6737428507923439e-03 2.4141165005800491e-02
9 -2.3798105545486791e-02 -1.2814988723424309e-02 -6.9456796429333383e-03
6 1.1310367257926861e-03 -8.4072097312314232e-03 -4.3052877724726506e-03
116 -1.1470593840488378e-03 9.6625519642938053e-04 -2.5347503526291057e-03
120 -1.0187489349735014e-02 2.3097208609209035e-02 -7.2482634874155407e-03
172 -1.0722167890992916e-02 3.7560534285731081e-03 -1.9982485617725192e-02
105 3.9459324193027258e-02 1.2939762635455671e-02 1.8967257917585127e-02
117 -1.8912076849099263e-02 -3.0134235929470628e-02 2.2701381321846612e-02
269 6.5054575935996270e-03 5.4764171851472886e-02 -2.2714830957583351e-02
268 3.3553631076333232e-02 -1.5258192277360165e-02 1.9456059994011519e-03
42 1.2793261579624944e-02 -5.9809744261386313e-03 1.5933981143433779e-02
41 -5.5312691609400930e-03 -4.6806920829193972e-03 8.0255188051923648e-03
45 1.3355622802626336e-02 3.1569239150258583e-03 -1.6147717177448735e-02
239 -5.3574479481910416e-02 -1.2280670834038398e-02 4.2709448520367056e-03
238 -9.5470183269182173e-03 -4.8728851124632813e-03 -1.0190410936220636e-02
236 -7.2676551671173482e-03 -8.7096078439981694e-03 -1.7170787707938152e-03
237 -2.7706663797771310e-02 -1.3553159590112687e-02 -6.0758403284216500e-03
240 4.9459946600579480e-03 2.2366418999792519e-02 7.6085503920892816e-03
44 -5.0565289159678530e-03 -4.2509806593751618e-03 -2.7205700928180730e-02
217 2.5949104664788069e-02 -1.2598465982642764e-02 -1.7383641503112498e-02
220 4.1616575526147231e-03 -1.2996555820820929e-02 6.5696020000117527e-03
216 -3.0676967695959100e-03 -6.0717454033072952e-04 3.6286805985173026e-03
218 2.1242153342005948e-02 2.1875134517590909e-02 -1.0538261006934925e-02
235 8.0959031953158466e-03 -1.0239484277770857e-02 -6.4310847172104673e-03
231 1.2671621140115370e-03 6.3158614142774204e-03 -1.1085856162065821e-02
232 -1.1758303815420494e-02 -2.7970762408061674e-02 -2.0464901443964810e-02
234 4.6316736568213356e-02 1.0421900141170738e-02 3.2083877994475388e-02
233 4.3204113773632974e-03 3.1994052895021191e-02 -1.3585879010803632e-03
312 -3.4432066558224131e-02 -1.8650143991113137e-02 -2.3207068005894060e-02
7 -2.8923340164120532e-02 -3.2020568040503775e-03 1.0582756584885671e-03
53 1.0482425718249033e-02 3.2543453880761498e-02 1.3407256525175167e-02
51 -2.7647533777472727e-03 2.5548523596445015e-03 -3.8314800349883082e-03
55 3.3236802337012268e-02 9.4347261581858646e-03 -1.7422887431011909e-03
255 -3.8033887588970541e-03 1.5111053012280886e-02 6.1052184577517522e-03
252 -2.2754194534112870e-02 -1.3048319305039045e-02 -5.2292603306668423e-03
254 -2.3497794598520992e-02 2.6646578737585529e-03 -4.2271418589709614e-03
251 -4.3025525889904314e-03 5.6881565171769161e-04 -1.6880757141276750e-03
253 -3.0955550384966484e-02 1.9507221364510122e-02 -9.7722906629039378e-03
229 -3.9033434902631739e-02 2.0629761875466807e-02 -1.1837798161945664e-02
304 2.9437800824210422e-02 2.6107957321874993e-02 -1.6740135853592950e-02
118 2.3011807217750289e-02 2.7785502926397788e-02 -1.2177708311130060e-02
19 3.7339656731536726e-02 2.2905715093559511e-02 -2.1700916079518000e-02
16 7.0236094397028133e-03 -4.7383694592073736e-03 -5.1553916909904320e-03
24 9.6932353019205351e-03 6.1358953105182254e-03 4.6415863037600029e-02
17 -4.3820185712162563e-03 -9.8539460400027638e-03 -1.7360296615953144e-03
25 3.2526720252576691e-02 3.7712602791264613e-03 -1.0507908334884056e-02
23 3.7984577421594778e-02 1.6458894333801568e-02 -3.4365092676544765e-02
21 8.3897738188323939e-03 -8.2257359573751005e-05 2.4827917834231764e-03
18 -8.4001368273699598e-03 -2.0249415910385479e-02 1.0265868933456320e-02
219 8.1052928489206734e-03 3.1857479056790455e-02 1.7855298331918613e-02
73 9.6086293199115942e-03 5.7379739571472048e-03 -6.1128839904473617e-03
180 -1.0249434695619914e-02 8.9777650823829377e-04 1.5754517200971634e-02
75 -5.9117254300791386e-03 -1.0846836955636218e-02 7.2249891741041402e-03
71 -8.4274919361257555e-03 -5.6170551299936252e-04 8.4929611421829185e-03
74 1.6513496610706405e-02 9.2757315958908841e-03 -1.7018639949664096e-02
72 2.0754316208721587e-02 2.7822065358966058e-02 -2.9444419262681480e-02
260 -8.3501193603264367e-03 1.6163580735183383e-02 -9.2852005238208048e-03
256 -5.4551977968227911e-03 2.2196477445326776e-03 -5.9199537282658117e-03
258 -1.1626739619121070e-03 -7.8869903991642287e-02 1.3570382952778974e-02
85 -1.6872016478677147e-02 -2.6617697307707890e-03 -6.4825174008867840e-03
187 -1.1684109415569568e-02 2.1424923928213692e-02 3.2549082369782045e-02
190 -1.2017846236407883e-02 -1.9182599320503455e-02 -5.0763103475547780e-03
186 2.3345014273100954e-03 4.1707834750349133e-03 -1.4635431051747208e-03
188 4.1864138776088102e-03 -3.3264788688655449e-02 -2.0197126863968001e-02
189 -1.1565498783955550e-02 -2.7279811981350429e-02 -3.5810705532770576e-02
133 5.6029251820623963e-03 -3.9145362590881534e-02 1.2056515945646178e-02
94 1.5768247894093864e-02 6.8488542794511408e-03 -2.3736898332246549e-02
142 1.5134004579094303e-02 2.9546393998533614e-02 -1.6934432187161196e-02
92 1.7848579811078357e-02 1.9892663253460357e-04 9.4148163144030846e-03
93 -1.2874559632345208e-02 2.2414899564782591e-02 4.3878393977867948e-02
91 -9.1547760126469459e-03 -1.8538206289866343e-04 1.2677942555750700e-03
95 2.3402804208381141e-02 1.2225320000275659e-02 2.4779098078086793e-03
145 3.4765766696524300e-02 -1.2125666660258534e-02 -2.6196983827827845e-02
141 9.3336622046283433e-03 6.2939830247705315e-03 -5.7676554543720851e-03
144 -8.4693059766912330e-03 2.4860358738424258e-02 -7.2295338322114289e-03
143 -1.7132493555106140e-02 3.6314580278784876e-02 9.0762052685957710e-03
70 1.9977136460416507e-02 -9.9022520381668246e-04 -2.3137025791127266e-02
259 -1.1172404123583597e-02 3.4244120962861092e-02 1.2962914422362384e-02
257 1.6652722868238202e-02 6.1721154763261380e-03 2.7671207031943673e-02
68 3.4586405717963682e-02 -2.7561113557514134e-02 -3.0565775841035541e-03
288 2.5388375590062254e-02 2.8328224057453402e-02 -6.1787792959406493e-03
286 2.3234037142831746e-03 -1.1226641675492451e-02 -2.1447915323990329e-03
278 -1.9130448204099371e-02 4.8646072119671785e-02 -4.6706303426248010e-04
276 3.7675302248714750e-03 -1.8689616237481028e-03 -9.1013593099764679e-03
280 2.8707353049327927e-03 -8.4248249009652443e-03 3.5952826174438714e-02
277 3.2107813910012287e-02 -2.3841378083620014e-02 -1.7742665932139697e-02
279 9.0075175593076658e-03 -2.1258929548520499e-02 -2.1715169832854410e-03
245 -5.0313229197691219e-02 3.3271966416683146e-02 1.2401615646457365e-02
243 1.7267349858530970e-02 -3.6841453968021798e-02 3.7272920912929823e-02
241 -4.9492257397324079e-03 -2.0998948108103288e-03 -1.0255608548678305e-02
242 1.8259402736451026e-02 -3.0535677432313342e-02 1.0708085285966671e-02
303 4.1969706829175620e-02 7.8468499855047467e-03 -3.6323782136604317e-03
290 -1.0435129132176806e-02 -1.6376585872179182e-04 1.1066181875303569e-02
244 -1.3283924693128354e-02 4.3332389180037567e-02 -3.0638798879290961e-02
298 1.3490442992857867e-02 1.2297070941691995e-02 6.5389583697673262e-03
300 2.3558560003651592e-02 -1.1926874750582550e-02 2.9393046004653815e-02
80 -1.7900468470216136e-02 -4.2049416785584243e-02 -1.4101121912901604e-02
77 -7.9268839529721465e-03 -1.7469411591776320e-02 5.8217056624264409e-03
76 -2.4210568116434434e-03 3.3868658073454459e-03 4.5354029503036847e-03
79 -1.6096578801573367e-02 3.1222092847788999e-02 1.5568812352192860e-02
78 -2.0263128757657980e-02 1.1508920664235657e-02 1.6321517830321527e-02
302 1.2314047539147572e-02 4.1171994964629727e-02 3.6447122033045461e-02
267 -3.6147913817369546e-03 -4.1085473263630039e-02 -4.5410871713561764e-02
266 3.7445261937045383e-03 -5.4725372325958518e-03 -4.8775210666052263e-04
270 -4.6974660506398862e-02 2.9267623042361132e-02 1.7103952781988223e-02
310 3.4854336679752802e-02 -3.1366922981492892e-02 1.6189830916228855e-02
306 -3.6016124719612749e-03 -5.2557143604632364e-03 5.3325463143380567e-04
307 3.1190836365127834e-03 -5.5522575999682562e-03 -2.4671958196097098e-02
309 -2.1875607768396785e-02 -1.0035223603883895e-02 -1.8454932967526018e-02
90 1.1117284478472534e-02 6.3697104510559589e-03 3.3586475941409432e-03
87 3.1005528436641321e-02 -2.8210274987486361e-02 5.8682566854995292e-03
249 2.2431164831851593e-03 -2.6137696924876438e-03 3.2304453135570059e-02
250 -6.4676008093018482e-03 1.5878557794467268e-03 1.2589745128345168e-03
248 2.1928734973793870e-02 6.6077423871927301e-04 -1.2068308513715100e-02
246 4.0159104432842263e-03 -8.7580577658897358e-04 -1.9737824019506840e-03
113 -4.9120548246117841e-03 2.7752860272721360e-03 -1.1690794230788762e-02
247 3.0901829095757751e-02 3.2359456874850187e-02 3.4429537716439501e-02
99 7.5908355428783332e-03 3.1304139773755728e-02 3.8184796416412911e-02
305 1.8543810772398722e-02 -7.9041606296751613e-03 -1.5297737138143325e-02
301 -2.4810295775261733e-04 -6.7011870106087603e-03 -1.1559116639630334e-02
228 -1.7121787855787697e-02 -2.3249966000486698e-02 -3.3429000525125867e-02
227 -2.1267884320958164e-02 9.1843773148680696e-03 -2.8843934482704794e-02
296 2.3313146555151844e-03 -1.7270636372176851e-03 1.6527383996871998e-02
297 1.7997947494105805e-02 2.8485402946313340e-02 -1.0974452816118896e-02
299 -2.0319723308253261e-02 -1.4460895194683248e-02 1.8557062125962007e-02
209 -2.7768492127216059e-02 -2.2698692264974452e-02 -1.7149835276886495e-02
230 3.1263631601567900e-02 4.5953566007161896e-03 5.1600647444336616e-02
226 -4.1405149320012423e-03 4.5893146988926058e-03 3.8154988525427916e-03
20 3.6760423988065630e-02 -7.9027964434010070e-03 2.4370630138556604e-02
83 3.8603753018902364e-03 7.6421678484970453e-03 -9.7283197820310866e-03
207 -6.6489555174408617e-03 3.8170230305340927e-03 -6.9541555635654218e-03
308 1.4283678411508453e-02 1.2229248663592006e-02 1.2473340979326836e-02
162 1.0487003046928456e-02 -4.7468274308368500e-03 2.0824582077700162e-03
163 -1.5005016357924034e-02 1.2852657923415811e-02 7.6219162377470394e-03
164 1.4085108040369495e-02 -9.3523335404762462e-03 3.0898533848526585e-02
89 5.9190480573058724e-03 -4.8603896888878310e-03 -9.2083105539892268e-03
115 9.7014371108413138e-03 3.8013007617140764e-02 1.7073702560803313e-02
149 -5.8474296202959460e-03 -2.3915794277479089e-02 7.9882935654177409e-03
88 -1.5056693199160690e-03 -1.7664163133312653e-02 -9.8223687394585132e-03
86 5.0885364342055060e-03 -2.9313288175883342e-03 4.7396304951062233e-03
97 1.9137488547409001e-02 2.4588568627398728e-02 1.3414096981888399e-02
96 -7.0742593681085396e-03 8.7006536719423620e-03 4.4871413036072167e-03
112 3.0010043492168679e-03 3.0591952539986175e-03 2.2360610040808526e-02
111 3.7577762900863529e-03 2.5003648740067326e-03 -1.4057511717916422e-02
114 2.7312666867727656e-02 -1.1920280167032768e-02 -1.7387119902433697e-02
147 -3.8879127400143210e-02 -1.7129311418715289e-02 2.4192109203791806e-03
148 -1.3452206791610929e-03 -3.0270671619149125e-03 -2.3939713343365844e-02
146 7.1079301753818012e-03 3.3476940057194007e-03 -2.4484883724454590e-03
84 -1.0523255908106955e-02 1.1358838355792252e-03 -5.5886053747902136e-03
98 -6.9627315060902294e-03 -9.2985254061051272e-03 2.9339980709438520e-02
100 -3.0996423229817881e-03 3.3684875182858442e-03 1.4282565233278265e-02
210 3.0840842329267405e-02 -1.7128902730992421e-02 3.6407535299811929e-04
206 9.9568292545452065e-03 3.3132081221284777e-03 6.2104306206865073e-04
124 4.8424064813425002e-03 1.1730751333850020e-02 4.8105704672306189e-03
208 -2.2728187973369181e-02 6.0115329019679434e-02 -1.2019704685936080e-02
121 -1.5080667765130217e-04 9.2998434596676047e-03 1.8317727137131629e-04
82 1.6597974663202342e-02 -5.8997746253312191e-03 -5.4336043325623118e-03
81 -6.8466496450103574e-03 -7.3051990306069294e-03 -7.5653557218425729e-03
123 -1.5186327838636339e-02 1.8665094281866492e-02 -1.2754929005457135e-02
131 -2.6794272631216827e-03 -3.2207145440640477e-03 8.0766912989446056e-03
135 -1.5166457718118911e-02 3.6178362024540042e-03 3.3428732380209311e-02
134 3.4615784319165445e-03 2.4206167062317270e-02 -5.4085787239608381e-04
132 -8.8306846443526391e-03 2.6284158395506211e-03 -2.5178975920791598e-03
289 3.2127443073114013e-02 -1.7355239524971016e-02 4.1587535403978831e-02
185 1.4099955606904845e-02 8.5790310513041441e-03 -3.0242058322479837e-02
161 -1.2922467751511341e-02 2.3900357195990153e-03 1.4302825676046681e-03
165 -2.1284226244503445e-02 5.4803829750110066e-03 -1.0696351403461363e-02
57 -2.9042456936939399e-02 6.2743816133522274e-03 1.1686513268136620e-02
181 6.4816730951958697e-03 8.5302277278989976e-03 -6.5668897682387541e-03
183 -9.3016918743662486e-03 -1.2353994891164007e-03 -9.5528626512009114e-03
182 -1.6184453236803169e-02 -6.0874566154141751e-03 3.4238846885758852e-02
59 -1.4735179682311909e-02 5.8493180656782407e-03 1.0016512990042959e-02
184 -2.9532770683098120e-02 2.5942031703098743e-02 1.8941514145600781e-02
282 -2.4093260160961895e-02 3.3591909133166183e-02 -2.2600766499410660e-02
285 1.5329038522555370e-02 -3.7123709092502240e-02 -1.7252102044418349e-02
150 -1.2023262083111609e-02 1.2775249595154581e-02 -4.0634835881225795e-02
60 1.7557898280791597e-02 2.4376215248477891e-02 1.1758538347152450e-02
58 1.8144992057570124e-02 -7.5702843234868675e-03 -1.4923629995870002e-02
56 -1.1761403211490219e-03 6.8857907039573561e-03 -2.2603540119110633e-03
125 1.2205974441697203e-02 -1.7279014634579159e-02 4.2530645966695202e-02
13 1.9137045428760239e-03 8.9875474076530435e-03 -9.6156675976183999e-04
12 -1.7227019616086664e-02 -1.2548485558094287e-03 -1.7605743351882273e-02
14 -6.5469806850148235e-03 1.5603731904149499e-02 1.9379213254520373e-02
11 3.4021735315404480e-03 -1.4732629503099006e-02 -1.8387894210675133e-03
15 6.6797251992020462e-04 3.0865198998886196e-02 2.3887987113380628e-03
47 -9.5048600550045759e-03 -2.3464057334906328e-02 1.3777084230302550e-03
46 3.2157418933077791e-03 3.9493646679240263e-03 1.3047481022319314e-02
50 1.1645344227592129e-03 3.0412923736907820e-03 4.2707643455573305e-02
154 3.4168366668140590e-02 -1.9036765580252253e-02 1.8131624915819520e-02
151 -3.3072286903951718e-03 8.7648710297958570e-04 -6.5782652677157721e-03
155 -6.1680563882888602e-03 -1.0497735177604228e-02 1.9450379799624801e-02
160 -1.7349898337797182e-03 2.1359907178594897e-02 -2.2464567848825313e-02
205 -1.5623743135857664e-02 -1.7620923464120024e-02 1.3038901242119249e-02
201 3.4115069176382067e-03 3.1389139355505473e-03 1.4288076224225500e-02
202 2.4222754326574891e-02 -1.3489556718246623e-02 2.1163756388853386e-02
203 -1.1595039481442856e-03 -7.4102913106757014e-04 4.5462822628578540e-03
212 7.3935859008519662e-03 4.8226922649550735e-03 1.8869381529652517e-02
211 -4.3960341535625161e-03 -6.0861360973294535e-05 -1.4952919349255620e-03
214 4.3428210510383222e-03 -5.7906399923477537e-03 3.0942525621017947e-02
213 1.5215939043494105e-02 -2.7902659887590931e-02 1.5816722811721345e-02
48 -3.5077816781627887e-03 -3.2333124504558386e-02 -2.0454521813995038e-02
195 -7.4689898202003622e-03 -3.4393994553156719e-02 9.5646117774240130e-03
191 7.7439226193524377e-03 -1.6749714198483069e-03 -6.6151343864332502e-06
192 2.4463864491014845e-02 2.2614803437104033e-02 3.3890821685470522e-02
37 -8.9568894218416961e-03 1.2792918581938388e-03 -1.5471001358254778e-02
215 1.9578246142917431e-04 3.0762244364193399e-02 -1.6498990559322031e-02
200 2.2542526933536308e-02 4.2199096064752445e-02 2.2077373881583519e-02
198 3.5778288054771831e-03 5.0482035751054396e-04 -6.5716247893242291e-03
196 -9.8419792498795743e-03 2.7419078925250018e-03 -2.6038068222809106e-03
197 -1.5089375859679781e-02 2.2046092191812455e-02 -2.7059575962908280e-02
199 -2.1714227606551884e-02 6.4731847272046870e-03 -2.7308574260460093e-02
292 5.2200250189205532e-03 -3.5583672736965023e-03 -3.8669973002571710e-02
193 -2.7565971198342479e-02 3.3670688856475457e-02 -8.5250838280123281e-03
222 3.7605718668314823e-02 -2.4346327009190323e-02 1.7456599656632692e-02
225 -9.9510518223425142e-03 -8.7062067334547737e-03 -1.9168305625664527e-02
221 -1.8762639766564139e-03 -2.2718227061860651e-03 -4.2361460647047490e-03
223 6.3985564466709950e-03 4.0948349441623205e-02 -2.0062674414098799e-03
224 -9.4998995917320757e-03 -4.1774686424660918e-03 -2.5519386468900784e-02
39 8.4596247618711779e-03 1.0616795164921563e-02 2.3657858473230930e-02
122 -1.4968464286657639e-02 -1.0871390032076086e-02 -1.8167519395605201e-02
291 1.3883634609707012e-03 4.0790427863098642e-03 -2.1697404837098112e-03
295 2.0264615856771768e-02 5.3307640197827492e-03 -1.3852908987409937e-02
294 7.1603455916708150e-03 5.0285897843204619e-03 7.3241166431432738e-04
153 3.0076738303306889e-02 2.4298999351012863e-02 -1.2607136131303244e-02
152 4.8236632932468042e-03 5.2217071221687963e-02 5.9123414621807264e-04
283 -5.8039400887170125e-03 5.0704532701600765e-03 -1.4112642821927698e-02
281 -9.8195026779512255e-03 2.6380048577205636e-03 9.0530689248384671e-03
284 3.3924632555861422e-03 4.2116137610867660e-03 2.2206053317133925e-03
64 6.9103638123651535e-03 1.4460305245499955e-02 -1.1337529684205920e-02
62 -1.5026973746144957e-02 -1.4229612681198415e-02 2.9749430352746346e-02
63 1.3416625499363493e-02 -1.3681352134066847e-02 -2.7443459813718808e-02
61 3.3033012398804508e-03 1.6556859169437473e-03 -7.8539529573181839e-03
65 -2.5121974420729800e-02 -2.3099061980316700e-02 5.2735737931542709e-02
204 1.4575953419115398e-02 -3.8575307452158376e-02 -1.5289570845150143e-02
293 1.1695533411766636e-02 3.1524287197995153e-02 1.2872141480690781e-02

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
tabulate_long_range 30000

View File

@ -0,0 +1,78 @@
DATE: 2017-11-20 CONTRIBUTOR: Michal Kanski michal.kanski@uj.edu.pl CITATION: Michal Kanski, Dawid Maciazek, Zbigniew Postawa, Adri C.T. van Duin, Chowdhury Ashraf, and Barbara J. Garrison Development of a Charge-Implicit ReaxFF Potential for Hydrocarbon Systems, J. Phys. Chem. Lett., 2018, 9, pp 359363, DOI: 10.1021/acs.jpclett.7b03155
39 ! Number of general parameters
50.0000 !p(boc1)
9.5469 !p(boc2)
26.5405 !p(coa2)
1.5105 !p(trip4)
6.6630 !p(trip3)
70.0000 !kc2
1.0588 !p(ovun6)
4.6000 !p(trip2)
12.1176 !p(ovun7)
13.3056 !p(ovun8)
-70.1292 !p(trip1)
0.0000 !Lower Taper-radius (swa)
7.0000 !Upper Taper-radius (swb)
0.0000 !not used
33.8667 !p(val7)
6.0891 !p(lp1)
1.0563 !p(val9)
2.0384 !p(val10)
6.1431 !not used
6.9290 !p(pen2)
0.3989 !p(pen3)
3.9954 !p(pen4)
0.0000 !not used
5.7796 !p(tor2)
10.0000 !p(tor3)
1.9487 !p(tor4)
0.0000 !not used
2.1645 !p(cot2)
1.5591 !p(vdW1)
0.1000 !Cutoff for bond order*100 (cutoff)
2.1365 !p(coa4)
0.6991 !p(ovun4)
50.0000 !p(ovun3)
1.8512 !p(val8)
0.0000 !not used
0.0000 !not used
0.0000 !not used
0.0000 !not used
2.6962 !p(coa3)
2 ! Nr of atoms; atomID;ro(sigma); Val;atom mass;Rvdw;Dij;gamma
alfa;gamma(w);Val(angle);p(ovun5);n.u.;chiEEM;etaEEM;n.u.
ro(pipi);p(lp2);Heat increment;p(boc4);p(boc3);p(boc5),n.u.;n.u.
p(ovun2);p(val3);n.u.;Val(boc);p(val5);n.u.;n.u.;n.u.
C 1.5807 4.0000 12.0000 2.1339 0.2705 0.9000 1.3561 4.0000
7.0578 2.2030 4.0000 33.2433 79.5548 1.0000 7.0000 0.0000
1.2857 0.0000 199.0303 25.5946 34.7987 33.8858 0.8563 0.0000
-3.2763 4.0000 1.0564 4.0000 1.1829 1.8737 0.9340 10.7610
H 0.8431 1.0000 1.0080 1.7993 0.0531 1.0206 -0.1000 1.0000
5.1365 2.3597 1.0000 0.0000 121.1250 1.0000 7.0000 1.0000
-0.1000 0.0000 62.4879 1.7831 10.0956 1.5343 1.0698 0.0000
-39.1433 2.0000 1.0338 1.0000 1.4937 1.4730 0.2395 9.1813
3 ! Nr of bonds; at1;at2;De(sigma);De(pi);De(pipi);p(be1);p(b
p(be2);p(bo3);p(bo4);n.u.;p(bo1);p(bo2)
1 1 143.8966 78.5316 96.1991 -0.6337 -1.0884 1.0000 19.6513 0.4644
1.0466 -0.6287 8.3354 1.0000 -0.1410 7.4059 1.0000 0.0000
1 2 142.2786 0.0000 0.0000 -0.7910 0.0000 1.0000 7.6804 0.6354
8.9091 1.0000 0.0000 1.0000 -0.1759 9.1526 0.0000 0.0000
2 2 166.9928 0.0000 0.0000 -0.2894 0.0000 1.0000 9.0000 0.7986
22.4216 1.0000 0.0000 1.0000 -0.1025 5.0250 0.0000 0.0000
1 ! Nr of off-diagonal terms. at1;at2;Dij;RvdW;alfa;ro(sigma);r
1 2 0.0384 1.4571 8.0036 1.4872 -1.0000 -1.0000
6 ! Nr of angles. at1;at2;at3;Thetao,o;p(val1);p(val2);p(coa1);
1 1 1 66.9930 26.8666 1.3549 -0.9012 4.6851 18.8775 1.8087
1 1 2 65.9137 8.8776 9.1600 0.0000 0.3144 0.0000 4.3449
2 1 2 70.6653 32.2568 1.7885 0.0000 2.1528 0.0000 9.9760
1 2 2 0.0000 40.0000 1.0000 0.0000 3.2849 0.0000 9.0719
1 2 1 0.0000 33.4427 5.0679 0.0000 1.1188 0.0000 10.0000
2 2 2 0.0000 27.9213 5.8635 0.0000 0.0000 0.0000 1.0400
6 ! Nr of torsions. at1;at2;at3;at4;;V1;V2;V3;p(tor1);p(cot1);n
1 1 1 1 0.0500 17.1779 0.1145 -3.7630 -1.4900 0.0000 0.0000
1 1 1 2 -0.4619 27.8830 0.2611 -3.8205 -2.0485 0.0000 0.0000
2 1 1 2 0.1629 22.7282 0.3893 -2.9569 -7.8729 0.0000 0.0000
0 1 2 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 2 2 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 1 1 0 0.0000 50.0000 0.3000 -4.0000 -2.0000 0.0000 0.0000
0 ! Nr of hydrogen bonds. at1;at2;at3;r(hb);p(hb1);p(hb2);p(hb3

View File

@ -0,0 +1,19 @@
#ci-reax potential for CH systems with tabulated ZBL correction
atom_style charge
units real
read_data CH4.dat
pair_style hybrid/overlay reax/c control checkqeq no table linear 11000
pair_coeff * * reax/c ffield.ci-reax.CH C H
pair_coeff 1 1 table ci-reaxFF_ZBL.dat CC_cireaxFF
pair_coeff 1 2 table ci-reaxFF_ZBL.dat CH_cireaxFF
pair_coeff 2 2 table ci-reaxFF_ZBL.dat HH_cireaxFF
timestep 0.25
fix 1 all nve
fix 2 all temp/berendsen 500.0 500.0 100.0
#dump 1 all atom 30 dump.ci-reax.lammpstrj
run 3000

View File

@ -0,0 +1,84 @@
LAMMPS (23 Oct 2017)
#ci-reax potential for CH systems with tabulated ZBL correction
atom_style charge
units real
read_data CH4.dat
orthogonal box = (0 0 0) to (20 20 20)
1 by 1 by 1 MPI processor grid
reading atoms ...
315 atoms
reading velocities ...
315 velocities
pair_style hybrid/overlay reax/c control checkqeq no table linear 11000
pair_coeff * * reax/c ffield.ci-reax.CH C H
Reading potential file ffield.ci-reax.CH with DATE: 2017-11-20
pair_coeff 1 1 table ci-reaxFF_ZBL.dat CC_cireaxFF
WARNING: 2 of 10000 force values in table are inconsistent with -dE/dr.
Should only be flagged at inflection points (../pair_table.cpp:481)
pair_coeff 1 2 table ci-reaxFF_ZBL.dat CH_cireaxFF
WARNING: 2 of 11000 force values in table are inconsistent with -dE/dr.
Should only be flagged at inflection points (../pair_table.cpp:481)
pair_coeff 2 2 table ci-reaxFF_ZBL.dat HH_cireaxFF
WARNING: 2 of 6000 force values in table are inconsistent with -dE/dr.
Should only be flagged at inflection points (../pair_table.cpp:481)
timestep 0.25
fix 1 all nve
fix 2 all temp/berendsen 500.0 500.0 100.0
#dump 1 all atom 30 dump.ci-reax.lammpstrj
run 3000
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 9.5
ghost atom cutoff = 9.5
binsize = 4.75, bins = 5 5 5
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair reax/c, perpetual
attributes: half, newton off, ghost
pair build: half/bin/newtoff/ghost
stencil: half/ghost/bin/3d/newtoff
bin: standard
(2) pair table, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 43.46 | 43.46 | 43.46 Mbytes
Step Temp E_pair E_mol TotEng Press
0 508.42043 -28736.654 0 -28260.785 1678.3276
3000 480.41333 -28707.835 0 -28258.181 -3150.0762
Loop time of 21.5509 on 1 procs for 3000 steps with 315 atoms
Performance: 3.007 ns/day, 7.982 hours/ns, 139.205 timesteps/s
100.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 21.315 | 21.315 | 21.315 | 0.0 | 98.91
Neigh | 0.17846 | 0.17846 | 0.17846 | 0.0 | 0.83
Comm | 0.028676 | 0.028676 | 0.028676 | 0.0 | 0.13
Output | 2.6941e-05 | 2.6941e-05 | 2.6941e-05 | 0.0 | 0.00
Modify | 0.018969 | 0.018969 | 0.018969 | 0.0 | 0.09
Other | | 0.009438 | | | 0.04
Nlocal: 315 ave 315 max 315 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 2056 ave 2056 max 2056 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 32754 ave 32754 max 32754 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 32754
Ave neighs/atom = 103.981
Neighbor list builds = 37
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:21

View File

@ -356,7 +356,7 @@ DenseMatrix<T> Matrix<T>::pow(double n) const
int sz=this->size(); for(INDEX i=0; i<sz; i++)
{
double val = R[i];
R[i] = pow(val,n);
R[i] = std::pow(val,n);
}
return R;
}

View File

@ -92,7 +92,7 @@ int lje_gpu_init(const int ntypes, double **cutsq, double **host_lj1,
// ---------------------------------------------------------------------------
// Copy updated coeffs from host to device
// ---------------------------------------------------------------------------
int lje_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1,
void lje_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1,
double **host_lj2, double **host_lj3, double **host_lj4,
double **offset, double **shift) {
int world_me=LJEMF.device->world_me();

View File

@ -1,5 +1,75 @@
# Change Log
## [2.5.00](https://github.com/kokkos/kokkos/tree/2.5.00) (2017-12-15)
[Full Changelog](https://github.com/kokkos/kokkos/compare/2.04.11...2.5.00)
**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.5**
**Implemented enhancements:**
- Provide Makefile.kokkos logic for CMake and TriBITS [\#878](https://github.com/kokkos/kokkos/issues/878)
- Add Scatter View [\#825](https://github.com/kokkos/kokkos/issues/825)
- Drop gcc 4.7 and intel 14 from supported compiler list [\#603](https://github.com/kokkos/kokkos/issues/603)
- Enable construction of unmanaged view using common\_view\_alloc\_prop [\#1170](https://github.com/kokkos/kokkos/issues/1170)
- Unused Function Warning with XL [\#1267](https://github.com/kokkos/kokkos/issues/1267)
- Add memory pool parameter check [\#1218](https://github.com/kokkos/kokkos/issues/1218)
- CUDA9: Fix warning for unsupported long double [\#1189](https://github.com/kokkos/kokkos/issues/1189)
- CUDA9: fix warning on defaulted function marking [\#1188](https://github.com/kokkos/kokkos/issues/1188)
- CUDA9: fix warnings for deprecated warp level functions [\#1187](https://github.com/kokkos/kokkos/issues/1187)
- Add CUDA 9.0 nightly testing [\#1174](https://github.com/kokkos/kokkos/issues/1174)
- {OMPI,MPICH}\_CXX hack breaks nvcc\_wrapper use case [\#1166](https://github.com/kokkos/kokkos/issues/1166)
- KOKKOS\_HAVE\_CUDA\_LAMBDA became KOKKOS\_CUDA\_USE\_LAMBDA [\#1274](https://github.com/kokkos/kokkos/issues/1274)
**Fixed bugs:**
- MinMax Reducer with tagged operator doesn't compile [\#1251](https://github.com/kokkos/kokkos/issues/1251)
- Reducers for Tagged operators give wrong answer [\#1250](https://github.com/kokkos/kokkos/issues/1250)
- Kokkos not Compatible with Big Endian Machines? [\#1235](https://github.com/kokkos/kokkos/issues/1235)
- Parallel Scan hangs forever on BG/Q [\#1234](https://github.com/kokkos/kokkos/issues/1234)
- Threads backend doesn't compile with Clang on OS X [\#1232](https://github.com/kokkos/kokkos/issues/1232)
- $\(shell date\) needs quote [\#1264](https://github.com/kokkos/kokkos/issues/1264)
- Unqualified parallel\_for call conflicts with user-defined parallel\_for [\#1219](https://github.com/kokkos/kokkos/issues/1219)
- KokkosAlgorithms: CMake issue in unit tests [\#1212](https://github.com/kokkos/kokkos/issues/1212)
- Intel 18 Error: "simd pragma has been deprecated" [\#1210](https://github.com/kokkos/kokkos/issues/1210)
- Memory leak in Kokkos::initialize [\#1194](https://github.com/kokkos/kokkos/issues/1194)
- CUDA9: compiler error with static assert template arguments [\#1190](https://github.com/kokkos/kokkos/issues/1190)
- Kokkos::Serial::is\_initialized returns always true [\#1184](https://github.com/kokkos/kokkos/issues/1184)
- Triple nested parallelism still fails on bowman [\#1093](https://github.com/kokkos/kokkos/issues/1093)
- OpenMP openmp.range on Develop Runs Forever on POWER7+ with RHEL7 and GCC4.8.5 [\#995](https://github.com/kokkos/kokkos/issues/995)
- Rendezvous performance at global scope [\#985](https://github.com/kokkos/kokkos/issues/985)
## [2.04.11](https://github.com/kokkos/kokkos/tree/2.04.11) (2017-10-28)
[Full Changelog](https://github.com/kokkos/kokkos/compare/2.04.04...2.04.11)
**Implemented enhancements:**
- Add Subview pattern. [\#648](https://github.com/kokkos/kokkos/issues/648)
- Add Kokkos "global" is\_initialized [\#1060](https://github.com/kokkos/kokkos/issues/1060)
- Add create\_mirror\_view\_and\_copy [\#1161](https://github.com/kokkos/kokkos/issues/1161)
- Add KokkosConcepts SpaceAccessibility function [\#1092](https://github.com/kokkos/kokkos/issues/1092)
- Option to Disable Initialize Warnings [\#1142](https://github.com/kokkos/kokkos/issues/1142)
- Mature task-DAG capability [\#320](https://github.com/kokkos/kokkos/issues/320)
- Promote Work DAG from experimental [\#1126](https://github.com/kokkos/kokkos/issues/1126)
- Implement new WorkGraph push/pop [\#1108](https://github.com/kokkos/kokkos/issues/1108)
- Kokkos\_ENABLE\_Cuda\_Lambda should default ON [\#1101](https://github.com/kokkos/kokkos/issues/1101)
- Add multidimensional parallel for example and improve unit test [\#1064](https://github.com/kokkos/kokkos/issues/1064)
- Fix ROCm: Performance tests not building [\#1038](https://github.com/kokkos/kokkos/issues/1038)
- Make KOKKOS\_ALIGN\_SIZE a configure-time option [\#1004](https://github.com/kokkos/kokkos/issues/1004)
- Make alignment consistent [\#809](https://github.com/kokkos/kokkos/issues/809)
- Improve subview construction on Cuda backend [\#615](https://github.com/kokkos/kokkos/issues/615)
**Fixed bugs:**
- Kokkos::vector fixes for application [\#1134](https://github.com/kokkos/kokkos/issues/1134)
- DynamicView non-power of two value\_type [\#1177](https://github.com/kokkos/kokkos/issues/1177)
- Memory pool bug [\#1154](https://github.com/kokkos/kokkos/issues/1154)
- Cuda launch bounds performance regression bug [\#1140](https://github.com/kokkos/kokkos/issues/1140)
- Significant performance regression in LAMMPS after updating Kokkos [\#1139](https://github.com/kokkos/kokkos/issues/1139)
- CUDA compile error [\#1128](https://github.com/kokkos/kokkos/issues/1128)
- MDRangePolicy neg idx test failure in debug mode [\#1113](https://github.com/kokkos/kokkos/issues/1113)
- subview construction on Cuda backend [\#615](https://github.com/kokkos/kokkos/issues/615)
## [2.04.04](https://github.com/kokkos/kokkos/tree/2.04.04) (2017-09-11)
[Full Changelog](https://github.com/kokkos/kokkos/compare/2.04.00...2.04.04)

View File

@ -1,3 +1,5 @@
# Is this a build as part of Trilinos?
IF(COMMAND TRIBITS_PACKAGE_DECL)
SET(KOKKOS_HAS_TRILINOS ON CACHE BOOL "")
ELSE()
@ -6,13 +8,57 @@ ENDIF()
IF(NOT KOKKOS_HAS_TRILINOS)
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
project(Kokkos CXX)
INCLUDE(cmake/kokkos.cmake)
# Define Project Name if this is a standalone build
IF(NOT DEFINED ${PROJECT_NAME})
project(Kokkos CXX)
ENDIF()
# Basic initialization (Used in KOKKOS_SETTINGS)
set(KOKKOS_SRC_PATH ${Kokkos_SOURCE_DIR})
set(KOKKOS_PATH ${KOKKOS_SRC_PATH})
#------------ COMPILER AND FEATURE CHECKS ------------------------------------
include(${KOKKOS_SRC_PATH}/cmake/kokkos_functions.cmake)
set_kokkos_cxx_compiler()
set_kokkos_cxx_standard()
#------------ GET OPTIONS AND KOKKOS_SETTINGS --------------------------------
# Add Kokkos' modules to CMake's module path.
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Kokkos_SOURCE_DIR}/cmake/Modules/")
set(KOKKOS_CMAKE_VERBOSE True)
include(${KOKKOS_SRC_PATH}/cmake/kokkos_options.cmake)
include(${KOKKOS_SRC_PATH}/cmake/kokkos_settings.cmake)
#------------ GENERATE HEADER AND SOURCE FILES -------------------------------
execute_process(
COMMAND ${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings
WORKING_DIRECTORY "${Kokkos_BINARY_DIR}"
OUTPUT_FILE ${Kokkos_BINARY_DIR}/core_src_make.out
RESULT_VARIABLE res
)
include(${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake)
set_kokkos_srcs(KOKKOS_SRC ${KOKKOS_SRC})
#------------ NOW BUILD ------------------------------------------------------
include(${KOKKOS_SRC_PATH}/cmake/kokkos_build.cmake)
#------------ Add in Fake Tribits Handling to allow unit test builds- --------
include(${KOKKOS_SRC_PATH}/cmake/tribits.cmake)
TRIBITS_PACKAGE_DECL(Kokkos)
ADD_SUBDIRECTORY(core)
ADD_SUBDIRECTORY(containers)
ADD_SUBDIRECTORY(algorithms)
ELSE()
#------------------------------------------------------------------------------
#
# A) Forward delcare the package so that certain options are also defined for
# A) Forward declare the package so that certain options are also defined for
# subpackages
#
@ -21,178 +67,28 @@ TRIBITS_PACKAGE_DECL(Kokkos) # ENABLE_SHADOWING_WARNINGS)
#------------------------------------------------------------------------------
#
# B) Define the common options for Kokkos first so they can be used by
# subpackages as well.
# B) Install Kokkos' build files
#
# If using the Makefile-generated files, then need to set things up.
# Here, assume that TriBITS has been run from ProjectCompilerPostConfig.cmake
# and already generated KokkosCore_config.h and kokkos_generated_settings.cmake
# in the previously define Kokkos_GEN_DIR
# We need to copy them over to the correct place and source the cmake file
# mfh 01 Aug 2016: See Issue #61:
#
# https://github.com/kokkos/kokkos/issues/61
#
# Don't use TRIBITS_ADD_DEBUG_OPTION() here, because that defines
# HAVE_KOKKOS_DEBUG. We define KOKKOS_HAVE_DEBUG here instead,
# for compatibility with Kokkos' Makefile build system.
if(NOT KOKKOS_LEGACY_TRIBITS)
set(Kokkos_GEN_DIR ${CMAKE_BINARY_DIR})
file(COPY "${Kokkos_GEN_DIR}/KokkosCore_config.h"
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" USE_SOURCE_PERMISSIONS)
install(FILES "${Kokkos_GEN_DIR}/KokkosCore_config.h"
DESTINATION include)
file(COPY "${Kokkos_GEN_DIR}/kokkos_generated_settings.cmake"
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" USE_SOURCE_PERMISSIONS)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_DEBUG
KOKKOS_HAVE_DEBUG
"Enable run-time debug checks. These checks may be expensive, so they are disabled by default in a release build."
${${PROJECT_NAME}_ENABLE_DEBUG}
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_SIERRA_BUILD
KOKKOS_FOR_SIERRA
"Configure Kokkos for building within the Sierra build system."
OFF
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Cuda
KOKKOS_HAVE_CUDA
"Enable CUDA support in Kokkos."
"${TPL_ENABLE_CUDA}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Cuda_UVM
KOKKOS_USE_CUDA_UVM
"Enable CUDA Unified Virtual Memory as the default in Kokkos."
OFF
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Cuda_RDC
KOKKOS_HAVE_CUDA_RDC
"Enable CUDA Relocatable Device Code support in Kokkos."
OFF
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Cuda_Lambda
KOKKOS_HAVE_CUDA_LAMBDA
"Enable CUDA LAMBDA support in Kokkos."
OFF
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Pthread
KOKKOS_HAVE_PTHREAD
"Enable Pthread support in Kokkos."
OFF
)
ASSERT_DEFINED(TPL_ENABLE_Pthread)
IF(Kokkos_ENABLE_Pthread AND NOT TPL_ENABLE_Pthread)
MESSAGE(FATAL_ERROR "You set Kokkos_ENABLE_Pthread=ON, but Trilinos' support for Pthread(s) is not enabled (TPL_ENABLE_Pthread=OFF). This is not allowed. Please enable Pthreads in Trilinos before attempting to enable Kokkos' support for Pthreads.")
ENDIF()
IF(NOT TPL_ENABLE_Pthread)
ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=0)
ENDIF()
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_OpenMP
KOKKOS_HAVE_OPENMP
"Enable OpenMP support in Kokkos."
"${${PROJECT_NAME}_ENABLE_OpenMP}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_QTHREAD
KOKKOS_HAVE_QTHREADS
"Enable Qthreads support in Kokkos."
"${TPL_ENABLE_QTHREAD}"
)
# TODO: No longer an option in Kokkos. Needs to be removed.
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_CXX11
KOKKOS_HAVE_CXX11
"Enable C++11 support in Kokkos."
"${${PROJECT_NAME}_ENABLE_CXX11}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_HWLOC
KOKKOS_HAVE_HWLOC
"Enable HWLOC support in Kokkos."
"${TPL_ENABLE_HWLOC}"
)
# TODO: This is currently not used in Kokkos. Should it be removed?
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_MPI
KOKKOS_HAVE_MPI
"Enable MPI support in Kokkos."
"${TPL_ENABLE_MPI}"
)
# Set default value of Kokkos_ENABLE_Debug_Bounds_Check option
#
# CMake is case sensitive. The Kokkos_ENABLE_Debug_Bounds_Check
# option (defined below) is annoyingly not all caps, but we need to
# keep it that way for backwards compatibility. If users forget and
# try using an all-caps variable, then make it count by using the
# all-caps version as the default value of the original, not-all-caps
# option. Otherwise, the default value of this option comes from
# Kokkos_ENABLE_DEBUG (see Issue #367).
ASSERT_DEFINED(${PACKAGE_NAME}_ENABLE_DEBUG)
IF(DEFINED Kokkos_ENABLE_DEBUG_BOUNDS_CHECK)
IF(Kokkos_ENABLE_DEBUG_BOUNDS_CHECK)
SET(Kokkos_ENABLE_Debug_Bounds_Check_DEFAULT ON)
ELSE()
SET(Kokkos_ENABLE_Debug_Bounds_Check_DEFAULT "${${PACKAGE_NAME}_ENABLE_DEBUG}")
ENDIF()
ELSE()
SET(Kokkos_ENABLE_Debug_Bounds_Check_DEFAULT "${${PACKAGE_NAME}_ENABLE_DEBUG}")
ENDIF()
ASSERT_DEFINED(Kokkos_ENABLE_Debug_Bounds_Check_DEFAULT)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Debug_Bounds_Check
KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK
"Enable Kokkos::View run-time bounds checking."
"${Kokkos_ENABLE_Debug_Bounds_Check_DEFAULT}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Debug_DualView_Modify_Check
KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK
"Enable abort when Kokkos::DualView modified on host and device without sync."
"${Kokkos_ENABLE_DEBUG}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Profiling
KOKKOS_ENABLE_PROFILING
"Enable KokkosP profiling support for kernel data collections."
"${TPL_ENABLE_DLlib}"
)
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Profiling_Load_Print
KOKKOS_ENABLE_PROFILING_LOAD_PRINT
"Print to standard output which profiling library was loaded."
OFF
)
# placeholder for future device...
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_ENABLE_Winthread
KOKKOS_HAVE_WINTHREAD
"Enable Winthread support in Kokkos."
"${TPL_ENABLE_Winthread}"
)
# TODO: No longer an option in Kokkos. Needs to be removed.
# use new/old View
TRIBITS_ADD_OPTION_AND_DEFINE(
Kokkos_USING_DEPRECATED_VIEW
KOKKOS_USING_DEPRECATED_VIEW
"Choose whether to use the old, deprecated Kokkos::View"
OFF
)
include(${CMAKE_CURRENT_BINARY_DIR}/kokkos_generated_settings.cmake)
# Sources come from makefile-generated kokkos_generated_settings.cmake file
# Enable using the individual sources if needed
set_kokkos_srcs(KOKKOS_SRC ${KOKKOS_SRC})
endif ()
#------------------------------------------------------------------------------
@ -226,10 +122,6 @@ TRIBITS_PACKAGE_DEF()
TRIBITS_EXCLUDE_AUTOTOOLS_FILES()
TRIBITS_EXCLUDE_FILES(
classic/doc
classic/LinAlg/doc/CrsRefactorNotesMay2012
)
TRIBITS_PACKAGE_POSTPROCESS()
ENDIF()

View File

@ -28,33 +28,39 @@ KOKKOS_OPTIONS ?= ""
# Options: force_uvm,use_ldg,rdc,enable_lambda
KOKKOS_CUDA_OPTIONS ?= "enable_lambda"
# Return a 1 if a string contains a substring and 0 if not
# Note the search string should be without '"'
# Example: $(call kokkos_has_string,"hwloc,librt",hwloc)
# Will return a 1
kokkos_has_string=$(if $(findstring $2,$1),1,0)
# Check for general settings.
KOKKOS_INTERNAL_ENABLE_DEBUG := $(strip $(shell echo $(KOKKOS_DEBUG) | grep "yes" | wc -l))
KOKKOS_INTERNAL_ENABLE_CXX11 := $(strip $(shell echo $(KOKKOS_CXX_STANDARD) | grep "c++11" | wc -l))
KOKKOS_INTERNAL_ENABLE_CXX1Z := $(strip $(shell echo $(KOKKOS_CXX_STANDARD) | grep "c++1z" | wc -l))
KOKKOS_INTERNAL_ENABLE_DEBUG := $(call kokkos_has_string,$(KOKKOS_DEBUG),yes)
KOKKOS_INTERNAL_ENABLE_CXX11 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++11)
KOKKOS_INTERNAL_ENABLE_CXX1Z := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++1z)
# Check for external libraries.
KOKKOS_INTERNAL_USE_HWLOC := $(strip $(shell echo $(KOKKOS_USE_TPLS) | grep "hwloc" | wc -l))
KOKKOS_INTERNAL_USE_LIBRT := $(strip $(shell echo $(KOKKOS_USE_TPLS) | grep "librt" | wc -l))
KOKKOS_INTERNAL_USE_MEMKIND := $(strip $(shell echo $(KOKKOS_USE_TPLS) | grep "experimental_memkind" | wc -l))
KOKKOS_INTERNAL_USE_HWLOC := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),hwloc)
KOKKOS_INTERNAL_USE_LIBRT := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),librt)
KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),experimental_memkind)
# Check for advanced settings.
KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(strip $(shell echo $(KOKKOS_OPTIONS) | grep "compiler_warnings" | wc -l))
KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION := $(strip $(shell echo $(KOKKOS_OPTIONS) | grep "aggressive_vectorization" | wc -l))
KOKKOS_INTERNAL_DISABLE_PROFILING := $(strip $(shell echo $(KOKKOS_OPTIONS) | grep "disable_profiling" | wc -l))
KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(strip $(shell echo $(KOKKOS_OPTIONS) | grep "disable_dualview_modify_check" | wc -l))
KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(strip $(shell echo $(KOKKOS_OPTIONS) | grep "enable_profile_load_print" | wc -l))
KOKKOS_INTERNAL_CUDA_USE_LDG := $(strip $(shell echo $(KOKKOS_CUDA_OPTIONS) | grep "use_ldg" | wc -l))
KOKKOS_INTERNAL_CUDA_USE_UVM := $(strip $(shell echo $(KOKKOS_CUDA_OPTIONS) | grep "force_uvm" | wc -l))
KOKKOS_INTERNAL_CUDA_USE_RELOC := $(strip $(shell echo $(KOKKOS_CUDA_OPTIONS) | grep "rdc" | wc -l))
KOKKOS_INTERNAL_CUDA_USE_LAMBDA := $(strip $(shell echo $(KOKKOS_CUDA_OPTIONS) | grep "enable_lambda" | wc -l))
KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings)
KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION := $(call kokkos_has_string,$(KOKKOS_OPTIONS),aggressive_vectorization)
KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_profiling)
KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_dualview_modify_check)
KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_profile_load_print)
KOKKOS_INTERNAL_CUDA_USE_LDG := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),use_ldg)
KOKKOS_INTERNAL_CUDA_USE_UVM := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),force_uvm)
KOKKOS_INTERNAL_CUDA_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),rdc)
KOKKOS_INTERNAL_CUDA_USE_LAMBDA := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_lambda)
# Check for Kokkos Host Execution Spaces one of which must be on.
KOKKOS_INTERNAL_USE_OPENMP := $(strip $(shell echo $(subst OpenMPTarget,,$(KOKKOS_DEVICES)) | grep OpenMP | wc -l))
KOKKOS_INTERNAL_USE_PTHREADS := $(strip $(shell echo $(KOKKOS_DEVICES) | grep Pthread | wc -l))
KOKKOS_INTERNAL_USE_QTHREADS := $(strip $(shell echo $(KOKKOS_DEVICES) | grep Qthreads | wc -l))
KOKKOS_INTERNAL_USE_SERIAL := $(strip $(shell echo $(KOKKOS_DEVICES) | grep Serial | wc -l))
KOKKOS_INTERNAL_USE_OPENMP := $(call kokkos_has_string,$(subst OpenMPTarget,,$(KOKKOS_DEVICES)),OpenMP)
KOKKOS_INTERNAL_USE_PTHREADS := $(call kokkos_has_string,$(KOKKOS_DEVICES),Pthread)
KOKKOS_INTERNAL_USE_QTHREADS := $(call kokkos_has_string,$(KOKKOS_DEVICES),Qthreads)
KOKKOS_INTERNAL_USE_SERIAL := $(call kokkos_has_string,$(KOKKOS_DEVICES),Serial)
ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 0)
ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 0)
@ -65,9 +71,9 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 0)
endif
# Check for other Execution Spaces.
KOKKOS_INTERNAL_USE_CUDA := $(strip $(shell echo $(KOKKOS_DEVICES) | grep Cuda | wc -l))
KOKKOS_INTERNAL_USE_ROCM := $(strip $(shell echo $(KOKKOS_DEVICES) | grep ROCm | wc -l))
KOKKOS_INTERNAL_USE_OPENMPTARGET := $(strip $(shell echo $(KOKKOS_DEVICES) | grep OpenMPTarget | wc -l))
KOKKOS_INTERNAL_USE_CUDA := $(call kokkos_has_string,$(KOKKOS_DEVICES),Cuda)
KOKKOS_INTERNAL_USE_ROCM := $(call kokkos_has_string,$(KOKKOS_DEVICES),ROCm)
KOKKOS_INTERNAL_USE_OPENMPTARGET := $(call kokkos_has_string,$(KOKKOS_DEVICES),OpenMPTarget)
ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
KOKKOS_INTERNAL_NVCC_PATH := $(shell which nvcc)
@ -77,25 +83,20 @@ endif
# Check OS.
KOKKOS_OS := $(strip $(shell uname -s))
KOKKOS_INTERNAL_OS_CYGWIN := $(strip $(shell uname -s | grep CYGWIN | wc -l))
KOKKOS_INTERNAL_OS_LINUX := $(strip $(shell uname -s | grep Linux | wc -l))
KOKKOS_INTERNAL_OS_DARWIN := $(strip $(shell uname -s | grep Darwin | wc -l))
KOKKOS_INTERNAL_OS_CYGWIN := $(call kokkos_has_string,$(KOKKOS_OS),CYGWIN)
KOKKOS_INTERNAL_OS_LINUX := $(call kokkos_has_string,$(KOKKOS_OS),Linux)
KOKKOS_INTERNAL_OS_DARWIN := $(call kokkos_has_string,$(KOKKOS_OS),Darwin)
# Check compiler.
KOKKOS_INTERNAL_COMPILER_INTEL := $(strip $(shell $(CXX) --version 2>&1 | grep "Intel Corporation" | wc -l))
KOKKOS_INTERNAL_COMPILER_PGI := $(strip $(shell $(CXX) --version 2>&1 | grep PGI | wc -l))
KOKKOS_CXX_VERSION := $(strip $(shell $(CXX) --version 2>&1))
KOKKOS_INTERNAL_COMPILER_INTEL := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),Intel Corporation)
KOKKOS_INTERNAL_COMPILER_PGI := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),PGI)
KOKKOS_INTERNAL_COMPILER_XL := $(strip $(shell $(CXX) -qversion 2>&1 | grep XL | wc -l))
KOKKOS_INTERNAL_COMPILER_CRAY := $(strip $(shell $(CXX) -craype-verbose 2>&1 | grep "CC-" | wc -l))
KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell $(CXX) --version 2>&1 | grep nvcc | wc -l))
ifneq ($(OMPI_CXX),)
KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell $(OMPI_CXX) --version 2>&1 | grep nvcc | wc -l))
endif
ifneq ($(MPICH_CXX),)
KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell $(MPICH_CXX) --version 2>&1 | grep nvcc | wc -l))
endif
KOKKOS_INTERNAL_COMPILER_CLANG := $(strip $(shell $(CXX) --version 2>&1 | grep clang | wc -l))
KOKKOS_INTERNAL_COMPILER_APPLE_CLANG := $(strip $(shell $(CXX) --version 2>&1 | grep "apple-darwin" | wc -l))
KOKKOS_INTERNAL_COMPILER_HCC := $(strip $(shell $(CXX) --version 2>&1 | grep HCC | wc -l))
KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l))
KOKKOS_INTERNAL_COMPILER_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),clang)
KOKKOS_INTERNAL_COMPILER_APPLE_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),apple-darwin)
KOKKOS_INTERNAL_COMPILER_HCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),HCC)
ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 2)
KOKKOS_INTERNAL_COMPILER_CLANG = 1
@ -209,47 +210,48 @@ endif
# Check for Kokkos Architecture settings.
# Intel based.
KOKKOS_INTERNAL_USE_ARCH_KNC := $(strip $(shell echo $(KOKKOS_ARCH) | grep KNC | wc -l))
KOKKOS_INTERNAL_USE_ARCH_WSM := $(strip $(shell echo $(KOKKOS_ARCH) | grep WSM | wc -l))
KOKKOS_INTERNAL_USE_ARCH_SNB := $(strip $(shell echo $(KOKKOS_ARCH) | grep SNB | wc -l))
KOKKOS_INTERNAL_USE_ARCH_HSW := $(strip $(shell echo $(KOKKOS_ARCH) | grep HSW | wc -l))
KOKKOS_INTERNAL_USE_ARCH_BDW := $(strip $(shell echo $(KOKKOS_ARCH) | grep BDW | wc -l))
KOKKOS_INTERNAL_USE_ARCH_SKX := $(strip $(shell echo $(KOKKOS_ARCH) | grep SKX | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KNL := $(strip $(shell echo $(KOKKOS_ARCH) | grep KNL | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KNC := $(call kokkos_has_string,$(KOKKOS_ARCH),KNC)
KOKKOS_INTERNAL_USE_ARCH_WSM := $(call kokkos_has_string,$(KOKKOS_ARCH),WSM)
KOKKOS_INTERNAL_USE_ARCH_SNB := $(call kokkos_has_string,$(KOKKOS_ARCH),SNB)
KOKKOS_INTERNAL_USE_ARCH_HSW := $(call kokkos_has_string,$(KOKKOS_ARCH),HSW)
KOKKOS_INTERNAL_USE_ARCH_BDW := $(call kokkos_has_string,$(KOKKOS_ARCH),BDW)
KOKKOS_INTERNAL_USE_ARCH_SKX := $(call kokkos_has_string,$(KOKKOS_ARCH),SKX)
KOKKOS_INTERNAL_USE_ARCH_KNL := $(call kokkos_has_string,$(KOKKOS_ARCH),KNL)
# NVIDIA based.
NVCC_WRAPPER := $(KOKKOS_PATH)/bin/nvcc_wrapper
KOKKOS_INTERNAL_USE_ARCH_KEPLER30 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kepler30 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KEPLER32 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kepler32 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KEPLER35 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kepler35 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KEPLER37 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kepler37 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_MAXWELL50 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Maxwell50 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_MAXWELL52 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Maxwell52 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_MAXWELL53 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Maxwell53 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_PASCAL61 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Pascal61 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_PASCAL60 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Pascal60 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53) | bc))
KOKKOS_INTERNAL_USE_ARCH_KEPLER30 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler30)
KOKKOS_INTERNAL_USE_ARCH_KEPLER32 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler32)
KOKKOS_INTERNAL_USE_ARCH_KEPLER35 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler35)
KOKKOS_INTERNAL_USE_ARCH_KEPLER37 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler37)
KOKKOS_INTERNAL_USE_ARCH_MAXWELL50 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell50)
KOKKOS_INTERNAL_USE_ARCH_MAXWELL52 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell52)
KOKKOS_INTERNAL_USE_ARCH_MAXWELL53 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell53)
KOKKOS_INTERNAL_USE_ARCH_PASCAL61 := $(call kokkos_has_string,$(KOKKOS_ARCH),Pascal61)
KOKKOS_INTERNAL_USE_ARCH_PASCAL60 := $(call kokkos_has_string,$(KOKKOS_ARCH),Pascal60)
KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53))
#SEK: This seems like a bug to me
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0)
KOKKOS_INTERNAL_USE_ARCH_MAXWELL50 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Maxwell | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KEPLER35 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kepler | wc -l))
KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53) | bc))
KOKKOS_INTERNAL_USE_ARCH_MAXWELL50 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell)
KOKKOS_INTERNAL_USE_ARCH_KEPLER35 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler)
KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \
+ $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \
+ $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \
+ $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53))
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 1)
@ -262,43 +264,43 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 1)
endif
endif
# ARM based.
KOKKOS_INTERNAL_USE_ARCH_ARMV80 := $(strip $(shell echo $(KOKKOS_ARCH) | grep ARMv80 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_ARMV81 := $(strip $(shell echo $(KOKKOS_ARCH) | grep ARMv81 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX := $(strip $(shell echo $(KOKKOS_ARCH) | grep ARMv8-ThunderX | wc -l))
KOKKOS_INTERNAL_USE_ARCH_ARMV80 := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv80)
KOKKOS_INTERNAL_USE_ARCH_ARMV81 := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv81)
KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv8-ThunderX)
KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX) | bc))
# IBM based.
KOKKOS_INTERNAL_USE_ARCH_BGQ := $(strip $(shell echo $(KOKKOS_ARCH) | grep BGQ | wc -l))
KOKKOS_INTERNAL_USE_ARCH_POWER7 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Power7 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_POWER8 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Power8 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_POWER9 := $(strip $(shell echo $(KOKKOS_ARCH) | grep Power9 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_BGQ := $(call kokkos_has_string,$(KOKKOS_ARCH),BGQ)
KOKKOS_INTERNAL_USE_ARCH_POWER7 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power7)
KOKKOS_INTERNAL_USE_ARCH_POWER8 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power8)
KOKKOS_INTERNAL_USE_ARCH_POWER9 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power9)
KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_BGQ)+$(KOKKOS_INTERNAL_USE_ARCH_POWER7)+$(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc))
# AMD based.
KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(strip $(shell echo $(KOKKOS_ARCH) | grep AMDAVX | wc -l))
KOKKOS_INTERNAL_USE_ARCH_RYZEN := $(strip $(shell echo $(KOKKOS_ARCH) | grep Ryzen | wc -l))
KOKKOS_INTERNAL_USE_ARCH_EPYC := $(strip $(shell echo $(KOKKOS_ARCH) | grep Epyc | wc -l))
KOKKOS_INTERNAL_USE_ARCH_KAVERI := $(strip $(shell echo $(KOKKOS_ARCH) | grep Kaveri | wc -l))
KOKKOS_INTERNAL_USE_ARCH_CARRIZO := $(strip $(shell echo $(KOKKOS_ARCH) | grep Carrizo | wc -l))
KOKKOS_INTERNAL_USE_ARCH_FIJI := $(strip $(shell echo $(KOKKOS_ARCH) | grep Fiji | wc -l))
KOKKOS_INTERNAL_USE_ARCH_VEGA := $(strip $(shell echo $(KOKKOS_ARCH) | grep Vega | wc -l))
KOKKOS_INTERNAL_USE_ARCH_GFX901 := $(strip $(shell echo $(KOKKOS_ARCH) | grep gfx901 | wc -l))
KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(call kokkos_has_string,$(KOKKOS_ARCH),AMDAVX)
KOKKOS_INTERNAL_USE_ARCH_RYZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Ryzen)
KOKKOS_INTERNAL_USE_ARCH_EPYC := $(call kokkos_has_string,$(KOKKOS_ARCH),Epyc)
KOKKOS_INTERNAL_USE_ARCH_KAVERI := $(call kokkos_has_string,$(KOKKOS_ARCH),Kaveri)
KOKKOS_INTERNAL_USE_ARCH_CARRIZO := $(call kokkos_has_string,$(KOKKOS_ARCH),Carrizo)
KOKKOS_INTERNAL_USE_ARCH_FIJI := $(call kokkos_has_string,$(KOKKOS_ARCH),Fiji)
KOKKOS_INTERNAL_USE_ARCH_VEGA := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega)
KOKKOS_INTERNAL_USE_ARCH_GFX901 := $(call kokkos_has_string,$(KOKKOS_ARCH),gfx901)
# Any AVX?
KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_WSM) | bc ))
KOKKOS_INTERNAL_USE_ARCH_AVX := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_SNB)+$(KOKKOS_INTERNAL_USE_ARCH_AMDAVX) | bc ))
KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_HSW)+$(KOKKOS_INTERNAL_USE_ARCH_BDW) | bc ))
KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_KNL) | bc ))
KOKKOS_INTERNAL_USE_ARCH_AVX512XEON := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_SKX) | bc ))
KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM))
KOKKOS_INTERNAL_USE_ARCH_AVX := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_AMDAVX))
KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW))
KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNL))
KOKKOS_INTERNAL_USE_ARCH_AVX512XEON := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SKX))
# Decide what ISA level we are able to support.
KOKKOS_INTERNAL_USE_ISA_X86_64 := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_WSM)+$(KOKKOS_INTERNAL_USE_ARCH_SNB)+$(KOKKOS_INTERNAL_USE_ARCH_HSW)+$(KOKKOS_INTERNAL_USE_ARCH_BDW)+$(KOKKOS_INTERNAL_USE_ARCH_KNL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX) | bc ))
KOKKOS_INTERNAL_USE_ISA_KNC := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_KNC) | bc ))
KOKKOS_INTERNAL_USE_ISA_POWERPCLE := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc ))
KOKKOS_INTERNAL_USE_ISA_POWERPCBE := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_POWER7) | bc ))
KOKKOS_INTERNAL_USE_ISA_X86_64 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM) + $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_KNL) + $(KOKKOS_INTERNAL_USE_ARCH_SKX))
KOKKOS_INTERNAL_USE_ISA_KNC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNC))
KOKKOS_INTERNAL_USE_ISA_POWERPCLE := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_POWER8) + $(KOKKOS_INTERNAL_USE_ARCH_POWER9))
KOKKOS_INTERNAL_USE_ISA_POWERPCBE := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_POWER7))
# Decide whether we can support transactional memory
KOKKOS_INTERNAL_USE_TM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_BDW)+$(KOKKOS_INTERNAL_USE_ARCH_SKX) | bc ))
KOKKOS_INTERNAL_USE_TM := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_SKX))
# Incompatible flags?
KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_SSE42)+$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1" | bc ))
@ -320,94 +322,100 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1)
KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_COMPILER_WARNINGS)
endif
KOKKOS_LIBS = -lkokkos -ldl
KOKKOS_LIBS = -ldl
KOKKOS_LDFLAGS = -L$(shell pwd)
KOKKOS_SRC =
KOKKOS_HEADERS =
# Generating the KokkosCore_config.h file.
KOKKOS_INTERNAL_CONFIG_TMP=KokkosCore_config.tmp
KOKKOS_CONFIG_HEADER=KokkosCore_config.h
# Functions for generating config header file
kokkos_append_header = $(shell echo $1 >> $(KOKKOS_INTERNAL_CONFIG_TMP))
# Do not append first line
tmp := $(shell echo "/* ---------------------------------------------" > KokkosCore_config.tmp)
tmp := $(shell echo "Makefile constructed configuration:" >> KokkosCore_config.tmp)
tmp := $(shell date >> KokkosCore_config.tmp)
tmp := $(shell echo "----------------------------------------------*/" >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,"Makefile constructed configuration:")
tmp := $(call kokkos_append_header,"$(shell date)")
tmp := $(call kokkos_append_header,"----------------------------------------------*/")
tmp := $(shell echo '\#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)' >> KokkosCore_config.tmp)
tmp := $(shell echo '\#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead."' >> KokkosCore_config.tmp)
tmp := $(shell echo '\#else' >> KokkosCore_config.tmp)
tmp := $(shell echo '\#define KOKKOS_CORE_CONFIG_H' >> KokkosCore_config.tmp)
tmp := $(shell echo '\#endif' >> KokkosCore_config.tmp)
tmp := $(shell echo "/* Execution Spaces */" >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,'\#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)')
tmp := $(call kokkos_append_header,'\#error "Do not include $(KOKKOS_CONFIG_HEADER) directly; include Kokkos_Macros.hpp instead."')
tmp := $(call kokkos_append_header,'\#else')
tmp := $(call kokkos_append_header,'\#define KOKKOS_CORE_CONFIG_H')
tmp := $(call kokkos_append_header,'\#endif')
tmp := $(call kokkos_append_header,"/* Execution Spaces */")
ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
tmp := $(shell echo "\#define KOKKOS_HAVE_CUDA 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CUDA")
endif
ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
tmp := $(shell echo '\#define KOKKOS_ENABLE_ROCM 1' >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_ROCM')
endif
ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1)
tmp := $(shell echo '\#define KOKKOS_ENABLE_OPENMPTARGET 1' >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMPTARGET')
endif
ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1)
tmp := $(shell echo '\#define KOKKOS_HAVE_OPENMP 1' >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,'\#define KOKKOS_HAVE_OPENMP')
endif
ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1)
tmp := $(shell echo "\#define KOKKOS_HAVE_PTHREAD 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_PTHREAD")
endif
ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1)
tmp := $(shell echo "\#define KOKKOS_HAVE_QTHREADS 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_QTHREADS")
endif
ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
tmp := $(shell echo "\#define KOKKOS_HAVE_SERIAL 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_SERIAL")
endif
ifeq ($(KOKKOS_INTERNAL_USE_TM), 1)
tmp := $(shell echo "\#ifndef __CUDA_ARCH__" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ENABLE_TM" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#endif" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_TM")
tmp := $(call kokkos_append_header,"\#endif")
endif
ifeq ($(KOKKOS_INTERNAL_USE_ISA_X86_64), 1)
tmp := $(shell echo "\#ifndef __CUDA_ARCH__" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_USE_ISA_X86_64" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#endif" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_X86_64")
tmp := $(call kokkos_append_header,"\#endif")
endif
ifeq ($(KOKKOS_INTERNAL_USE_ISA_KNC), 1)
tmp := $(shell echo "\#ifndef __CUDA_ARCH__" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_USE_ISA_KNC" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#endif" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_KNC")
tmp := $(call kokkos_append_header,"\#endif")
endif
ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCLE), 1)
tmp := $(shell echo "\#ifndef __CUDA_ARCH__" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_USE_ISA_POWERPCLE" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#endif" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCLE")
tmp := $(call kokkos_append_header,"\#endif")
endif
ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCBE), 1)
tmp := $(shell echo "\#ifndef __CUDA_ARCH__" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_USE_ISA_POWERPCBE" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#endif" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCBE")
tmp := $(call kokkos_append_header,"\#endif")
endif
tmp := $(shell echo "/* General Settings */" >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,"/* General Settings */")
ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1)
KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG)
tmp := $(shell echo "\#define KOKKOS_HAVE_CXX11 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11")
endif
ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1)
KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG)
tmp := $(shell echo "\#define KOKKOS_HAVE_CXX11 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_HAVE_CXX1Z 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11")
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX1Z")
endif
ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1)
@ -417,26 +425,26 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1)
KOKKOS_CXXFLAGS += -g
KOKKOS_LDFLAGS += -g -ldl
tmp := $(shell echo "\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_HAVE_DEBUG 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK")
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_DEBUG")
ifeq ($(KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK), 0)
tmp := $(shell echo "\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK")
endif
endif
ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1)
tmp := $(shell echo "\#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT")
endif
ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1)
KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include
KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib
KOKKOS_LIBS += -lhwloc
tmp := $(shell echo "\#define KOKKOS_HAVE_HWLOC 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HWLOC")
endif
ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1)
tmp := $(shell echo "\#define KOKKOS_USE_LIBRT 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_LIBRT")
KOKKOS_LIBS += -lrt
endif
@ -444,36 +452,36 @@ ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1)
KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include
KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib
KOKKOS_LIBS += -lmemkind -lnuma
tmp := $(shell echo "\#define KOKKOS_HAVE_HBWSPACE 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HBWSPACE")
endif
ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0)
tmp := $(shell echo "\#define KOKKOS_ENABLE_PROFILING" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING")
endif
tmp := $(shell echo "/* Optimization Settings */" >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,"/* Optimization Settings */")
ifeq ($(KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION), 1)
tmp := $(shell echo "\#define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION")
endif
tmp := $(shell echo "/* Cuda Settings */" >> KokkosCore_config.tmp)
tmp := $(call kokkos_append_header,"/* Cuda Settings */")
ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LDG), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_LDG_INTRINSIC 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC")
else
ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_LDG_INTRINSIC 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC")
endif
endif
ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_UVM 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_UVM")
endif
ifeq ($(KOKKOS_INTERNAL_CUDA_USE_RELOC), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE")
KOKKOS_CXXFLAGS += --relocatable-device-code=true
KOKKOS_LDFLAGS += --relocatable-device-code=true
endif
@ -481,7 +489,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LAMBDA), 1)
ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1)
ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -gt 70; echo $$?),0)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_LAMBDA 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA")
KOKKOS_CXXFLAGS += -expt-extended-lambda
else
$(warning Warning: Cuda Lambda support was requested but NVCC version is too low. This requires NVCC for Cuda version 7.5 or higher. Disabling Lambda support now.)
@ -489,19 +497,19 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
endif
ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_USE_LAMBDA 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA")
endif
endif
ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
tmp := $(shell echo "\#define KOKKOS_CUDA_CLANG_WORKAROUND" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_CLANG_WORKAROUND")
endif
endif
# Add Architecture flags.
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ARMV80 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80")
ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
KOKKOS_CXXFLAGS +=
@ -518,7 +526,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ARMV81 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81")
ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
KOKKOS_CXXFLAGS +=
@ -535,8 +543,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ARMV80 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_ARMV8_THUNDERX 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX")
ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
KOKKOS_CXXFLAGS +=
@ -553,7 +561,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_SSE42 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_SSE42")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -xSSE4.2
@ -575,7 +583,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_AVX 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -mavx
@ -597,7 +605,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER7), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_POWER7 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER7")
ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
@ -609,7 +617,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER7), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER8), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_POWER8 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER8")
ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
@ -630,7 +638,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER8), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER9), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_POWER9 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER9")
ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
@ -651,7 +659,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER9), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_HSW), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_AVX2 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -xCORE-AVX2
@ -673,7 +681,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_HSW), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_BDW), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_AVX2 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -xCORE-AVX2
@ -695,7 +703,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_BDW), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_AVX512MIC 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512MIC")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -xMIC-AVX512
@ -716,7 +724,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_AVX512XEON 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512XEON")
ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
KOKKOS_CXXFLAGS += -xCORE-AVX512
@ -737,7 +745,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KNC), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_KNC 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KNC")
KOKKOS_CXXFLAGS += -mmic
KOKKOS_LDFLAGS += -mmic
endif
@ -753,48 +761,48 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER30), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER30 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER30")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_30
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER32), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER32 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER32")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_32
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER35), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER35 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER35")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_35
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER37), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_KEPLER37 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER37")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_37
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL50 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL50")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_50
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL52 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL52")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_52
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_MAXWELL53 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL53")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_53
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL60), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_PASCAL 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_PASCAL60 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL60")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_60
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL61), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_PASCAL 1" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_PASCAL61 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL61")
KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_61
endif
@ -811,28 +819,28 @@ endif
ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
# Lets start with adding architecture defines
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KAVERI), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ROCM 701" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_KAVERI 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 701")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KAVERI")
KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx701
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_CARRIZO), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ROCM 801" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_CARRIZO 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 801")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_CARRIZO")
KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx801
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_FIJI), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ROCM 803" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_FIJI 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 803")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_FIJI")
KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx803
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ROCM 900" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_VEGA 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 900")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA")
KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx900
endif
ifeq ($(KOKKOS_INTERNAL_USE_ARCH_GFX901), 1)
tmp := $(shell echo "\#define KOKKOS_ARCH_ROCM 901" >> KokkosCore_config.tmp )
tmp := $(shell echo "\#define KOKKOS_ARCH_GFX901 1" >> KokkosCore_config.tmp )
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 901")
tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_GFX901")
KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx901
endif
@ -952,6 +960,10 @@ ifeq ($(KOKKOS_INTERNAL_OS_CYGWIN), 1)
KOKKOS_CXXFLAGS += -U__STRICT_ANSI__
endif
# Set KokkosExtraLibs and add -lkokkos to link line
KOKKOS_EXTRA_LIBS := ${KOKKOS_LIBS}
KOKKOS_LIBS := -lkokkos ${KOKKOS_LIBS}
# Setting up dependencies.
KokkosCore_config.h:

View File

@ -22,8 +22,8 @@ Kokkos_HostThreadTeam.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokk
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp
Kokkos_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp
Kokkos_Rendezvous.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Rendezvous.cpp
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Rendezvous.cpp
Kokkos_HostBarrier.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp
Kokkos_Profiling_Interface.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling_Interface.cpp
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling_Interface.cpp
Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp

View File

@ -41,48 +41,44 @@ hcedwar(at)sandia.gov and crtrott(at)sandia.gov
============================================================================
Primary tested compilers on X86 are:
GCC 4.7.2
GCC 4.8.4
GCC 4.9.2
GCC 4.9.3
GCC 5.1.0
GCC 5.2.0
Intel 14.0.4
GCC 5.3.0
GCC 6.1.0
Intel 15.0.2
Intel 16.0.1
Intel 17.0.098
Intel 17.1.132
Intel 17.1.043
Intel 17.4.196
Intel 18.0.128
Clang 3.5.2
Clang 3.6.1
Clang 3.7.1
Clang 3.8.1
Clang 3.9.0
PGI 17.1
Clang 4.0.0
Clang 4.0.0 for CUDA (CUDA Toolkit 8.0.44)
PGI 17.10
NVCC 7.0 for CUDA (with gcc 4.8.4)
NVCC 7.5 for CUDA (with gcc 4.8.4)
NVCC 8.0.44 for CUDA (with gcc 5.3.0)
Primary tested compilers on Power 8 are:
GCC 5.4.0 (OpenMP,Serial)
IBM XL 13.1.3 (OpenMP, Serial) (There is a workaround in place to avoid a compiler bug)
IBM XL 13.1.5 (OpenMP, Serial) (There is a workaround in place to avoid a compiler bug)
NVCC 8.0.44 for CUDA (with gcc 5.4.0)
NVCC 9.0.103 for CUDA (with gcc 6.3.0)
Primary tested compilers on Intel KNL are:
GCC 6.2.0
Intel 16.2.181 (with gcc 4.7.2)
Intel 17.0.098 (with gcc 4.7.2)
Intel 17.1.132 (with gcc 4.9.3)
Intel 16.4.258 (with gcc 4.7.2)
Intel 17.2.174 (with gcc 4.9.3)
Intel 18.0.061 (beta) (with gcc 4.9.3)
Secondary tested compilers are:
CUDA 7.0 (with gcc 4.8.4)
CUDA 7.5 (with gcc 4.8.4)
CUDA 8.0 (with gcc 5.3.0 on X86 and gcc 5.4.0 on Power8)
CUDA/Clang 8.0 using Clang/Trunk compiler
Intel 18.0.128 (with gcc 4.9.3)
Other compilers working:
X86:
Cygwin 2.1.0 64bit with gcc 4.9.3
Limited testing of the following compilers on POWER7+ systems:
GCC 4.8.5 (on RHEL7.1 POWER7+)
Known non-working combinations:
Power8:
Pthreads backend
@ -96,8 +92,8 @@ GCC: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits
-Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized
Intel: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized
Clang: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized
NVCC: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized
Secondary compilers are passing without -Werror.
Other compilers are tested occasionally, in particular when pushing from develop to
master branch, without -Werror and only for a select set of backends.

View File

@ -2,7 +2,9 @@
TRIBITS_SUBPACKAGE(Algorithms)
ADD_SUBDIRECTORY(src)
IF(KOKKOS_HAS_TRILINOS)
ADD_SUBDIRECTORY(src)
ENDIF()
TRIBITS_ADD_TEST_DIRECTORIES(unit_tests)
#TRIBITS_ADD_TEST_DIRECTORIES(performance_tests)

View File

@ -3,6 +3,32 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src )
IF(NOT KOKKOS_HAS_TRILINOS)
IF(KOKKOS_SEPARATE_LIBS)
set(TEST_LINK_TARGETS kokkoscore)
ELSE()
set(TEST_LINK_TARGETS kokkos)
ENDIF()
ENDIF()
SET(GTEST_SOURCE_DIR ${${PARENT_PACKAGE_NAME}_SOURCE_DIR}/tpls/gtest)
INCLUDE_DIRECTORIES(${GTEST_SOURCE_DIR})
# mfh 03 Nov 2017: The gtest library used here must have a different
# name than that of the gtest library built in KokkosCore. We can't
# just refer to the library in KokkosCore's tests, because it's
# possible to build only (e.g.,) KokkosAlgorithms tests, without
# building KokkosCore tests.
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_HAS_PTHREAD=0")
TRIBITS_ADD_LIBRARY(
kokkosalgorithms_gtest
HEADERS ${GTEST_SOURCE_DIR}/gtest/gtest.h
SOURCES ${GTEST_SOURCE_DIR}/gtest/gtest-all.cc
TESTONLY
)
SET(SOURCES
UnitTestMain.cpp
TestCuda.cpp
@ -34,5 +60,5 @@ TRIBITS_ADD_EXECUTABLE_AND_TEST(
COMM serial mpi
NUM_MPI_PROCS 1
FAIL_REGULAR_EXPRESSION " FAILED "
TESTONLYLIBS kokkos_gtest
TESTONLYLIBS kokkosalgorithms_gtest ${TEST_LINK_TARGETS}
)

View File

@ -15,7 +15,8 @@ endif
CXXFLAGS = -O3
LINK ?= $(CXX)
LDFLAGS ?= -lpthread
LDFLAGS ?=
override LDFLAGS += -lpthread
include $(KOKKOS_PATH)/Makefile.kokkos

View File

@ -211,12 +211,15 @@ void test_dynamic_view_sort(unsigned int n )
const size_t upper_bound = 2 * n ;
const size_t total_alloc_size = n * sizeof(KeyType) * 1.2 ;
const size_t superblock_size = std::min(total_alloc_size, size_t(1000000));
typename KeyDynamicViewType::memory_pool
pool( memory_space()
, n * sizeof(KeyType) * 1.2
, 500 /* min block size in bytes */
, 30000 /* max block size in bytes */
, 1000000 /* min superblock size in bytes */
, superblock_size
);
KeyDynamicViewType keys("Keys",pool,upper_bound);
@ -271,8 +274,10 @@ void test_sort(unsigned int N)
{
test_1D_sort<ExecutionSpace,KeyType>(N*N*N, true);
test_1D_sort<ExecutionSpace,KeyType>(N*N*N, false);
#if !defined(KOKKOS_ENABLE_ROCM)
test_3D_sort<ExecutionSpace,KeyType>(N);
test_dynamic_view_sort<ExecutionSpace,KeyType>(N*N);
#endif
}
}

View File

@ -0,0 +1,44 @@
KOKKOS_PATH = ${HOME}/kokkos
KOKKOS_DEVICES = "OpenMP"
KOKKOS_ARCH = "SNB"
EXE_NAME = "test"
SRC = $(wildcard *.cpp)
default: build
echo "Start Build"
ifneq (,$(findstring Cuda,$(KOKKOS_DEVICES)))
CXX = ${KOKKOS_PATH}/config/nvcc_wrapper
EXE = ${EXE_NAME}.cuda
KOKKOS_CUDA_OPTIONS = "enable_lambda"
else
CXX = g++
EXE = ${EXE_NAME}.host
endif
CXXFLAGS = -O3
LINK = ${CXX}
LINKFLAGS = -O3
DEPFLAGS = -M
OBJ = $(SRC:.cpp=.o)
LIB =
include $(KOKKOS_PATH)/Makefile.kokkos
build: $(EXE)
$(EXE): $(OBJ) $(KOKKOS_LINK_DEPENDS)
$(LINK) $(KOKKOS_LDFLAGS) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(KOKKOS_LIBS) $(LIB) -o $(EXE)
clean: kokkos-clean
rm -f *.o *.cuda *.host
# Compilation rules
%.o:%.cpp $(KOKKOS_CPP_DEPENDS)
$(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) $(EXTRA_INC) -c $<

View File

@ -0,0 +1,124 @@
#include<Kokkos_Core.hpp>
#include<impl/Kokkos_Timer.hpp>
#include<Kokkos_Random.hpp>
template<class Scalar>
double test_atomic(int L, int N, int M,int K,int R,Kokkos::View<const int*> offsets) {
Kokkos::View<Scalar*> output("Output",N);
Kokkos::Impl::Timer timer;
for(int r = 0; r<R; r++)
Kokkos::parallel_for(L, KOKKOS_LAMBDA (const int&i) {
Scalar s = 2;
for(int m=0;m<M;m++) {
for(int k=0;k<K;k++)
s=s*s+s;
const int idx = (i+offsets(i,m))%N;
Kokkos::atomic_add(&output(idx),s);
}
});
Kokkos::fence();
double time = timer.seconds();
return time;
}
template<class Scalar>
double test_no_atomic(int L, int N, int M,int K,int R,Kokkos::View<const int*> offsets) {
Kokkos::View<Scalar*> output("Output",N);
Kokkos::Impl::Timer timer;
for(int r = 0; r<R; r++)
Kokkos::parallel_for(L, KOKKOS_LAMBDA (const int&i) {
Scalar s = 2;
for(int m=0;m<M;m++) {
for(int k=0;k<K;k++)
s=s*s+s;
const int idx = (i+offsets(i,m))%N;
output(idx) += s;
}
});
Kokkos::fence();
double time = timer.seconds();
return time;
}
int main(int argc, char* argv[]) {
Kokkos::initialize(argc,argv);
{
if(argc<8) {
printf("Arguments: L N M D K R T\n");
printf(" L: Number of iterations to run\n");
printf(" N: Length of array to do atomics into\n");
printf(" M: Number of atomics per iteration to do\n");
printf(" D: Distance from index i to do atomics into (randomly)\n");
printf(" K: Number of FMAD per atomic\n");
printf(" R: Number of repeats of the experiments\n");
printf(" T: Type of atomic\n");
printf(" 1 - int\n");
printf(" 2 - long\n");
printf(" 3 - float\n");
printf(" 4 - double\n");
printf(" 5 - complex<double>\n");
printf("Example Input GPU:\n");
printf(" Histogram : 1000000 1000 1 1000 1 10 1\n");
printf(" MD Force : 100000 100000 100 1000 20 10 4\n");
printf(" Matrix Assembly : 100000 1000000 50 1000 20 10 4\n");
Kokkos::finalize();
return 0;
}
int L = atoi(argv[1]);
int N = atoi(argv[2]);
int M = atoi(argv[3]);
int D = atoi(argv[4]);
int K = atoi(argv[5]);
int R = atoi(argv[6]);
int type = atoi(argv[7]);
Kokkos::View<int*> offsets("Offsets",L,M);
Kokkos::Random_XorShift64_Pool<> pool(12371);
Kokkos::fill_random(offsets,pool,D);
double time = 0;
if(type==1)
time = test_atomic<int>(L,N,M,K,R,offsets);
if(type==2)
time = test_atomic<long>(L,N,M,K,R,offsets);
if(type==3)
time = test_atomic<float>(L,N,M,K,R,offsets);
if(type==4)
time = test_atomic<double>(L,N,M,K,R,offsets);
if(type==5)
time = test_atomic<Kokkos::complex<double> >(L,N,M,K,R,offsets);
double time2 = 1;
if(type==1)
time2 = test_no_atomic<int>(L,N,M,K,R,offsets);
if(type==2)
time2 = test_no_atomic<long>(L,N,M,K,R,offsets);
if(type==3)
time2 = test_no_atomic<float>(L,N,M,K,R,offsets);
if(type==4)
time2 = test_no_atomic<double>(L,N,M,K,R,offsets);
if(type==5)
time2 = test_no_atomic<Kokkos::complex<double> >(L,N,M,K,R,offsets);
int size = 0;
if(type==1) size = sizeof(int);
if(type==2) size = sizeof(long);
if(type==3) size = sizeof(float);
if(type==4) size = sizeof(double);
if(type==5) size = sizeof(Kokkos::complex<double>);
printf("%i\n",size);
printf("Time: %s %i %i %i %i %i %i (t_atomic: %e t_nonatomic: %e ratio: %lf )( GUpdates/s: %lf GB/s: %lf )\n",
(type==1)?"int": (
(type==2)?"long": (
(type==3)?"float": (
(type==4)?"double":"complex"))),
L,N,M,D,K,R,time,time2,time/time2,
1.e-9*L*R*M/time, 1.0*L*R*M*2*size/time/1024/1024/1024);
}
Kokkos::finalize();
}

View File

@ -0,0 +1,84 @@
#!/bin/bash
# ---- Default Settings -----
# Paths
KOKKOS_PATH=${PWD}/kokkos
KOKKOS_KERNELS_PATH=${PWD}/kokkos-kernels
MINIMD_PATH=${PWD}/miniMD/kokkos
MINIFE_PATH=${PWD}/miniFE/kokkos
# Kokkos Configure Options
KOKKOS_DEVICES=OpenMP
KOKKOS_ARCH=SNB
# Compiler Options
CXX=mpicxx
OPT_FLAG="-O3"
while [[ $# > 0 ]]
do
key="$1"
case $key in
--kokkos-path*)
KOKKOS_PATH="${key#*=}"
;;
--kokkos-kernels-path*)
KOKKOS_KERNELS_PATH="${key#*=}"
;;
--minimd-path*)
MINIMD_PATH="${key#*=}"
;;
--minife-path*)
MINIFE_PATH="${key#*=}"
;;
--device-list*)
KOKKOS_DEVICES="${key#*=}"
;;
--arch*)
KOKKOS_ARCH="--arch=${key#*=}"
;;
--opt-flag*)
OPT_FLAG="${key#*=}"
;;
--compiler*)
CXX="${key#*=}"
;;
--with-cuda-options*)
KOKKOS_CUDA_OPTIONS="--with-cuda-options=${key#*=}"
;;
--help*)
PRINT_HELP=True
;;
*)
# args, just append
ARGS="$ARGS $1"
;;
esac
shift
done
mkdir build
# Build BytesAndFlops
mkdir build/bytes_and_flops
cd build/bytes_and_flops
make KOKKOS_ARCH=${KOKKOS_ARCH} KOKKOS_DEVICES=${KOKKOS_DEVICES} CXX=${CXX} KOKKOS_PATH=${KOKKOS_PATH}\
CXXFLAGS=${OPT_FLAG} -f ${KOKKOS_PATH}/benchmarks/bytes_and_flops/Makefile -j 16
cd ../..
mkdir build/miniMD
cd build/miniMD
make KOKKOS_ARCH=${KOKKOS_ARCH} KOKKOS_DEVICES=${KOKKOS_DEVICES} CXX=${CXX} KOKKOS_PATH=${KOKKOS_PATH} \
CXXFLAGS=${OPT_FLAG} -f ${MINIMD_PATH}/Makefile -j 16
cd ../../
mkdir build/miniFE
cd build/miniFE
make KOKKOS_ARCH=${KOKKOS_ARCH} KOKKOS_DEVICES=${KOKKOS_DEVICES} CXX=${CXX} KOKKOS_PATH=${KOKKOS_PATH} \
CXXFLAGS=${OPT_FLAG} -f ${MINIFE_PATH}/src/Makefile -j 16
cd ../../

View File

@ -0,0 +1,37 @@
#!/bin/bash
# Kokkos
if [ ! -d "kokkos" ]; then
git clone https://github.com/kokkos/kokkos
fi
cd kokkos
git checkout develop
git pull
cd ..
# KokkosKernels
if [ ! -d "kokkos-kernels" ]; then
git clone https://github.com/kokkos/kokkos-kernels
fi
cd kokkos-kernels
git pull
cd ..
# MiniMD
if [ ! -d "miniMD" ]; then
git clone https://github.com/mantevo/miniMD
fi
cd miniMD
git pull
cd ..
# MiniFE
if [ ! -d "miniFE" ]; then
git clone https://github.com/mantevo/miniFE
fi
cd miniFE
git pull
cd ..

View File

@ -0,0 +1,14 @@
#!/bin/bash
SCRIPT_PATH=$1
KOKKOS_DEVICES=$2
KOKKOS_ARCH=$3
COMPILER=$4
if [[ $# < 4 ]]; then
echo "Usage: ./run_benchmark.bash PATH_TO_SCRIPTS KOKKOS_DEVICES KOKKOS_ARCH COMPILER"
else
${SCRIPT_PATH}/checkout_repos.bash
${SCRIPT_PATH}/build_code.bash --arch=${KOKKOS_ARCH} --device-list=${KOKKOS_DEVICES} --compiler=${COMPILER}
${SCRIPT_PATH}/run_tests.bash
fi

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